list.cc: Use noexcept per the FDIS.
authorPaolo Carlini <paolo.carlini@oracle.com>
Thu, 26 May 2011 15:35:02 +0000 (15:35 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 26 May 2011 15:35:02 +0000 (15:35 +0000)
2011-05-26  Paolo Carlini  <paolo.carlini@oracle.com>

* src/list.cc: Use noexcept per the FDIS.
* src/compatibility-list-2.cc: Likewise.
* include/debug/set.h: Likewise.
* include/debug/unordered_map: Likewise.
* include/debug/multiset.h: Likewise.
* include/debug/forward_list: Likewise.
* include/debug/unordered_set: Likewise.
* include/debug/vector: Likewise.
* include/debug/map.h: Likewise.
* include/debug/deque: Likewise.
* include/debug/list: Likewise.
* include/debug/multimap.h: Likewise.
* include/profile/set.h: Likewise.
* include/profile/unordered_map: Likewise.
* include/profile/multiset.h: Likewise.
* include/profile/forward_list: Likewise.
* include/profile/vector: Likewise.
* include/profile/unordered_set: Likewise.
* include/profile/map.h: Likewise.
* include/profile/deque: Likewise.
* include/profile/list: Likewise.
* include/profile/multimap.h: Likewise.
* include/bits/hashtable.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/hashtable_policy.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/forward_list.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/bits/stl_tree.h: Likewise.

From-SVN: r174295

35 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/forward_list.h
libstdc++-v3/include/bits/hashtable.h
libstdc++-v3/include/bits/hashtable_policy.h
libstdc++-v3/include/bits/stl_bvector.h
libstdc++-v3/include/bits/stl_deque.h
libstdc++-v3/include/bits/stl_list.h
libstdc++-v3/include/bits/stl_map.h
libstdc++-v3/include/bits/stl_multimap.h
libstdc++-v3/include/bits/stl_multiset.h
libstdc++-v3/include/bits/stl_set.h
libstdc++-v3/include/bits/stl_tree.h
libstdc++-v3/include/bits/stl_vector.h
libstdc++-v3/include/debug/deque
libstdc++-v3/include/debug/forward_list
libstdc++-v3/include/debug/list
libstdc++-v3/include/debug/map.h
libstdc++-v3/include/debug/multimap.h
libstdc++-v3/include/debug/multiset.h
libstdc++-v3/include/debug/set.h
libstdc++-v3/include/debug/unordered_map
libstdc++-v3/include/debug/unordered_set
libstdc++-v3/include/debug/vector
libstdc++-v3/include/profile/deque
libstdc++-v3/include/profile/forward_list
libstdc++-v3/include/profile/list
libstdc++-v3/include/profile/map.h
libstdc++-v3/include/profile/multimap.h
libstdc++-v3/include/profile/multiset.h
libstdc++-v3/include/profile/set.h
libstdc++-v3/include/profile/unordered_map
libstdc++-v3/include/profile/unordered_set
libstdc++-v3/include/profile/vector
libstdc++-v3/src/compatibility-list-2.cc
libstdc++-v3/src/list.cc

index 8a211bf42b828ff17afd8c17248332379f136e0e..af0453b45cadcba0b30b5236c7ae7dfbfaf7f6f9 100644 (file)
@@ -1,3 +1,40 @@
+2011-05-26  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * src/list.cc: Use noexcept per the FDIS.
+       * src/compatibility-list-2.cc: Likewise.
+       * include/debug/set.h: Likewise.
+       * include/debug/unordered_map: Likewise.
+       * include/debug/multiset.h: Likewise.
+       * include/debug/forward_list: Likewise.
+       * include/debug/unordered_set: Likewise.
+       * include/debug/vector: Likewise.
+       * include/debug/map.h: Likewise.
+       * include/debug/deque: Likewise.
+       * include/debug/list: Likewise.
+       * include/debug/multimap.h: Likewise.
+       * include/profile/set.h: Likewise.
+       * include/profile/unordered_map: Likewise.
+       * include/profile/multiset.h: Likewise.
+       * include/profile/forward_list: Likewise.
+       * include/profile/vector: Likewise.
+       * include/profile/unordered_set: Likewise.
+       * include/profile/map.h: Likewise.
+       * include/profile/deque: Likewise.
+       * include/profile/list: Likewise.
+       * include/profile/multimap.h: Likewise.
+       * include/bits/hashtable.h: Likewise.
+       * include/bits/stl_list.h: Likewise.
+       * include/bits/stl_map.h: Likewise.
+       * include/bits/hashtable_policy.h: Likewise.
+       * include/bits/stl_set.h: Likewise.
+       * include/bits/forward_list.h: Likewise.
+       * include/bits/stl_multimap.h: Likewise.
+       * include/bits/stl_vector.h: Likewise.
+       * include/bits/stl_deque.h: Likewise.
+       * include/bits/stl_multiset.h: Likewise.
+       * include/bits/stl_bvector.h: Likewise.
+       * include/bits/stl_tree.h: Likewise.
+
 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * include/bits/stl_queue.h: Use noexcept per the FDIS.
index 39c25322817fe55bbd431bed9e815838694c7c53..1e242f3f760c87b50b1daf7af549ced7c5f4ad53 100644 (file)
@@ -76,7 +76,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
     }
 
     void
-    _M_reverse_after()
+    _M_reverse_after() noexcept
     {
       _Fwd_list_node_base* __tail = _M_next;
       if (!__tail)
@@ -300,11 +300,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       typedef _Fwd_list_node<_Tp>                     _Node;
 
       _Node_alloc_type&
-      _M_get_Node_allocator()
+      _M_get_Node_allocator() noexcept
       { return *static_cast<_Node_alloc_type*>(&this->_M_impl); }
 
       const _Node_alloc_type&
-      _M_get_Node_allocator() const
+      _M_get_Node_allocator() const noexcept
       { return *static_cast<const _Node_alloc_type*>(&this->_M_impl); }
 
       _Fwd_list_base()
@@ -644,7 +644,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
       /// Get a copy of the memory allocation object.
       allocator_type
-      get_allocator() const
+      get_allocator() const noexcept
       { return this->_M_get_Node_allocator(); }
 
       // 23.2.3.2 iterators:
@@ -654,7 +654,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  in the %forward_list.  Iteration is done in ordinary element order.
        */
       iterator
-      before_begin()
+      before_begin() noexcept
       { return iterator(&this->_M_impl._M_head); }
 
       /**
@@ -663,7 +663,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_iterator
-      before_begin() const
+      before_begin() const noexcept
       { return const_iterator(&this->_M_impl._M_head); }
 
       /**
@@ -671,7 +671,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  in the %forward_list.  Iteration is done in ordinary element order.
        */
       iterator
-      begin()
+      begin() noexcept
       { return iterator(this->_M_impl._M_head._M_next); }
 
       /**
@@ -680,7 +680,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_iterator
-      begin() const
+      begin() const noexcept
       { return const_iterator(this->_M_impl._M_head._M_next); }
 
       /**
@@ -689,7 +689,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       iterator
-      end()
+      end() noexcept
       { return iterator(0); }
 
       /**
@@ -698,7 +698,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_iterator
-      end() const
+      end() const noexcept
       { return const_iterator(0); }
 
       /**
@@ -707,7 +707,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(this->_M_impl._M_head._M_next); }
 
       /**
@@ -716,7 +716,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_iterator
-      cbefore_begin() const
+      cbefore_begin() const noexcept
       { return const_iterator(&this->_M_impl._M_head); }
 
       /**
@@ -725,7 +725,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  ordinary element order.
        */
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(0); }
 
       /**
@@ -733,14 +733,14 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  equal end().)
        */
       bool
-      empty() const
+      empty() const noexcept
       { return this->_M_impl._M_head._M_next == 0; }
 
       /**
        *  Returns the largest possible size of %forward_list.
        */
       size_type
