+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.
}
void
- _M_reverse_after()
+ _M_reverse_after() noexcept
{
_Fwd_list_node_base* __tail = _M_next;
if (!__tail)
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()
/// 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:
* in the %forward_list. Iteration is done in ordinary element order.
*/
iterator
- before_begin()
+ before_begin() noexcept
{ return iterator(&this->_M_impl._M_head); }
/**
* element order.
*/
const_iterator
- before_begin() const
+ before_begin() const noexcept
{ return const_iterator(&this->_M_impl._M_head); }
/**
* in the %forward_list. Iteration is done in ordinary element order.
*/
iterator
- begin()
+ begin() noexcept
{ return iterator(this->_M_impl._M_head._M_next); }
/**
* element order.
*/
const_iterator
- begin() const
+ begin() const noexcept
{ return const_iterator(this->_M_impl._M_head._M_next); }
/**
* element order.
*/
iterator
- end()
+ end() noexcept
{ return iterator(0); }
/**
* element order.
*/
const_iterator
- end() const
+ end() const noexcept
{ return const_iterator(0); }
/**
* element order.
*/
const_iterator
- cbegin() const
+ cbegin() const noexcept
{ return const_iterator(this->_M_impl._M_head._M_next); }
/**
* element order.
*/
const_iterator
- cbefore_begin() const
+ cbefore_begin() const noexcept
{ return const_iterator(&this->_M_impl._M_head); }
/**
* ordinary element order.
*/
const_iterator
- cend() const
+ cend() const noexcept
{ return const_iterator(0); }
/**
* 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:
* 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:
* Reverse the order of elements in the list in linear time.
*/
void
- reverse()
+ reverse() noexcept
{ this->_M_impl._M_head._M_reverse_after(); }
private:
// 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
// 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
{ return const_local_iterator(0); }
float
- load_factor() const
+ load_factor() const noexcept
{
return static_cast<float>(size()) / static_cast<float>(bucket_count());
}
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);
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;
: _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.
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();
_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;
}
_Bit_reference&
- operator=(const _Bit_reference& __x)
+ operator=(const _Bit_reference& __x) _GLIBCXX_NOEXCEPT
{ return *this = bool(__x); }
bool
{ return !bool(*this) && bool(__x); }
void
- flip()
+ flip() _GLIBCXX_NOEXCEPT
{ *_M_p ^= _M_mask; }
};
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()
#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
}
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
// 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)
// [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;
#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)
}
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{ _M_erase_at_end(begin()); }
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;
};
_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*
/// Get a copy of the memory allocation object.
allocator_type
- get_allocator() const
+ get_allocator() const _GLIBCXX_NOEXCEPT
{ return _Base::get_allocator(); }
// iterators
* %deque. Iteration is done in ordinary element order.
*/
iterator
- begin()
+ begin() _GLIBCXX_NOEXCEPT
{ return this->_M_impl._M_start; }
/**
* 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; }
/**
* element order.
*/
iterator
- end()
+ end() _GLIBCXX_NOEXCEPT
{ return this->_M_impl._M_finish; }
/**
* ordinary element order.
*/
const_iterator
- end() const
+ end() const _GLIBCXX_NOEXCEPT
{ return this->_M_impl._M_finish; }
/**
* element order.
*/
reverse_iterator
- rbegin()
+ rbegin() _GLIBCXX_NOEXCEPT
{ return reverse_iterator(this->_M_impl._M_finish); }
/**
* reverse element order.
*/
const_reverse_iterator
- rbegin() const
+ rbegin() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(this->_M_impl._M_finish); }
/**
* in reverse element order.
*/
reverse_iterator
- rend()
+ rend() _GLIBCXX_NOEXCEPT
{ return reverse_iterator(this->_M_impl._M_start); }
/**
* 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__
* element in the %deque. Iteration is done in ordinary element order.
*/
const_iterator
- cbegin() const
+ cbegin() const noexcept
{ return this->_M_impl._M_start; }
/**
* ordinary element order.
*/
const_iterator
- cend() const
+ cend() const noexcept
{ return this->_M_impl._M_finish; }
/**
* reverse element order.
*/
const_reverse_iterator
- crbegin() const
+ crbegin() const noexcept
{ return const_reverse_iterator(this->_M_impl._M_finish); }
/**
* 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__
* equal end().)
*/
bool
- empty() const
+ empty() const _GLIBCXX_NOEXCEPT
{ return this->_M_impl._M_finish == this->_M_impl._M_start; }
// element access
* the user's responsibility.
*/
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{ _M_erase_at_end(begin()); }
protected:
{
_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
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()
/// Get a copy of the memory allocation object.
allocator_type
- get_allocator() const
+ get_allocator() const _GLIBCXX_NOEXCEPT
{ return _Base::get_allocator(); }
// iterators
* %list. Iteration is done in ordinary element order.
*/
iterator
- begin()
+ begin() _GLIBCXX_NOEXCEPT
{ return iterator(this->_M_impl._M_node._M_next); }
/**
* element order.
*/
const_iterator
- begin() const
+ begin() const _GLIBCXX_NOEXCEPT
{ return const_iterator(this->_M_impl._M_node._M_next); }
/**
* order.
*/
iterator
- end()
+ end() _GLIBCXX_NOEXCEPT
{ return iterator(&this->_M_impl._M_node); }
/**
* element order.
*/
const_iterator
- end() const
+ end() const _GLIBCXX_NOEXCEPT
{ return const_iterator(&this->_M_impl._M_node); }
/**
* order.
*/
reverse_iterator
- rbegin()
+ rbegin() _GLIBCXX_NOEXCEPT
{ return reverse_iterator(end()); }
/**
* element order.
*/
const_reverse_iterator
- rbegin() const
+ rbegin() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(end()); }
/**
* reverse element order.
*/
reverse_iterator
- rend()
+ rend() _GLIBCXX_NOEXCEPT
{ return reverse_iterator(begin()); }
/**
* element order.
*/
const_reverse_iterator
- rend() const
+ rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
#ifdef __GXX_EXPERIMENTAL_CXX0X__
* element order.
*/
const_iterator
- cbegin() const
+ cbegin() const noexcept
{ return const_iterator(this->_M_impl._M_node._M_next); }
/**
* element order.
*/
const_iterator
- cend() const
+ cend() const noexcept
{ return const_iterator(&this->_M_impl._M_node); }
/**
* element order.
*/
const_reverse_iterator
- crbegin() const
+ crbegin() const noexcept
{ return const_reverse_iterator(end()); }
/**
* element order.
*/
const_reverse_iterator
- crend() const
+ crend() const noexcept
{ return const_reverse_iterator(begin()); }
#endif
* 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__
* Managing the pointer is the user's responsibility.
*/
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{
_Base::_M_clear();
_Base::_M_init();
* Reverse the order of elements in the list in linear time.
*/
void
- reverse()
+ reverse() _GLIBCXX_NOEXCEPT
{ this->_M_impl._M_node._M_reverse(); }
/**
/// Get a copy of the memory allocation object.
allocator_type
- get_allocator() const
+ get_allocator() const _GLIBCXX_NOEXCEPT
{ return _M_t.get_allocator(); }
// iterators
* Iteration is done in ascending order according to the keys.
*/
iterator
- begin()
+ begin() _GLIBCXX_NOEXCEPT
{ return _M_t.begin(); }
/**
* keys.
*/
const_iterator
- begin() const
+ begin() const _GLIBCXX_NOEXCEPT
{ return _M_t.begin(); }
/**
* according to the keys.
*/
iterator
- end()
+ end() _GLIBCXX_NOEXCEPT
{ return _M_t.end(); }
/**
* the keys.
*/
const_iterator
- end() const
+ end() const _GLIBCXX_NOEXCEPT
{ return _M_t.end(); }
/**
* keys.
*/
reverse_iterator
- rbegin()
+ rbegin() _GLIBCXX_NOEXCEPT
{ return _M_t.rbegin(); }
/**
* according to the keys.
*/
const_reverse_iterator
- rbegin() const
+ rbegin() const _GLIBCXX_NOEXCEPT
{ return _M_t.rbegin(); }
/**
* according to the keys.
*/
reverse_iterator
- rend()
+ rend() _GLIBCXX_NOEXCEPT
{ return _M_t.rend(); }
/**
* order according to the keys.
*/
const_reverse_iterator
- rend() const
+ rend() const _GLIBCXX_NOEXCEPT
{ return _M_t.rend(); }
#ifdef __GXX_EXPERIMENTAL_CXX0X__
* keys.
*/
const_iterator
- cbegin() const
+ cbegin() const noexcept
{ return _M_t.begin(); }
/**
* the keys.
*/
const_iterator
- cend() const
+ cend() const noexcept
{ return _M_t.end(); }
/**
* according to the keys.
*/
const_reverse_iterator
- crbegin() const
+ crbegin() const noexcept
{ return _M_t.rbegin(); }
/**
* order according to the keys.
*/
const_reverse_iterator
- crend() const
+ crend() const noexcept
{ return _M_t.rend(); }
#endif
* 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
* Managing the pointer is the user's responsibility.
*/
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{ _M_t.clear(); }
// observers
/// Get a copy of the memory allocation object.
allocator_type
- get_allocator() const
+ get_allocator() const _GLIBCXX_NOEXCEPT
{ return _M_t.get_allocator(); }
// iterators
* keys.
*/
iterator
- begin()
+ begin() _GLIBCXX_NOEXCEPT
{ return _M_t.begin(); }
/**
* the keys.
*/
const_iterator
- begin() const
+ begin() const _GLIBCXX_NOEXCEPT
{ return _M_t.begin(); }
/**
* keys.
*/
iterator
- end()
+ end() _GLIBCXX_NOEXCEPT
{ return _M_t.end(); }
/**
* to the keys.
*/
const_iterator
- end() const
+ end() const _GLIBCXX_NOEXCEPT
{ return _M_t.end(); }
/**
* keys.
*/
reverse_iterator
- rbegin()
+ rbegin() _GLIBCXX_NOEXCEPT
{ return _M_t.rbegin(); }
/**
* according to the keys.
*/
const_reverse_iterator
- rbegin() const
+ rbegin() const _GLIBCXX_NOEXCEPT
{ return _M_t.rbegin(); }
/**
* according to the keys.
*/
reverse_iterator
- rend()
+ rend() _GLIBCXX_NOEXCEPT
{ return _M_t.rend(); }
/**
* descending order according to the keys.
*/
const_reverse_iterator
- rend() const
+ rend() const _GLIBCXX_NOEXCEPT
{ return _M_t.rend(); }
#ifdef __GXX_EXPERIMENTAL_CXX0X__
* the keys.
*/
const_iterator
- cbegin() const
+ cbegin() const noexcept
{ return _M_t.begin(); }
/**
* to the keys.
*/
const_iterator
- cend() const
+ cend() const noexcept
{ return _M_t.end(); }
/**
* according to the keys.
*/
const_reverse_iterator
- crbegin() const
+ crbegin() const noexcept
{ return _M_t.rbegin(); }
/**
* 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
* is the user's responsibility.
*/
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{ _M_t.clear(); }
// observers
{ 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(); }
/**
* according to the keys.
*/
iterator
- begin() const
+ begin() const _GLIBCXX_NOEXCEPT
{ return _M_t.begin(); }
/**
* according to the keys.
*/
iterator
- end() const
+ end() const _GLIBCXX_NOEXCEPT
{ return _M_t.end(); }
/**
* according to the keys.
*/
reverse_iterator
- rbegin() const
+ rbegin() const _GLIBCXX_NOEXCEPT
{ return _M_t.rbegin(); }
/**
* according to the keys.
*/
reverse_iterator
- rend() const
+ rend() const _GLIBCXX_NOEXCEPT
{ return _M_t.rend(); }
#ifdef __GXX_EXPERIMENTAL_CXX0X__
* according to the keys.
*/
iterator
- cbegin() const
+ cbegin() const noexcept
{ return _M_t.begin(); }
/**
* according to the keys.
*/
iterator
- cend() const
+ cend() const noexcept
{ return _M_t.end(); }
/**
* according to the keys.
*/
reverse_iterator
- crbegin() const
+ crbegin() const noexcept
{ return _M_t.rbegin(); }
/**
* 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(); }
/**
* is the user's responsibility.
*/
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{ _M_t.clear(); }
// multiset operations:
{ 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(); }
/**
* to the keys.
*/
iterator
- begin() const
+ begin() const _GLIBCXX_NOEXCEPT
{ return _M_t.begin(); }
/**
* to the keys.
*/
iterator
- end() const
+ end() const _GLIBCXX_NOEXCEPT
{ return _M_t.end(); }
/**
* to the keys.
*/
reverse_iterator
- rbegin() const
+ rbegin() const _GLIBCXX_NOEXCEPT
{ return _M_t.rbegin(); }
/**
* according to the keys.
*/
reverse_iterator
- rend() const
+ rend() const _GLIBCXX_NOEXCEPT
{ return _M_t.rend(); }
#ifdef __GXX_EXPERIMENTAL_CXX0X__
* to the keys.
*/
iterator
- cbegin() const
+ cbegin() const noexcept
{ return _M_t.begin(); }
/**
* to the keys.
*/
iterator
- cend() const
+ cend() const noexcept
{ return _M_t.end(); }
/**
* to the keys.
*/
reverse_iterator
- crbegin() const
+ crbegin() const noexcept
{ return _M_t.rbegin(); }
/**
* 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(); }
/**
* the user's responsibility.
*/
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{ _M_t.clear(); }
// set operations:
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:
{ 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
erase(const key_type* __first, const key_type* __last);
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{
_M_erase(_M_begin());
_M_leftmost() = _M_end();
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()
* element order.
*/
iterator
- begin()
+ begin() _GLIBCXX_NOEXCEPT
{ return iterator(this->_M_impl._M_start); }
/**
* element order.
*/
const_iterator
- begin() const
+ begin() const _GLIBCXX_NOEXCEPT
{ return const_iterator(this->_M_impl._M_start); }
/**
* element order.
*/
iterator
- end()
+ end() _GLIBCXX_NOEXCEPT
{ return iterator(this->_M_impl._M_finish); }
/**
* ordinary element order.
*/
const_iterator
- end() const
+ end() const _GLIBCXX_NOEXCEPT
{ return const_iterator(this->_M_impl._M_finish); }
/**
* element order.
*/
reverse_iterator
- rbegin()
+ rbegin() _GLIBCXX_NOEXCEPT
{ return reverse_iterator(end()); }
/**
* reverse element order.
*/
const_reverse_iterator
- rbegin() const
+ rbegin() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(end()); }
/**
* in reverse element order.
*/
reverse_iterator
- rend()
+ rend() _GLIBCXX_NOEXCEPT
{ return reverse_iterator(begin()); }
/**
* is done in reverse element order.
*/
const_reverse_iterator
- rend() const
+ rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
#ifdef __GXX_EXPERIMENTAL_CXX0X__
* element order.
*/
const_iterator
- cbegin() const
+ cbegin() const noexcept
{ return const_iterator(this->_M_impl._M_start); }
/**
* ordinary element order.
*/
const_iterator
- cend() const
+ cend() const noexcept
{ return const_iterator(this->_M_impl._M_finish); }
/**
* reverse element order.
*/
const_reverse_iterator
- crbegin() const
+ crbegin() const noexcept
{ return const_reverse_iterator(end()); }
/**
* 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__
* 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); }
* equal end().)
*/
bool
- empty() const
+ empty() const _GLIBCXX_NOEXCEPT
{ return begin() == end(); }
/**
#else
pointer
#endif
- data()
+ data() _GLIBCXX_NOEXCEPT
{ return std::__addressof(front()); }
#ifdef __GXX_EXPERIMENTAL_CXX0X__
#else
const_pointer
#endif
- data() const
+ data() const _GLIBCXX_NOEXCEPT
{ return std::__addressof(front()); }
// [23.2.4.3] modifiers
* the user's responsibility.
*/
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{ _M_erase_at_end(this->_M_impl._M_start); }
protected:
// 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
// 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
}
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>
// 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;
}
void
- clear()
+ clear() noexcept
{
_Base::clear();
this->_M_invalidate_all();
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
_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);
}
// 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
// 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
}
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{
_Base::clear();
this->_M_invalidate_all();
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
// 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
}
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{
this->_M_invalidate_all();
_Base::clear();
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
// 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
}
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{
this->_M_invalidate_all();
_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; }
private:
void
// 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
// 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
}
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{
this->_M_invalidate_all();
_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; }
private:
void
// 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
}
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{
this->_M_invalidate_all();
_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; }
private:
void
}
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
}
_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
}
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
}
_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
// 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
}
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
}
_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
}
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
}
_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
// 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
// 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
#endif
size_type
- capacity() const
+ capacity() const _GLIBCXX_NOEXCEPT
{
#ifdef _GLIBCXX_DEBUG_PEDANTIC
return _M_guaranteed_capacity;
}
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; }
private:
size_type _M_guaranteed_capacity;
// 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
// 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
}
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>
// <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
}
_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>
// 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
: _Base(__l, __a) { }
#endif
- ~list() {
+ ~list()
+ {
__profcxx_list_destruct(this);
__profcxx_list_destruct2(this);
}
// 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
{ _Base::swap(__x); }
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{ _Base::clear(); }
// 23.2.2.4 list operations:
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);
// 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());
#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());
#endif
void
-
swap(map& __x)
{ _Base::swap(__x); }
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{ this->erase(begin(), end()); }
// observers:
}
_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; }
};
// 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
{ _Base::swap(__x); }
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{ this->erase(begin(), end()); }
// observers:
}
_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,
// 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
// 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
{ _Base::swap(__x); }
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{ this->erase(begin(), end()); }
// observers:
}
_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; }
};
// 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
// 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
{ _Base::swap(__x); }
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{ this->erase(begin(), end()); }
// observers:
}
_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; }
};
// 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
}
_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());
}
_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());
// 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
}
void
- clear()
+ clear() noexcept
{
__profcxx_hashtable_destruct(this, _Base::bucket_count(),
_Base::size());
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)
}
void
- clear()
+ clear() noexcept
{
__profcxx_hashtable_destruct(this, _Base::bucket_count(),
_Base::size());
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)
// 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
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
: _Base(__l, __a) { }
#endif
- ~vector() {
+ ~vector()
+ {
__profcxx_vector_destruct(this, this->capacity(), this->size());
__profcxx_vector_destruct2(this);
}
// 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
}
void
- clear()
+ clear() _GLIBCXX_NOEXCEPT
{
__profcxx_vector_destruct(this, this->capacity(), this->size());
__profcxx_vector_destruct2(this);
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)
{
}
void
- _List_node_base::_M_reverse() throw ()
+ _List_node_base::_M_reverse() _GLIBCXX_USE_NOEXCEPT
{
_List_node_base* __tmp = this;
do
}
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;
}
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;
_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 )
{
}
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)
{
}
void
- _List_node_base::_M_reverse() throw()
+ _List_node_base::_M_reverse() _GLIBCXX_USE_NOEXCEPT
{
_List_node_base* __tmp = this;
do
}
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;
}
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;