OSDN Git Service

2010-01-03 Paolo Carlini <paolo.carlini@oracle.com>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 3 Jan 2010 14:50:09 +0000 (14:50 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 3 Jan 2010 14:50:09 +0000 (14:50 +0000)
* include/tr1_impl/hashtable (_Hashtable<>): Remove insert_return_type
typedef.
* include/profile/unordered_map (unordered_map<>::insert(const
value_type&), unordered_multimap<>::insert(const value_type&)): Adjust.
* include/profile/unordered_set (unordered_set<>::insert(const
value_type&), unordered_multimap<>::insert(const value_type&)):
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155587 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/profile/unordered_map
libstdc++-v3/include/profile/unordered_set
libstdc++-v3/include/tr1_impl/hashtable

index a4c525c..f768680 100644 (file)
@@ -1,5 +1,15 @@
 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
 
+       * include/tr1_impl/hashtable (_Hashtable<>): Remove insert_return_type
+       typedef.
+       * include/profile/unordered_map (unordered_map<>::insert(const
+       value_type&), unordered_multimap<>::insert(const value_type&)): Adjust.
+       * include/profile/unordered_set (unordered_set<>::insert(const
+       value_type&), unordered_multimap<>::insert(const value_type&)):
+       Likewise.
+
+2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
+
        * include/bits/stl_pair.h (pair<>::pair(_U1&&, const _T2&),
        pair<>::pair(const _T1&, _U2&&), pair<>::pair(_U1&&, _U2&&)):
        Use std::is_constructible instead of std::is_convertible.
index 2f563a6..b8adc44 100644 (file)
@@ -1,6 +1,6 @@
 // Profiling unordered_map/unordered_multimap implementation -*- C++ -*-
 
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -72,8 +72,6 @@ namespace __profile
       typedef typename _Base::reference       reference;
       typedef typename _Base::const_reference const_reference;
       typedef typename _Base::mapped_type      mapped_type;
-      typedef std::pair<typename _Base::iterator, bool> pair_type;
-      typedef typename _Base::insert_return_type insert_return_type;
 
       typedef typename _Base::iterator iterator;
       typedef typename _Base::const_iterator const_iterator;
@@ -148,7 +146,8 @@ namespace __profile
 
       ~unordered_map()
       {
-        __profcxx_hashtable_destruct(this, _Base::bucket_count(), _Base::size());
+        __profcxx_hashtable_destruct(this, _Base::bucket_count(),
+                                    _Base::size());
         _M_profile_destruct();
       }
 
@@ -162,7 +161,8 @@ namespace __profile
       void
       clear()
       {
-        __profcxx_hashtable_destruct(this, _Base::bucket_count(), _Base::size());
+        __profcxx_hashtable_destruct(this, _Base::bucket_count(),
+                                    _Base::size());
         _M_profile_destruct();
         _Base::clear();
       }
@@ -175,14 +175,15 @@ namespace __profile
         _M_profile_resize(__old_size, _Base::bucket_count()); 
       }
 
-       insert_return_type
+      std::pair<iterator, bool>
       insert(const value_type& __obj)
       {
         size_type __old_size =  _Base::bucket_count();
-        insert_return_type __res = _Base::insert(__obj);
+        std::pair<iterator, bool> __res = _Base::insert(__obj);
         _M_profile_resize(__old_size, _Base::bucket_count()); 
         return __res;
       }
+
       iterator
       insert(iterator __iter, const value_type& __v)
       { 
@@ -301,8 +302,6 @@ namespace __profile
       typedef typename _Base::difference_type difference_type;
       typedef typename _Base::reference       reference;
       typedef typename _Base::const_reference const_reference;
-      typedef std::pair<typename _Base::iterator, bool> pair_type;
-      typedef typename _Base::insert_return_type insert_return_type;
 
       typedef typename _Base::iterator iterator;
       typedef typename _Base::const_iterator const_iterator;
@@ -401,14 +400,15 @@ namespace __profile
         _M_profile_resize(__old_size, _Base::bucket_count());
       }
 