-      max_size() const
+      max_size() const noexcept
       { return this->_M_get_Node_allocator().max_size(); }
 
       // 23.2.3.3 element access:
@@ -1021,7 +1021,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  Managing the pointer is the user's responsibility.
        */
       void
-      clear()
+      clear() noexcept
       { this->_M_erase_after(&this->_M_impl._M_head, 0); }
 
       // 23.2.3.5 forward_list operations:
@@ -1196,7 +1196,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  Reverse the order of elements in the list in linear time.
        */
       void
-      reverse()
+      reverse() noexcept
       { this->_M_impl._M_head._M_reverse_after(); }
 
     private:
index f284126e247a663bc91a041a1e10714f9a39f9cc..fd6bc32b0d8435375bbd8786116fdf16fd7449e8 100644 (file)
@@ -239,43 +239,43 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
       // Basic container operations
       iterator
-      begin()
+      begin() noexcept
       { return iterator(_M_buckets + _M_begin_bucket_index); }
 
       const_iterator
-      begin() const
+      begin() const noexcept
       { return const_iterator(_M_buckets + _M_begin_bucket_index); }
 
       iterator
-      end()
+      end() noexcept
       { return iterator(_M_buckets + _M_bucket_count); }
 
       const_iterator
-      end() const
+      end() const noexcept
       { return const_iterator(_M_buckets + _M_bucket_count); }
 
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_M_buckets + _M_begin_bucket_index); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_M_buckets + _M_bucket_count); }
 
       size_type
-      size() const
+      size() const noexcept
       { return _M_element_count; }
 
       bool
-      empty() const
+      empty() const noexcept
       { return size() == 0; }
 
       allocator_type
-      get_allocator() const
+      get_allocator() const noexcept
       { return allocator_type(_M_node_allocator); }
 
       size_type
-      max_size() const
+      max_size() const noexcept
       { return _M_node_allocator.max_size(); }
 
       // Observers
@@ -287,11 +287,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
       // Bucket operations
       size_type
-      bucket_count() const
+      bucket_count() const noexcept
       { return _M_bucket_count; }
 
       size_type
-      max_bucket_count() const
+      max_bucket_count() const noexcept
       { return max_size(); }
 
       size_type
@@ -331,7 +331,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       { return const_local_iterator(0); }
 
       float
-      load_factor() const
+      load_factor() const noexcept
       {
        return static_cast<float>(size()) / static_cast<float>(bucket_count());
       }
@@ -447,7 +447,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       erase(const_iterator, const_iterator);
 
       void
-      clear();
+      clear() noexcept;
 
       // Set number of buckets to be appropriate for container of n element.
       void rehash(size_type __n);
@@ -1167,7 +1167,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     void
     _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
               _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
-    clear()
+    clear() noexcept
     {
       _M_deallocate_nodes(_M_buckets, _M_bucket_count);
       _M_element_count = 0;
index f6e187616ee2c39d7bf7390a371796918792ee74..3a22e9ac5c9981f57d502bc96ef4c56419e48b73 100644 (file)
@@ -391,7 +391,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     : _M_max_load_factor(__z), _M_growth_factor(2.f), _M_next_resize(0) { }
 
     float
-    max_load_factor() const
+    max_load_factor() const noexcept
     { return _M_max_load_factor; }
 
     // Return a bucket size no smaller than n.
@@ -615,7 +615,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     struct _Rehash_base<_Prime_rehash_policy, _Hashtable>
     {
       float
-      max_load_factor() const
+      max_load_factor() const noexcept
       {
        const _Hashtable* __this = static_cast<const _Hashtable*>(this);
        return __this->__rehash_policy().max_load_factor();
index 3cd53e7fad77a8266239ef7ee16ac4e60e5653c4..47156418509b8bc0db265b27d63e425a9542af2d 100644 (file)
@@ -74,13 +74,13 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
     _Bit_reference(_Bit_type * __x, _Bit_type __y)
     : _M_p(__x), _M_mask(__y) { }
 
-    _Bit_reference() : _M_p(0), _M_mask(0) { }
+    _Bit_reference() _GLIBCXX_NOEXCEPT : _M_p(0), _M_mask(0) { }
 
-    operator bool() const
+    operator bool() const _GLIBCXX_NOEXCEPT
     { return !!(*_M_p & _M_mask); }
 
     _Bit_reference&
-    operator=(bool __x)
+    operator=(bool __x) _GLIBCXX_NOEXCEPT
     {
       if (__x)
        *_M_p |= _M_mask;
@@ -90,7 +90,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
     }
 
     _Bit_reference&
-    operator=(const _Bit_reference& __x)
+    operator=(const _Bit_reference& __x) _GLIBCXX_NOEXCEPT
     { return *this = bool(__x); }
 
     bool
@@ -102,7 +102,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
     { return !bool(*this) && bool(__x); }
 
     void
-    flip()
+    flip() _GLIBCXX_NOEXCEPT
     { *_M_p ^= _M_mask; }
   };
 
@@ -398,15 +398,15 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       typedef _Alloc allocator_type;
 
       _Bit_alloc_type&
-      _M_get_Bit_allocator()
+      _M_get_Bit_allocator() _GLIBCXX_NOEXCEPT
       { return *static_cast<_Bit_alloc_type*>(&this->_M_impl); }
 
       const _Bit_alloc_type&
-      _M_get_Bit_allocator() const
+      _M_get_Bit_allocator() const _GLIBCXX_NOEXCEPT
       { return *static_cast<const _Bit_alloc_type*>(&this->_M_impl); }
 
       allocator_type
-      get_allocator() const
+      get_allocator() const _GLIBCXX_NOEXCEPT
       { return allocator_type(_M_get_Bit_allocator()); }
 
       _Bvector_base()
@@ -612,61 +612,61 @@ template<typename _Alloc>
 #endif
 
     iterator
-    begin()
+    begin() _GLIBCXX_NOEXCEPT
     { return this->_M_impl._M_start; }
 
     const_iterator
-    begin() const
+    begin() const _GLIBCXX_NOEXCEPT
     { return this->_M_impl._M_start; }
 
     iterator
-    end()
+    end() _GLIBCXX_NOEXCEPT
     { return this->_M_impl._M_finish; }
 
     const_iterator
-    end() const
+    end() const _GLIBCXX_NOEXCEPT
     { return this->_M_impl._M_finish; }
 
     reverse_iterator
-    rbegin()
+    rbegin() _GLIBCXX_NOEXCEPT
     { return reverse_iterator(end()); }
 
     const_reverse_iterator
-    rbegin() const
+    rbegin() const _GLIBCXX_NOEXCEPT
     { return const_reverse_iterator(end()); }
 
     reverse_iterator
-    rend()
+    rend() _GLIBCXX_NOEXCEPT
     { return reverse_iterator(begin()); }
 
     const_reverse_iterator
-    rend() const
+    rend() const _GLIBCXX_NOEXCEPT
     { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
     const_iterator
-    cbegin() const
+    cbegin() const noexcept
     { return this->_M_impl._M_start; }
 
     const_iterator
-    cend() const
+    cend() const noexcept
     { return this->_M_impl._M_finish; }
 
     const_reverse_iterator
-    crbegin() const
+    crbegin() const noexcept
     { return const_reverse_iterator(end()); }
 
     const_reverse_iterator
-    crend() const
+    crend() const noexcept
     { return const_reverse_iterator(begin()); }
 #endif
 
     size_type
-    size() const
+    size() const _GLIBCXX_NOEXCEPT
     { return size_type(end() - begin()); }
 
     size_type
-    max_size() const
+    max_size() const _GLIBCXX_NOEXCEPT
     {
       const size_type __isize =
        __gnu_cxx::__numeric_traits<difference_type>::__max
@@ -677,12 +677,12 @@ template<typename _Alloc>
     }
 
     size_type
-    capacity() const
+    capacity() const _GLIBCXX_NOEXCEPT
     { return size_type(const_iterator(this->_M_impl._M_end_of_storage, 0)
                       - begin()); }
 
     bool
-    empty() const
+    empty() const _GLIBCXX_NOEXCEPT
     { return begin() == end(); }
 
     reference
@@ -741,7 +741,7 @@ template<typename _Alloc>
     // here due to the way we are implementing DR 464 in the debug-mode
     // vector class.
     void
-    data() { }
+    data() _GLIBCXX_NOEXCEPT { }
 
     void
     push_back(bool __x)
@@ -768,7 +768,7 @@ template<typename _Alloc>
 
     // [23.2.5]/1, third-to-last entry in synopsis listing
     static void
-    swap(reference __x, reference __y)
+    swap(reference __x, reference __y) _GLIBCXX_NOEXCEPT
     {
       bool __tmp = __x;
       __x = __y;
@@ -841,7 +841,7 @@ template<typename _Alloc>
 #endif
 
     void
-    flip()
+    flip() _GLIBCXX_NOEXCEPT
     {
       for (_Bit_type * __p = this->_M_impl._M_start._M_p;
           __p != this->_M_impl._M_end_of_storage; ++__p)
@@ -849,7 +849,7 @@ template<typename _Alloc>
     }
 
     void
-    clear()
+    clear() _GLIBCXX_NOEXCEPT
     { _M_erase_at_end(begin()); }
 
    
index 0d9b5b44cb9239c6da7c3a485eb3f8b65bf2176d..209287b56fcae3d4c7d957e43273c2f49f2008d7 100644 (file)
@@ -441,7 +441,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       typedef _Alloc                  allocator_type;
 
       allocator_type
-      get_allocator() const
+      get_allocator() const _GLIBCXX_NOEXCEPT
       { return allocator_type(_M_get_Tp_allocator()); }
 
       typedef _Deque_iterator<_Tp, _Tp&, _Tp*>             iterator;
@@ -508,15 +508,15 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       };
 
       _Tp_alloc_type&
-      _M_get_Tp_allocator()
+      _M_get_Tp_allocator() _GLIBCXX_NOEXCEPT
       { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); }
 
       const _Tp_alloc_type&
-      _M_get_Tp_allocator() const
+      _M_get_Tp_allocator() const _GLIBCXX_NOEXCEPT
       { return *static_cast<const _Tp_alloc_type*>(&this->_M_impl); }
 
       _Map_alloc_type
-      _M_get_map_allocator() const
+      _M_get_map_allocator() const _GLIBCXX_NOEXCEPT
       { return _Map_alloc_type(_M_get_Tp_allocator()); }
 
       _Tp*
@@ -997,7 +997,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
       /// Get a copy of the memory allocation object.
       allocator_type
-      get_allocator() const
+      get_allocator() const _GLIBCXX_NOEXCEPT
       { return _Base::get_allocator(); }
 
       // iterators
@@ -1006,7 +1006,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  %deque.  Iteration is done in ordinary element order.
        */
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return this->_M_impl._M_start; }
 
       /**
@@ -1014,7 +1014,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element in the %deque.  Iteration is done in ordinary element order.
        */
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return this->_M_impl._M_start; }
 
       /**
@@ -1023,7 +1023,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return this->_M_impl._M_finish; }
 
       /**
@@ -1032,7 +1032,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  ordinary element order.
        */
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return this->_M_impl._M_finish; }
 
       /**
@@ -1041,7 +1041,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(this->_M_impl._M_finish); }
 
       /**
@@ -1050,7 +1050,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  reverse element order.
        */
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(this->_M_impl._M_finish); }
 
       /**
@@ -1059,7 +1059,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  in reverse element order.
        */
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(this->_M_impl._M_start); }
 
       /**
@@ -1068,7 +1068,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  done in reverse element order.
        */
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(this->_M_impl._M_start); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -1077,7 +1077,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element in the %deque.  Iteration is done in ordinary element order.
        */
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return this->_M_impl._M_start; }
 
       /**
@@ -1086,7 +1086,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  ordinary element order.
        */
       const_iterator
-      cend() const
+      cend() const noexcept
       { return this->_M_impl._M_finish; }
 
       /**
@@ -1095,7 +1095,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  reverse element order.
        */
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(this->_M_impl._M_finish); }
 
       /**
@@ -1104,19 +1104,19 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  done in reverse element order.
        */
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(this->_M_impl._M_start); }
 #endif
 
       // [23.2.1.2] capacity
       /**  Returns the number of elements in the %deque.  */
       size_type
-      size() const
+      size() const _GLIBCXX_NOEXCEPT
       { return this->_M_impl._M_finish - this->_M_impl._M_start; }
 
       /**  Returns the size() of the largest possible %deque.  */
       size_type
-      max_size() const
+      max_size() const _GLIBCXX_NOEXCEPT
       { return _M_get_Tp_allocator().max_size(); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -1197,7 +1197,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  equal end().)
        */
       bool
-      empty() const
+      empty() const _GLIBCXX_NOEXCEPT
       { return this->_M_impl._M_finish == this->_M_impl._M_start; }
 
       // element access
@@ -1576,7 +1576,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  the user's responsibility.
        */
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       { _M_erase_at_end(begin()); }
 
     protected:
index 126de00b3b08a5aa4e0d321443049dfdb13366ba..5144bb67e7bbce7384d5abd141c03dbc3a097adf 100644 (file)
@@ -77,22 +77,22 @@ namespace std _GLIBCXX_VISIBILITY(default)
     {
       _List_node_base* _M_next;
       _List_node_base* _M_prev;
-      
+
       static void
-      swap(_List_node_base& __x, _List_node_base& __y) throw ();
-      
+      swap(_List_node_base& __x, _List_node_base& __y) _GLIBCXX_USE_NOEXCEPT;
+
       void
       _M_transfer(_List_node_base* const __first,
-                 _List_node_base* const __last) throw ();
-      
+                 _List_node_base* const __last) _GLIBCXX_USE_NOEXCEPT;
+
       void
-      _M_reverse() throw ();
-      
+      _M_reverse() _GLIBCXX_USE_NOEXCEPT;
+
       void
-      _M_hook(_List_node_base* const __position) throw ();
-      
+      _M_hook(_List_node_base* const __position) _GLIBCXX_USE_NOEXCEPT;
+
       void
-      _M_unhook() throw ();
+      _M_unhook() _GLIBCXX_USE_NOEXCEPT;
     };
 
   _GLIBCXX_END_NAMESPACE_VERSION
@@ -334,19 +334,19 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       typedef _Alloc allocator_type;
 
       _Node_alloc_type&
-      _M_get_Node_allocator()
+      _M_get_Node_allocator() _GLIBCXX_NOEXCEPT
       { return *static_cast<_Node_alloc_type*>(&this->_M_impl); }
 
       const _Node_alloc_type&
-      _M_get_Node_allocator() const
+      _M_get_Node_allocator() const _GLIBCXX_NOEXCEPT
       { return *static_cast<const _Node_alloc_type*>(&this->_M_impl); }
 
       _Tp_alloc_type
-      _M_get_Tp_allocator() const
+      _M_get_Tp_allocator() const _GLIBCXX_NOEXCEPT
       { return _Tp_alloc_type(_M_get_Node_allocator()); }
 
       allocator_type
-      get_allocator() const
+      get_allocator() const _GLIBCXX_NOEXCEPT
       { return allocator_type(_M_get_Node_allocator()); }
 
       _List_base()
@@ -718,7 +718,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
       /// Get a copy of the memory allocation object.
       allocator_type
-      get_allocator() const
+      get_allocator() const _GLIBCXX_NOEXCEPT
       { return _Base::get_allocator(); }
 
       // iterators