-      insert_return_type
+      iterator
       insert(const value_type& __obj)
       {
         size_type __old_size =  _Base::bucket_count();
-        insert_return_type __res = _Base::insert(__obj);
+        iterator __res = _Base::insert(__obj);
         _M_profile_resize(__old_size, _Base::bucket_count()); 
         return __res;
       }
+
       iterator
       insert(iterator __iter, const value_type& __v)
       { 
index 6c2dd77..b350da0 100644 (file)
@@ -1,6 +1,6 @@
 // Profiling unordered_set/unordered_multiset implementation -*- C++ -*-
 
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -71,7 +71,6 @@ namespace __profile
       typedef typename _Base::difference_type difference_type;
       typedef typename _Base::reference       reference;
       typedef typename _Base::const_reference const_reference;
-      typedef typename _Base::insert_return_type insert_return_type;
 
       typedef typename _Base::iterator iterator;
       typedef typename _Base::const_iterator const_iterator;
@@ -165,6 +164,7 @@ namespace __profile
         _M_profile_destruct();
         _Base::clear();
       }
+
       void
       insert(std::initializer_list<value_type> __l)
       { 
@@ -172,13 +172,16 @@ namespace __profile
         _Base::insert(__l); 
         _M_profile_resize(__old_size,  _Base::bucket_count()); 
       }
-      insert_return_type insert(const value_type& __obj)
+
+      std::pair<iterator, bool>
+      insert(const value_type& __obj)
       {
         size_type __old_size =  _Base::bucket_count();
-        insert_return_type __res = _Base::insert(__obj);
+        std::pair<iterator, bool> __res = _Base::insert(__obj);
         _M_profile_resize(__old_size,  _Base::bucket_count()); 
         return __res;
       }
+
       iterator
       insert(iterator __iter, const value_type& __v)
       { 
@@ -220,6 +223,7 @@ namespace __profile
         _Base::rehash(__n);
         _M_profile_resize(__old_size,  _Base::bucket_count()); 
       }
+
     private:
       _Base&
       _M_base()       { return *this; }
@@ -285,7 +289,6 @@ namespace __profile
       typedef typename _Base::difference_type difference_type;
       typedef typename _Base::reference       reference;
       typedef typename _Base::const_reference const_reference;
-      typedef typename _Base::insert_return_type insert_return_type;
 
       typedef typename _Base::iterator iterator;
       typedef typename _Base::const_iterator const_iterator;
@@ -375,6 +378,7 @@ namespace __profile
         _M_profile_destruct();
         _Base::clear();
       }
+
       void
       insert(std::initializer_list<value_type> __l)
       { 
@@ -382,13 +386,16 @@ namespace __profile
         _Base::insert(__l); 
         _M_profile_resize(__old_size,  _Base::bucket_count()); 
       }
-      insert_return_type insert(const value_type& __obj)
+
+      iterator
+      insert(const value_type& __obj)
       {
         size_type __old_size =  _Base::bucket_count();
-        insert_return_type __res = _Base::insert(__obj);
+        iterator __res = _Base::insert(__obj);
         _M_profile_resize(__old_size,  _Base::bucket_count()); 
         return __res;
       }
+
       iterator
       insert(iterator __iter, const value_type& __v)
       { 
@@ -430,6 +437,7 @@ namespace __profile
         _Base::rehash(__n);
         _M_profile_resize(__old_size,  _Base::bucket_count()); 
       }
+
     private:
       _Base&
       _M_base()       { return *this; }
index c477698..f9ff933 100644 (file)
@@ -1,6 +1,6 @@
 // Internal header for TR1 unordered_set and unordered_map -*- C++ -*-
 
-// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -409,9 +409,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
       _M_erase_node(_Node*, _Node**);
 
     public:                            
-      // Expose insert_return_type for profiling mode.
-      typedef _Insert_Return_Type insert_return_type;
-
       // Insert and erase
       _Insert_Return_Type
       insert(const value_type& __v)