@@ -727,7 +727,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  %list.  Iteration is done in ordinary element order.
        */
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(this->_M_impl._M_node._M_next); }
 
       /**
@@ -736,7 +736,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(this->_M_impl._M_node._M_next); }
 
       /**
@@ -745,7 +745,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  order.
        */
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(&this->_M_impl._M_node); }
 
       /**
@@ -754,7 +754,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(&this->_M_impl._M_node); }
 
       /**
@@ -763,7 +763,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  order.
        */
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       /**
@@ -772,7 +772,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       /**
@@ -781,7 +781,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  reverse element order.
        */
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       /**
@@ -790,7 +790,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -800,7 +800,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(this->_M_impl._M_node._M_next); }
 
       /**
@@ -809,7 +809,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(&this->_M_impl._M_node); }
 
       /**
@@ -818,7 +818,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       /**
@@ -827,7 +827,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -837,17 +837,17 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  end().)
        */
       bool
-      empty() const
+      empty() const _GLIBCXX_NOEXCEPT
       { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; }
 
       /**  Returns the number of elements in the %list.  */
       size_type
-      size() const
+      size() const _GLIBCXX_NOEXCEPT
       { return std::distance(begin(), end()); }
 
       /**  Returns the size() of the largest possible %list.  */
       size_type
-      max_size() const
+      max_size() const _GLIBCXX_NOEXCEPT
       { return _M_get_Node_allocator().max_size(); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -1192,7 +1192,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  Managing the pointer is the user's responsibility.
        */
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       {
         _Base::_M_clear();
         _Base::_M_init();
@@ -1412,7 +1412,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  Reverse the order of elements in the list in linear time.
        */
       void
-      reverse()
+      reverse() _GLIBCXX_NOEXCEPT
       { this->_M_impl._M_node._M_reverse(); }
 
       /**
index a84b4b61dfb195bd0b922fc2a960a73b5d7aa1a2..49341c998de66444d3eed5204752f9c0f4fb7f0e 100644 (file)
@@ -296,7 +296,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
       /// Get a copy of the memory allocation object.
       allocator_type
-      get_allocator() const
+      get_allocator() const _GLIBCXX_NOEXCEPT
       { return _M_t.get_allocator(); }
 
       // iterators
@@ -306,7 +306,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  Iteration is done in ascending order according to the keys.
        */
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return _M_t.begin(); }
 
       /**
@@ -315,7 +315,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  keys.
        */
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return _M_t.begin(); }
 
       /**
@@ -324,7 +324,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return _M_t.end(); }
 
       /**
@@ -333,7 +333,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  the keys.
        */
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return _M_t.end(); }
 
       /**
@@ -342,7 +342,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  keys.
        */
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return _M_t.rbegin(); }
 
       /**
@@ -351,7 +351,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return _M_t.rbegin(); }
 
       /**
@@ -360,7 +360,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return _M_t.rend(); }
 
       /**
@@ -369,7 +369,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  order according to the keys.
        */
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return _M_t.rend(); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -379,7 +379,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  keys.
        */
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return _M_t.begin(); }
 
       /**
@@ -388,7 +388,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  the keys.
        */
       const_iterator
-      cend() const
+      cend() const noexcept
       { return _M_t.end(); }
 
       /**
@@ -397,7 +397,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return _M_t.rbegin(); }
 
       /**
@@ -406,7 +406,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  order according to the keys.
        */
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return _M_t.rend(); }
 #endif
 
@@ -415,17 +415,17 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  end().)
       */
       bool
-      empty() const
+      empty() const _GLIBCXX_NOEXCEPT
       { return _M_t.empty(); }
 
       /** Returns the size of the %map.  */
       size_type
-      size() const
+      size() const _GLIBCXX_NOEXCEPT
       { return _M_t.size(); }
 
       /** Returns the maximum size of the %map.  */
       size_type
-      max_size() const
+      max_size() const _GLIBCXX_NOEXCEPT
       { return _M_t.max_size(); }
 
       // [23.3.1.2] element access
@@ -700,7 +700,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  Managing the pointer is the user's responsibility.
        */
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       { _M_t.clear(); }
 
       // observers
index ca37f359e1b8b8c105f7a7e89c0eb4b40b3dc624..bc677262a322e3e9f602bf674ee71af9b50b2a4b 100644 (file)
@@ -293,7 +293,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 
       /// Get a copy of the memory allocation object.
       allocator_type
-      get_allocator() const
+      get_allocator() const _GLIBCXX_NOEXCEPT 
       { return _M_t.get_allocator(); }
 
       // iterators
@@ -303,7 +303,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  keys.
        */
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return _M_t.begin(); }
 
       /**
@@ -312,7 +312,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  the keys.
        */
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return _M_t.begin(); }
 
       /**
@@ -321,7 +321,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  keys.
        */
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return _M_t.end(); }
 
       /**
@@ -330,7 +330,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  to the keys.
        */
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return _M_t.end(); }
 
       /**
@@ -339,7 +339,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  keys.
        */
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return _M_t.rbegin(); }
 
       /**
@@ -348,7 +348,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return _M_t.rbegin(); }
 
       /**
@@ -357,7 +357,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return _M_t.rend(); }
 
       /**
@@ -366,7 +366,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  descending order according to the keys.
        */
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return _M_t.rend(); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -376,7 +376,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  the keys.
        */
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return _M_t.begin(); }
 
       /**
@@ -385,7 +385,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  to the keys.
        */
       const_iterator
-      cend() const
+      cend() const noexcept
       { return _M_t.end(); }
 
       /**
@@ -394,7 +394,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return _M_t.rbegin(); }
 
       /**
@@ -403,24 +403,24 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  descending order according to the keys.
        */
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return _M_t.rend(); }
 #endif
 
       // capacity
       /** Returns true if the %multimap is empty.  */
       bool
-      empty() const
+      empty() const _GLIBCXX_NOEXCEPT
       { return _M_t.empty(); }
 
       /** Returns the size of the %multimap.  */
       size_type
-      size() const
+      size() const _GLIBCXX_NOEXCEPT
       { return _M_t.size(); }
 
       /** Returns the maximum size of the %multimap.  */
       size_type
-      max_size() const
+      max_size() const _GLIBCXX_NOEXCEPT
       { return _M_t.max_size(); }
 
       // modifiers
@@ -625,7 +625,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  is the user's responsibility.
        */
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       { _M_t.clear(); }
 
       // observers
index 9a48916c3c34810d23f7423ee72bf9e0c8c889c0..c3e686adeb1f59334f63d69ab276dfa9baf6ceb9 100644 (file)
@@ -275,7 +275,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       { return _M_t.key_comp(); }
       ///  Returns the memory allocation object.
       allocator_type
-      get_allocator() const
+      get_allocator() const _GLIBCXX_NOEXCEPT
       { return _M_t.get_allocator(); }
 
       /**
@@ -284,7 +284,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return _M_t.begin(); }
 
       /**
@@ -293,7 +293,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return _M_t.end(); }
 
       /**
@@ -302,7 +302,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return _M_t.rbegin(); }
 
       /**
@@ -311,7 +311,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return _M_t.rend(); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -321,7 +321,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       iterator
-      cbegin() const
+      cbegin() const noexcept
       { return _M_t.begin(); }
 
       /**
@@ -330,7 +330,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       iterator
-      cend() const
+      cend() const noexcept
       { return _M_t.end(); }
 
       /**
@@ -339,7 +339,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return _M_t.rbegin(); }
 
       /**
@@ -348,23 +348,23 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       reverse_iterator
-      crend() const
+      crend() const noexcept
       { return _M_t.rend(); }
 #endif
 
       ///  Returns true if the %set is empty.
       bool
-      empty() const
+      empty() const _GLIBCXX_NOEXCEPT
       { return _M_t.empty(); }
 
       ///  Returns the size of the %set.
       size_type
-      size() const
+      size() const _GLIBCXX_NOEXCEPT
       { return _M_t.size(); }
 
       ///  Returns the maximum size of the %set.
       size_type
-      max_size() const
+      max_size() const _GLIBCXX_NOEXCEPT
       { return _M_t.max_size(); }
 
       /**
@@ -554,7 +554,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  is the user's responsibility.
        */
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       { _M_t.clear(); }
 
       // multiset operations:
index 77d0f8022c3fa54d5cf65e059669ff7bb3ca2135..aa89a8a21cb8a5c02850be56dcf3e16d36391264 100644 (file)
@@ -282,7 +282,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       { return _M_t.key_comp(); }
       ///  Returns the allocator object with which the %set was constructed.
       allocator_type
-      get_allocator() const
+      get_allocator() const _GLIBCXX_NOEXCEPT
       { return _M_t.get_allocator(); }
 
       /**
@@ -291,7 +291,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  to the keys.
        */
       iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return _M_t.begin(); }
 
       /**
@@ -300,7 +300,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  to the keys.
        */
       iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return _M_t.end(); }
 
       /**
@@ -309,7 +309,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  to the keys.
        */
       reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return _M_t.rbegin(); }
 
       /**
@@ -318,7 +318,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return _M_t.rend(); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -328,7 +328,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  to the keys.
        */
       iterator
-      cbegin() const
+      cbegin() const noexcept
       { return _M_t.begin(); }
 
       /**
@@ -337,7 +337,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  to the keys.
        */
       iterator
-      cend() const
+      cend() const noexcept
       { return _M_t.end(); }
 
       /**
@@ -346,7 +346,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  to the keys.
        */
       reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return _M_t.rbegin(); }
 
       /**
@@ -355,23 +355,23 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  according to the keys.
        */
       reverse_iterator
-      crend() const
+      crend() const noexcept
       { return _M_t.rend(); }
 #endif
 
       ///  Returns true if the %set is empty.
       bool
-      empty() const
+      empty() const _GLIBCXX_NOEXCEPT
       { return _M_t.empty(); }
 
       ///  Returns the size of the %set.
       size_type
-      size() const
+      size() const _GLIBCXX_NOEXCEPT
       { return _M_t.size(); }
 
       ///  Returns the maximum size of the %set.
       size_type
-      max_size() const
+      max_size() const _GLIBCXX_NOEXCEPT
       { return _M_t.max_size(); }
 
       /**
@@ -569,7 +569,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  the user's responsibility.
        */
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       { _M_t.clear(); }
 
       // set operations:
index 85681d2da36af76d54b46552c89bc07846bb404a..7ba6061a674c1a080262ab6f2ac2bb88facfa921 100644 (file)
@@ -352,15 +352,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       typedef _Alloc allocator_type;
 
       _Node_allocator&
-      _M_get_Node_allocator()
+      _M_get_Node_allocator() _GLIBCXX_NOEXCEPT
       { return *static_cast<_Node_allocator*>(&this->_M_impl); }
       
       const _Node_allocator&
-      _M_get_Node_allocator() const
+      _M_get_Node_allocator() const _GLIBCXX_NOEXCEPT
       { return *static_cast<const _Node_allocator*>(&this->_M_impl); }
 
       allocator_type
-      get_allocator() const
+      get_allocator() const _GLIBCXX_NOEXCEPT
       { return allocator_type(_M_get_Node_allocator()); }
 
     protected:
@@ -647,56 +647,56 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       { return _M_impl._M_key_compare; }
 
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { 
        return iterator(static_cast<_Link_type>
                        (this->_M_impl._M_header._M_left));
       }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { 
        return const_iterator(static_cast<_Const_Link_type>
                              (this->_M_impl._M_header._M_left));
       }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(static_cast<_Link_type>(&this->_M_impl._M_header)); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { 
        return const_iterator(static_cast<_Const_Link_type>
                              (&this->_M_impl._M_header));
       }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
       bool
-      empty() const
+      empty() const _GLIBCXX_NOEXCEPT
       { return _M_impl._M_node_count == 0; }
 
       size_type
-      size() const
+      size() const _GLIBCXX_NOEXCEPT 
       { return _M_impl._M_node_count; }
 
       size_type
-      max_size() const
+      max_size() const _GLIBCXX_NOEXCEPT
       { return _M_get_Node_allocator().max_size(); }
 
       void
@@ -794,7 +794,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       erase(const key_type* __first, const key_type* __last);
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       {
         _M_erase(_M_begin());
         _M_leftmost() = _M_end();
index 5f71aa5cd007c57af599ae0cee45b56d2276a007..40770b1cd5ad74eb687ae70d8fdf0b1a95dfd5ad 100644 (file)
@@ -92,15 +92,15 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
       typedef _Alloc allocator_type;
 
       _Tp_alloc_type&
-      _M_get_Tp_allocator()
+      _M_get_Tp_allocator() _GLIBCXX_NOEXCEPT
       { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); }
 
       const _Tp_alloc_type&
-      _M_get_Tp_allocator() const
+      _M_get_Tp_allocator() const _GLIBCXX_NOEXCEPT
       { return *static_cast<const _Tp_alloc_type*>(&this->_M_impl); }
 
       allocator_type
-      get_allocator() const
+      get_allocator() const _GLIBCXX_NOEXCEPT
       { return allocator_type(_M_get_Tp_allocator()); }
 
       _Vector_base()
@@ -460,7 +460,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(this->_M_impl._M_start); }
 
       /**
@@ -469,7 +469,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(this->_M_impl._M_start); }
 
       /**
@@ -478,7 +478,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(this->_M_impl._M_finish); }
 
       /**
@@ -487,7 +487,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  ordinary element order.
        */
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(this->_M_impl._M_finish); }
 
       /**
@@ -496,7 +496,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       /**
@@ -505,7 +505,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  reverse element order.
        */
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       /**
@@ -514,7 +514,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  in reverse element order.
        */
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       /**
@@ -523,7 +523,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  is done in reverse element order.
        */
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -533,7 +533,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  element order.
        */
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(this->_M_impl._M_start); }
 
       /**
@@ -542,7 +542,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  ordinary element order.
        */
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(this->_M_impl._M_finish); }
 
       /**
@@ -551,7 +551,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  reverse element order.
        */
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       /**
@@ -560,19 +560,19 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  is done in reverse element order.
        */
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
       // [23.2.4.2] capacity
       /**  Returns the number of elements in the %vector.  */
       size_type
-      size() const
+      size() const _GLIBCXX_NOEXCEPT
       { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
 
       /**  Returns the size() of the largest possible %vector.  */
       size_type
-      max_size() const
+      max_size() const _GLIBCXX_NOEXCEPT
       { return _M_get_Tp_allocator().max_size(); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -647,7 +647,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  hold before needing to allocate more memory.
        */
       size_type
-      capacity() const
+      capacity() const _GLIBCXX_NOEXCEPT
       { return size_type(this->_M_impl._M_end_of_storage
                         - this->_M_impl._M_start); }
 
@@ -656,7 +656,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  equal end().)
        */
       bool
-      empty() const
+      empty() const _GLIBCXX_NOEXCEPT
       { return begin() == end(); }
 
       /**
@@ -800,7 +800,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 #else
       pointer
 #endif
-      data()
+      data() _GLIBCXX_NOEXCEPT
       { return std::__addressof(front()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
@@ -808,7 +808,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
 #else
       const_pointer
 #endif
-      data() const
+      data() const _GLIBCXX_NOEXCEPT
       { return std::__addressof(front()); }
 
       // [23.2.4.3] modifiers
@@ -1036,7 +1036,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
        *  the user's responsibility.
        */
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       { _M_erase_at_end(this->_M_impl._M_start); }
 
     protected:
index ee17f204132b40e6bb86af31f3f17504f3c5d038..1756328e4e0b32e4f3c8daf4a56d6fa91271a6b7 100644 (file)
@@ -1,6 +1,6 @@
 // Debugging deque implementation -*- C++ -*-
 
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -173,52 +173,52 @@ namespace __debug
 
       // iterators:
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::end(), this); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -496,17 +496,17 @@ namespace __debug
       }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       {
        _Base::clear();
        this->_M_invalidate_all();
       }
 
       _Base&
-      _M_base()       { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
     };
 
   template<typename _Tp, typename _Alloc>
index 70bd75a86b9def7f4422d2f69beb378f3f8b7177..8f8d0eb80a56fcaada3609c4cf5e932cded82568 100644 (file)
@@ -173,39 +173,39 @@ namespace __debug
       // iterators:
 
       iterator
-      before_begin()
+      before_begin() noexcept
       { return iterator(_Base::before_begin(), this); }
 
       const_iterator
-      before_begin() const
+      before_begin() const noexcept
       { return const_iterator(_Base::before_begin(), this); }
 
       iterator
-      begin()
+      begin() noexcept
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() noexcept
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::cbegin(), this); }
 
       const_iterator
-      cbefore_begin() const
+      cbefore_begin() const noexcept
       { return const_iterator(_Base::cbefore_begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::cend(), this); }
 
       using _Base::empty;
@@ -392,7 +392,7 @@ namespace __debug
       }
 
       void
-      clear()
+      clear() noexcept
       {
        _Base::clear();
        this->_M_invalidate_all();
@@ -585,10 +585,10 @@ namespace __debug
       using _Base::reverse;
 
       _Base&
-      _M_base()       { return *this; }
+      _M_base() noexcept       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const noexcept { return *this; }
 
     private:
       void
@@ -669,7 +669,8 @@ namespace __debug
       _Safe_iterator_base* __this_its = this->_M_iterators;
       _M_swap_aux(__list, __list._M_iterators, *this, this->_M_iterators);
       _Safe_iterator_base* __this_const_its = this->_M_const_iterators;
-      _M_swap_aux(__list, __list._M_const_iterators, *this, this->_M_const_iterators);
+      _M_swap_aux(__list, __list._M_const_iterators, *this,
+                 this->_M_const_iterators);
       _M_swap_aux(*this, __this_its, __list, __list._M_iterators);
       _M_swap_aux(*this, __this_const_its, __list, __list._M_const_iterators);
     }
index a7a2c5499180d6fe56ec96d7b70da057b245f766..45c53ff7515dbd5e2252a84e1b83699735f3ac06 100644 (file)
@@ -1,6 +1,6 @@
 // Debugging list implementation -*- C++ -*-
 
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -173,52 +173,52 @@ namespace __debug
 
       // iterators:
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::end(), this); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -457,7 +457,7 @@ namespace __debug
       }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       {
        _Base::clear();
        this->_M_invalidate_all();
@@ -684,10 +684,10 @@ namespace __debug
       using _Base::reverse;
 
       _Base&
-      _M_base()       { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
 
     private:
       void
index 31085197f3c657684def46a00242c9b4f1ee257b..04f8b083f790080a685fe2c57e45a4766450dd6e 100644 (file)
@@ -140,52 +140,52 @@ namespace __debug
 
       // iterators:
       iterator 
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::end(), this); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -343,7 +343,7 @@ namespace __debug
       }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       {
        this->_M_invalidate_all();
        _Base::clear();
@@ -400,11 +400,11 @@ namespace __debug
                              const_iterator(__res.second, this));
       }
 
-      _Base& 
-      _M_base() { return *this; }
+      _Base&
+      _M_base() _GLIBCXX_NOEXCEPT       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
 
     private:
       void
index 3c22517b28704d0cec669d798ef0d07a57cb3452..0be2fa38dd20ca1bac2f716976bc0c8facda401e 100644 (file)
@@ -139,52 +139,52 @@ namespace __debug
 
       // iterators:
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::end(), this); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -326,7 +326,7 @@ namespace __debug
       }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       {
        this->_M_invalidate_all();
        _Base::clear();
@@ -382,10 +382,10 @@ namespace __debug
       }
 
       _Base&
-      _M_base() { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
 
     private:
       void
index 6808fb80411fd19004ae29c091657378b626ac01..a9756f533039da7bee80348926b57075c40a4ff3 100644 (file)
@@ -1,6 +1,6 @@
 // Debugging multiset implementation -*- C++ -*-
 
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -138,52 +138,52 @@ namespace __debug
 
       // iterators:
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::end(), this); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -315,7 +315,7 @@ namespace __debug
       }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       {
        this->_M_invalidate_all();
        _Base::clear();
@@ -379,10 +379,10 @@ namespace __debug
       }
 
       _Base&
-      _M_base() { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
 
     private:
       void
index 7ca4c7788816129ea7b09c531bed970a24833911..fddd1673149961859dd37a66ceb278b719d1f47a 100644 (file)
@@ -138,52 +138,52 @@ namespace __debug
 
       // iterators:
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::end(), this); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -323,7 +323,7 @@ namespace __debug
       }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       {
        this->_M_invalidate_all();
        _Base::clear();
@@ -387,10 +387,10 @@ namespace __debug
       }
 
       _Base&
-      _M_base() { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
 
     private:
       void
index 2d7e100c43eba3d61421305837ed5cec0e12b9be..b3295fba5a62798b46b2ce48a4ed09b8aae045e2 100644 (file)
@@ -141,34 +141,34 @@ namespace __debug
       }
 
       void
-      clear()
+      clear() noexcept
       {
        _Base::clear();
        this->_M_invalidate_all();
       }
 
       iterator 
-      begin()
+      begin() noexcept
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() noexcept
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       // local versions
@@ -293,10 +293,10 @@ namespace __debug
       }
 
       _Base&
-      _M_base() { return *this; }
+      _M_base() noexcept       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const noexcept { return *this; }
 
     private:
       void
@@ -429,34 +429,34 @@ namespace __debug
       }
 
       void
-      clear()
+      clear() noexcept
       {
        _Base::clear();
        this->_M_invalidate_all();
       }
 
       iterator 
-      begin()
+      begin() noexcept
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() noexcept
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       // local versions
@@ -575,10 +575,10 @@ namespace __debug
       }
 
       _Base&
-      _M_base() { return *this; }
+      _M_base() noexcept       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const noexcept { return *this; }
 
     private:
       void
index e30f976d3d624f53d4b31df40fd0a29a826996ff..d67e98775adf538ba396e7dd5ce3c04e7fc8aeeb 100644 (file)
@@ -1,6 +1,6 @@
 // Debugging unordered_set/unordered_multiset implementation -*- C++ -*-
 
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -141,34 +141,34 @@ namespace __debug
       }
 
       void
-      clear()
+      clear() noexcept
       {
        _Base::clear();
        this->_M_invalidate_all();
       }
 
       iterator 
-      begin()
+      begin() noexcept
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() noexcept
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       // local versions
@@ -286,10 +286,10 @@ namespace __debug
       }
 
       _Base&
-      _M_base() { return *this; }
+      _M_base() noexcept       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const noexcept { return *this; }
 
     private:
       void
@@ -418,34 +418,34 @@ namespace __debug
       }
 
       void
-      clear()
+      clear() noexcept
       {
        _Base::clear();
        this->_M_invalidate_all();
       }
 
       iterator
-      begin()
+      begin() noexcept
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() noexcept
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       // local versions
@@ -556,10 +556,10 @@ namespace __debug
       }
 
       _Base&
-      _M_base() { return *this; }
+      _M_base() noexcept       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const noexcept { return *this; }
 
     private:
       void
index e2dd71a7e84ffa8c3d20c526703e1006932f201a..f5bdde42bfc9410fdef8922b0414b46b4cd5ed6f 100644 (file)
@@ -1,6 +1,6 @@
 // Debugging vector implementation -*- C++ -*-
 
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -188,52 +188,52 @@ namespace __debug
 
       // iterators:
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::end(), this); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -284,7 +284,7 @@ namespace __debug
 #endif
 
       size_type
-      capacity() const
+      capacity() const _GLIBCXX_NOEXCEPT
       {
 #ifdef _GLIBCXX_DEBUG_PEDANTIC
        return _M_guaranteed_capacity;
@@ -508,7 +508,7 @@ namespace __debug
       }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       {
        _Base::clear();
        this->_M_invalidate_all();
@@ -516,10 +516,10 @@ namespace __debug
       }
 
       _Base&
-      _M_base() { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
 
     private:
       size_type _M_guaranteed_capacity;
index 1c0e53c723e9f1a907039cf71d00f6c6b8925e27..564c2dd0fce8afd4370533d02cd1f1e4172df85f 100644 (file)
@@ -1,6 +1,6 @@
 // Profiling deque implementation -*- C++ -*-
 
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 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
@@ -154,52 +154,52 @@ namespace __profile
 
       // iterators:
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin()); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin()); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::end()); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::end()); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin()); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end()); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -392,16 +392,16 @@ namespace __profile
       }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       {
        _Base::clear();
       }
 
       _Base&
-      _M_base()       { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
     };
 
   template<typename _Tp, typename _Alloc>
index 00af855d782b16659b6c81a20abd72d4ec202014..75b59f354a202ea390359ae3bfb295f9a924776d 100644 (file)
@@ -1,6 +1,6 @@
 // <forward_list> -*- C++ -*-
 
-// Copyright (C) 2010 Free Software Foundation, Inc.
+// Copyright (C) 2010, 2011 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
@@ -119,10 +119,10 @@ namespace __profile
       }
 
       _Base&
-      _M_base()       { return *this; }
+      _M_base() noexcept       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const noexcept { return *this; }
     };
 
   template<typename _Tp, typename _Alloc>
index 21279d2ccb1dbb60e7a4ccb0c5db6f0399cc3666..589f8f5362b6d1b15ce385429fb49035cc50a134 100644 (file)
@@ -1,6 +1,6 @@
 // Profiling list implementation -*- C++ -*-
 
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 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
@@ -135,7 +135,8 @@ template<typename _Tp, typename _Allocator = std::allocator<_Tp> >
         : _Base(__l, __a) { }
 #endif
 
-      ~list() { 
+      ~list()
+      { 
         __profcxx_list_destruct(this); 
         __profcxx_list_destruct2(this); 
       }
@@ -183,64 +184,64 @@ template<typename _Tp, typename _Allocator = std::allocator<_Tp> >
 
       // iterators:
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       {
         __profcxx_list_rewind(this);
         return iterator(_Base::end(), this);
       }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       {
         __profcxx_list_rewind(this);
         return const_iterator(_Base::end(), this);
       }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       {
         __profcxx_list_rewind(this);
         return reverse_iterator(end());
       }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { 
         __profcxx_list_rewind(this);
         return const_reverse_iterator(end());
       }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -388,7 +389,7 @@ template<typename _Tp, typename _Allocator = std::allocator<_Tp> >
       {        _Base::swap(__x); }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       {        _Base::clear(); }
 
       // 23.2.2.4 list operations:
@@ -564,15 +565,15 @@ template<typename _Tp, typename _Allocator = std::allocator<_Tp> >
       using _Base::reverse;
 
       _Base&
-      _M_base()       { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
 
-      inline void _M_profile_find() const 
+      void _M_profile_find() const
       { }
 
-      inline void _M_profile_iterate(int __rewind = 0) const 
+      void _M_profile_iterate(int __rewind = 0) const 
       {
         __profcxx_list_operation(this);
         __profcxx_list_iterate(this); 
index 1edc16c787919e2c0f1ae9b5ce92f28cae2f12f1..30f5f3aa67938e0fdac563d71e9fa713a3b2b48c 100644 (file)
@@ -137,44 +137,44 @@ namespace __profile
 
       // iterators:
       iterator 
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return _Base::begin(); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return _Base::begin(); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return _Base::end(); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return _Base::end(); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { 
         __profcxx_map_to_unordered_map_invalidate(this);
         return reverse_iterator(end()); 
       }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       {
         __profcxx_map_to_unordered_map_invalidate(this);
         return const_reverse_iterator(end());
       }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       {
         __profcxx_map_to_unordered_map_invalidate(this);
         return reverse_iterator(begin());
       }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       {
         __profcxx_map_to_unordered_map_invalidate(this);
         return const_reverse_iterator(begin());
@@ -182,22 +182,22 @@ namespace __profile
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin()); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end()); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       {
         __profcxx_map_to_unordered_map_invalidate(this);
         return const_reverse_iterator(end());
       }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       {
         __profcxx_map_to_unordered_map_invalidate(this);
         return const_reverse_iterator(begin());
@@ -359,12 +359,11 @@ namespace __profile
 #endif
 
       void
-
       swap(map& __x)
       { _Base::swap(__x); }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       { this->erase(begin(), end()); }
 
       // observers:
@@ -443,10 +442,10 @@ namespace __profile
       }
 
       _Base& 
-      _M_base() { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
 
     };
 
index 76ce805f3d73d6546cb8262d3dc1edb6c4184d14..5f1aba82e349bde2d78c1ad2e0f9d541f4a3cd33 100644 (file)
@@ -124,52 +124,52 @@ namespace __profile
 
       // iterators:
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin()); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin()); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::end()); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::end()); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin()); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end()); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -260,7 +260,7 @@ namespace __profile
       { _Base::swap(__x); }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       { this->erase(begin(), end()); }
 
       // observers:
@@ -315,10 +315,10 @@ namespace __profile
       }
 
       _Base&
-      _M_base() { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
     };
 
   template<typename _Key, typename _Tp,
index c6902a0fed4867b70386f9e7cf84a5d6fff44626..d140623584515ffa8b129d4518fbea5e39607137 100644 (file)
@@ -1,6 +1,6 @@
 // Profiling multiset implementation -*- C++ -*-
 
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 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
@@ -124,52 +124,52 @@ namespace __profile
 
       // iterators:
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin()); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin()); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::end()); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::end()); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin()); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end()); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -249,7 +249,7 @@ namespace __profile
       { _Base::swap(__x); }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       { this->erase(begin(), end()); }
 
       // observers:
@@ -312,10 +312,10 @@ namespace __profile
       }
 
       _Base&
-      _M_base() { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
 
     };
 
index d10a11f2e59673f23be0f76af1bf59a0fab40d11..8533a48c90dfc59dda3a7b1ac6d8681ac55ab836 100644 (file)
@@ -1,6 +1,6 @@
 // Profiling set implementation -*- C++ -*-
 
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 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
@@ -124,52 +124,52 @@ namespace __profile
 
       // iterators:
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin()); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin()); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::end()); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::end()); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin()); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end()); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -259,7 +259,7 @@ namespace __profile
       { _Base::swap(__x); }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       { this->erase(begin(), end()); }
 
       // observers:
@@ -322,10 +322,10 @@ namespace __profile
       }
 
       _Base&
-      _M_base() { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
 
     };
 
index cc54009e3f480f12a3251e4b95d1aa4d83361fcf..058bbd351320a6e1b9bd92aa29ec90b9b7899baa 100644 (file)
@@ -1,6 +1,6 @@
 // Profiling unordered_map/unordered_multimap implementation -*- C++ -*-
 
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 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
@@ -150,14 +150,13 @@ namespace __profile
       }
 
       _Base&
-      _M_base()       { return *this; }
+      _M_base() noexcept       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
-
+      _M_base() const noexcept { return *this; }
 
       void
-      clear()
+      clear() noexcept
       {
         __profcxx_hashtable_destruct(this, _Base::bucket_count(),
                                     _Base::size());
@@ -418,14 +417,13 @@ namespace __profile
       }
 
       _Base&
-      _M_base()       { return *this; }
+      _M_base() noexcept       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
-
+      _M_base() const noexcept { return *this; }
 
       void
-      clear()
+      clear() noexcept
       {
         __profcxx_hashtable_destruct(this, _Base::bucket_count(), 
                                     _Base::size());
index 547fb764d2263763de8f4dfec54b37fbc695aa5c..92c54c10f2ac9cd98cc8d7feb21e68bcbb0ed897 100644 (file)
@@ -1,6 +1,6 @@
 // Profiling unordered_set/unordered_multiset implementation -*- C++ -*-
 
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 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
@@ -155,7 +155,7 @@ namespace __profile
       }
 
       void
-      clear()
+      clear() noexcept
       {
         __profcxx_hashtable_destruct(this, _Base::bucket_count(), 
                                      _Base::size());
@@ -233,10 +233,10 @@ namespace __profile
 
     private:
       _Base&
-      _M_base()       { return *this; }
+      _M_base() noexcept       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const noexcept { return *this; }
 
       void
       _M_profile_resize(size_type __old_size, size_type __new_size)
@@ -397,7 +397,7 @@ namespace __profile
       }
 
       void
-      clear()
+      clear() noexcept
       {
         __profcxx_hashtable_destruct(this, _Base::bucket_count(), 
                                      _Base::size());
@@ -475,10 +475,10 @@ namespace __profile
 
     private:
       _Base&
-      _M_base()       { return *this; }
+      _M_base() noexcept       { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const noexcept { return *this; }
 
       void
       _M_profile_resize(size_type __old_size, size_type __new_size)
index f8a9622e8ba1ec752eec6de244c48430fe96b697..83a4a3b4c4a87d00adcf38a9f6af6295506ff81a 100644 (file)
@@ -1,6 +1,6 @@
 // Profiling vector implementation -*- C++ -*-
 
-// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 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
@@ -70,10 +70,10 @@ namespace __profile
       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
       
       _Base&
-      _M_base()       { return *this; }
+      _M_base() _GLIBCXX_NOEXCEPT { return *this; }
 
       const _Base&
-      _M_base() const { return *this; }
+      _M_base() const _GLIBCXX_NOEXCEPT { return *this; }
 
       // 23.2.4.1 construct/copy/destroy:
       explicit
@@ -148,7 +148,8 @@ namespace __profile
       : _Base(__l, __a) { }
 #endif
 
-      ~vector() {
+      ~vector()
+      {
         __profcxx_vector_destruct(this, this->capacity(), this->size());
         __profcxx_vector_destruct2(this);
       }
@@ -185,52 +186,52 @@ namespace __profile
 
       // iterators:
       iterator
-      begin()
+      begin() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::begin(), this); }
 
       const_iterator
-      begin() const
+      begin() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::begin(), this); }
 
       iterator
-      end()
+      end() _GLIBCXX_NOEXCEPT
       { return iterator(_Base::end(), this); }
 
       const_iterator
-      end() const
+      end() const _GLIBCXX_NOEXCEPT
       { return const_iterator(_Base::end(), this); }
 
       reverse_iterator
-      rbegin()
+      rbegin() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(end()); }
 
       const_reverse_iterator
-      rbegin() const
+      rbegin() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(end()); }
 
       reverse_iterator
-      rend()
+      rend() _GLIBCXX_NOEXCEPT
       { return reverse_iterator(begin()); }
 
       const_reverse_iterator
-      rend() const
+      rend() const _GLIBCXX_NOEXCEPT
       { return const_reverse_iterator(begin()); }
 
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
       const_iterator
-      cbegin() const
+      cbegin() const noexcept
       { return const_iterator(_Base::begin(), this); }
 
       const_iterator
-      cend() const
+      cend() const noexcept
       { return const_iterator(_Base::end(), this); }
 
       const_reverse_iterator
-      crbegin() const
+      crbegin() const noexcept
       { return const_reverse_iterator(end()); }
 
       const_reverse_iterator
-      crend() const
+      crend() const noexcept
       { return const_reverse_iterator(begin()); }
 #endif
 
@@ -417,7 +418,7 @@ namespace __profile
       }
 
       void
-      clear()
+      clear() _GLIBCXX_NOEXCEPT
       {
         __profcxx_vector_destruct(this, this->capacity(), this->size());
         __profcxx_vector_destruct2(this);
index 58f8cea55f2930a1b1c2cf9c27cac31d6387bfdb..ac69798740dba53402898569f986de6de12ee7bc 100644 (file)
@@ -43,21 +43,22 @@ _GLIBCXX_BEGIN_NAMESPACE_COMPAT
 
     void
     _M_transfer(_List_node_base * const __first,
-               _List_node_base * const __last) throw ();
+               _List_node_base * const __last) _GLIBCXX_USE_NOEXCEPT;
 
     void
-    _M_reverse() throw ();
+    _M_reverse() _GLIBCXX_USE_NOEXCEPT;
 
     void
-    _M_hook(_List_node_base * const __position) throw ();
+    _M_hook(_List_node_base * const __position) _GLIBCXX_USE_NOEXCEPT;
 
     void
-    _M_unhook() throw ();
+    _M_unhook() _GLIBCXX_USE_NOEXCEPT;
   };
 
   void
-  _List_node_base::_M_transfer(_List_node_base * const __first,
-                              _List_node_base * const __last) throw ()
+  _List_node_base::
+  _M_transfer(_List_node_base * const __first,
+             _List_node_base * const __last) _GLIBCXX_USE_NOEXCEPT
   {
     if (this != __last)
     {
@@ -75,7 +76,7 @@ _GLIBCXX_BEGIN_NAMESPACE_COMPAT
   }
 
   void
-  _List_node_base::_M_reverse() throw ()
+  _List_node_base::_M_reverse() _GLIBCXX_USE_NOEXCEPT
   {
     _List_node_base* __tmp = this;
     do
@@ -89,7 +90,8 @@ _GLIBCXX_BEGIN_NAMESPACE_COMPAT
   }
 
   void
-  _List_node_base::_M_hook(_List_node_base* const __position) throw ()
+  _List_node_base::
+  _M_hook(_List_node_base* const __position) _GLIBCXX_USE_NOEXCEPT
   {
     this->_M_next = __position;
     this->_M_prev = __position->_M_prev;
@@ -98,7 +100,7 @@ _GLIBCXX_BEGIN_NAMESPACE_COMPAT
   }
 
   void
-  _List_node_base::_M_unhook() throw ()
+  _List_node_base::_M_unhook() _GLIBCXX_USE_NOEXCEPT
   {
     _List_node_base* const __next_node = this->_M_next;
     _List_node_base* const __prev_node = this->_M_prev;
index 92b007f58aea5870de86dbbc3f9b70b2cad35c1f..6dbad69ac64a11ccf931ac1c53a40adb40820615 100644 (file)
@@ -57,7 +57,8 @@ namespace std _GLIBCXX_VISIBILITY(default)
   _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
     void
-    _List_node_base::swap(_List_node_base& __x, _List_node_base& __y) throw()
+    _List_node_base::swap(_List_node_base& __x,
+                         _List_node_base& __y) _GLIBCXX_USE_NOEXCEPT
     {
       if ( __x._M_next != &__x )
        {
@@ -89,8 +90,9 @@ namespace std _GLIBCXX_VISIBILITY(default)
     }
 
     void
-    _List_node_base::_M_transfer(_List_node_base * const __first,
-                                _List_node_base * const __last) throw()
+    _List_node_base::
+    _M_transfer(_List_node_base * const __first,
+               _List_node_base * const __last) _GLIBCXX_USE_NOEXCEPT
     {
       if (this != __last)
        {
@@ -108,7 +110,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
     }
 
     void
-    _List_node_base::_M_reverse() throw()
+    _List_node_base::_M_reverse() _GLIBCXX_USE_NOEXCEPT
     {
       _List_node_base* __tmp = this;
       do
@@ -122,7 +124,8 @@ namespace std _GLIBCXX_VISIBILITY(default)
     }
 
     void
-    _List_node_base::_M_hook(_List_node_base* const __position) throw()
+    _List_node_base::
+    _M_hook(_List_node_base* const __position) _GLIBCXX_USE_NOEXCEPT
     {
       this->_M_next = __position;
       this->_M_prev = __position->_M_prev;
@@ -131,7 +134,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
     }
 
     void
-    _List_node_base::_M_unhook() throw()
+    _List_node_base::_M_unhook() _GLIBCXX_USE_NOEXCEPT
     {
       _List_node_base* const __next_node = this->_M_next;
       _List_node_base* const __prev_node = this->_M_prev;