Commit fee84d55 by François Dumont

2017-05-11 François Dumont <fdumont@gcc.gnu.org>

	* include/bits/stl_tree.h [_GLIBCXX_INLINE_VERSION]
	(_Rb_tree_impl<>): Remove _Is_pod_comparator
	template parameter.

From-SVN: r247929
parent 1bea0f26
2017-05-11 François Dumont <fdumont@gcc.gnu.org> 2017-05-11 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_tree.h [_GLIBCXX_INLINE_VERSION]
(_Rb_tree_impl<>): Remove _Is_pod_comparator
template parameter.
* include/debug/safe_container.h [_GLIBCXX_USE_CXX11_ABI] * include/debug/safe_container.h [_GLIBCXX_USE_CXX11_ABI]
(_Safe_container<>): Remove _IsCxx11AllocatorAware template parameter. (_Safe_container<>): Remove _IsCxx11AllocatorAware template parameter.
* include/debug/string: Adapt. * include/debug/string: Adapt.
...@@ -48,8 +52,6 @@ ...@@ -48,8 +52,6 @@
* include/std/variant: Adapt. * include/std/variant: Adapt.
* python/libstdcxx/v6/printers.py: Adapt. * python/libstdcxx/v6/printers.py: Adapt.
* testsuite/libstdc++-prettyprinters/48362.cc: Adapt. * testsuite/libstdc++-prettyprinters/48362.cc: Adapt.
* include/bits/stl_tree.h (_Rb_tree_impl<>): Remove _Is_pod_comparator
template parameter when version namespace is active.
* include/bits/stl_algobase.h (std::__iter_swap<false>): Remove * include/bits/stl_algobase.h (std::__iter_swap<false>): Remove
_GLIBCXX_MOVE usage. _GLIBCXX_MOVE usage.
......
...@@ -91,7 +91,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -91,7 +91,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// time begin(), and to the rightmost node of the tree, to enable // time begin(), and to the rightmost node of the tree, to enable
// linear time performance when used with the generic set algorithms // linear time performance when used with the generic set algorithms
// (set_union, etc.) // (set_union, etc.)
// //
// (2) when a node being deleted has two children its successor node // (2) when a node being deleted has two children its successor node
// is relinked into its place, rather than copied, so that the only // is relinked into its place, rather than copied, so that the only
// iterators invalidated are those referring to the deleted node. // iterators invalidated are those referring to the deleted node.
...@@ -260,11 +260,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -260,11 +260,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef _Tp* pointer; typedef _Tp* pointer;
typedef bidirectional_iterator_tag iterator_category; typedef bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type; typedef ptrdiff_t difference_type;
typedef _Rb_tree_iterator<_Tp> _Self; typedef _Rb_tree_iterator<_Tp> _Self;
typedef _Rb_tree_node_base::_Base_ptr _Base_ptr; typedef _Rb_tree_node_base::_Base_ptr _Base_ptr;
typedef _Rb_tree_node<_Tp>* _Link_type; typedef _Rb_tree_node<_Tp>* _Link_type;
_Rb_tree_iterator() _GLIBCXX_NOEXCEPT _Rb_tree_iterator() _GLIBCXX_NOEXCEPT
: _M_node() { } : _M_node() { }
...@@ -325,18 +325,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -325,18 +325,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp> template<typename _Tp>
struct _Rb_tree_const_iterator struct _Rb_tree_const_iterator
{ {
typedef _Tp value_type; typedef _Tp value_type;
typedef const _Tp& reference; typedef const _Tp& reference;
typedef const _Tp* pointer; typedef const _Tp* pointer;
typedef _Rb_tree_iterator<_Tp> iterator; typedef _Rb_tree_iterator<_Tp> iterator;
typedef bidirectional_iterator_tag iterator_category; typedef bidirectional_iterator_tag iterator_category;
typedef ptrdiff_t difference_type; typedef ptrdiff_t difference_type;
typedef _Rb_tree_const_iterator<_Tp> _Self; typedef _Rb_tree_const_iterator<_Tp> _Self;
typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr; typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr;
typedef const _Rb_tree_node<_Tp>* _Link_type; typedef const _Rb_tree_node<_Tp>* _Link_type;
_Rb_tree_const_iterator() _GLIBCXX_NOEXCEPT _Rb_tree_const_iterator() _GLIBCXX_NOEXCEPT
: _M_node() { } : _M_node() { }
...@@ -404,20 +404,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -404,20 +404,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Val> template<typename _Val>
inline bool inline bool
operator==(const _Rb_tree_iterator<_Val>& __x, operator==(const _Rb_tree_iterator<_Val>& __x,
const _Rb_tree_const_iterator<_Val>& __y) _GLIBCXX_NOEXCEPT const _Rb_tree_const_iterator<_Val>& __y) _GLIBCXX_NOEXCEPT
{ return __x._M_node == __y._M_node; } { return __x._M_node == __y._M_node; }
template<typename _Val> template<typename _Val>
inline bool inline bool
operator!=(const _Rb_tree_iterator<_Val>& __x, operator!=(const _Rb_tree_iterator<_Val>& __x,
const _Rb_tree_const_iterator<_Val>& __y) _GLIBCXX_NOEXCEPT const _Rb_tree_const_iterator<_Val>& __y) _GLIBCXX_NOEXCEPT
{ return __x._M_node != __y._M_node; } { return __x._M_node != __y._M_node; }
void void
_Rb_tree_insert_and_rebalance(const bool __insert_left, _Rb_tree_insert_and_rebalance(const bool __insert_left,
_Rb_tree_node_base* __x, _Rb_tree_node_base* __x,
_Rb_tree_node_base* __p, _Rb_tree_node_base* __p,
_Rb_tree_node_base& __header) throw (); _Rb_tree_node_base& __header) throw ();
_Rb_tree_node_base* _Rb_tree_node_base*
_Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z, _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z,
...@@ -440,11 +440,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -440,11 +440,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif #endif
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc = allocator<_Val> > typename _Compare, typename _Alloc = allocator<_Val> >
class _Rb_tree class _Rb_tree
{ {
typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
rebind<_Rb_tree_node<_Val> >::other _Node_allocator; rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits; typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits;
...@@ -573,7 +573,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -573,7 +573,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_Node_allocator& _Node_allocator&
_M_get_Node_allocator() _GLIBCXX_NOEXCEPT _M_get_Node_allocator() _GLIBCXX_NOEXCEPT
{ return *static_cast<_Node_allocator*>(&this->_M_impl); } { return *static_cast<_Node_allocator*>(&this->_M_impl); }
const _Node_allocator& const _Node_allocator&
_M_get_Node_allocator() const _GLIBCXX_NOEXCEPT _M_get_Node_allocator() const _GLIBCXX_NOEXCEPT
{ return *static_cast<const _Node_allocator*>(&this->_M_impl); } { return *static_cast<const _Node_allocator*>(&this->_M_impl); }
...@@ -636,8 +636,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -636,8 +636,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename... _Args> template<typename... _Args>
_Link_type _Link_type
_M_create_node(_Args&&... __args) _M_create_node(_Args&&... __args)
{ {
_Link_type __tmp = _M_get_node(); _Link_type __tmp = _M_get_node();
_M_construct_node(__tmp, std::forward<_Args>(__args)...); _M_construct_node(__tmp, std::forward<_Args>(__args)...);
...@@ -671,14 +671,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -671,14 +671,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
protected: protected:
#if _GLIBCXX_INLINE_VERSION
template<typename _Key_compare>
#else
// Unused _Is_pod_comparator is kept as it is part of mangled name. // Unused _Is_pod_comparator is kept as it is part of mangled name.
template<typename _Key_compare, template<typename _Key_compare,
bool /* _Is_pod_comparator */ = __is_pod(_Key_compare)> bool /* _Is_pod_comparator */ = __is_pod(_Key_compare)>
struct _Rb_tree_impl #endif
struct _Rb_tree_impl
: public _Node_allocator : public _Node_allocator
, public _Rb_tree_key_compare<_Key_compare> , public _Rb_tree_key_compare<_Key_compare>
, public _Rb_tree_header , public _Rb_tree_header
{ {
typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare; typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare;
#if __cplusplus < 201103L #if __cplusplus < 201103L
...@@ -828,19 +832,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -828,19 +832,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
private: private:
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
template<typename _Arg, typename _NodeGen> template<typename _Arg, typename _NodeGen>
iterator iterator
_M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&); _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
iterator iterator
_M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z); _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z);
template<typename _Arg> template<typename _Arg>
iterator iterator
_M_insert_lower(_Base_ptr __y, _Arg&& __v); _M_insert_lower(_Base_ptr __y, _Arg&& __v);
template<typename _Arg> template<typename _Arg>
iterator iterator
_M_insert_equal_lower(_Arg&& __x); _M_insert_equal_lower(_Arg&& __x);
iterator iterator
_M_insert_lower_node(_Base_ptr __p, _Link_type __z); _M_insert_lower_node(_Base_ptr __p, _Link_type __z);
...@@ -991,7 +995,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -991,7 +995,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ return _M_impl._M_node_count == 0; } { return _M_impl._M_node_count == 0; }
size_type size_type
size() const _GLIBCXX_NOEXCEPT size() const _GLIBCXX_NOEXCEPT
{ return _M_impl._M_node_count; } { return _M_impl._M_node_count; }
size_type size_type
...@@ -1005,15 +1009,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1005,15 +1009,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// Insert/erase. // Insert/erase.
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
template<typename _Arg> template<typename _Arg>
pair<iterator, bool> pair<iterator, bool>
_M_insert_unique(_Arg&& __x); _M_insert_unique(_Arg&& __x);
template<typename _Arg> template<typename _Arg>
iterator iterator
_M_insert_equal(_Arg&& __x); _M_insert_equal(_Arg&& __x);
template<typename _Arg, typename _NodeGen> template<typename _Arg, typename _NodeGen>
iterator iterator
_M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&); _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&);
template<typename _Arg> template<typename _Arg>
...@@ -1083,12 +1087,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1083,12 +1087,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif #endif
template<typename _InputIterator> template<typename _InputIterator>
void void
_M_insert_unique(_InputIterator __first, _InputIterator __last); _M_insert_unique(_InputIterator __first, _InputIterator __last);
template<typename _InputIterator> template<typename _InputIterator>
void void
_M_insert_equal(_InputIterator __first, _InputIterator __last); _M_insert_equal(_InputIterator __first, _InputIterator __last);
private: private:
void void
...@@ -1166,7 +1170,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1166,7 +1170,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
void void
clear() _GLIBCXX_NOEXCEPT clear() _GLIBCXX_NOEXCEPT
{ {
_M_erase(_M_begin()); _M_erase(_M_begin());
_M_impl._M_reset(); _M_impl._M_reset();
} }
...@@ -1526,7 +1530,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1526,7 +1530,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}; };
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
inline bool inline bool
operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
...@@ -1536,7 +1540,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1536,7 +1540,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
inline bool inline bool
operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
...@@ -1546,35 +1550,35 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1546,35 +1550,35 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
inline bool inline bool
operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
{ return !(__x == __y); } { return !(__x == __y); }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
inline bool inline bool
operator>(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, operator>(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
{ return __y < __x; } { return __y < __x; }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
inline bool inline bool
operator<=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, operator<=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
{ return !(__y < __x); } { return !(__y < __x); }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
inline bool inline bool
operator>=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, operator>=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
{ return !(__x < __y); } { return !(__x < __y); }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
inline void inline void
swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
...@@ -1582,7 +1586,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1582,7 +1586,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a) _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a)
: _M_impl(__x._M_impl._M_key_compare, std::move(__a)) : _M_impl(__x._M_impl._M_key_compare, std::move(__a))
...@@ -1593,7 +1597,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1593,7 +1597,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
void void
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_M_move_data(_Rb_tree& __x, std::false_type) _M_move_data(_Rb_tree& __x, std::false_type)
...@@ -1614,7 +1618,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1614,7 +1618,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
inline void inline void
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_M_move_assign(_Rb_tree& __x, true_type) _M_move_assign(_Rb_tree& __x, true_type)
...@@ -1627,7 +1631,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1627,7 +1631,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
void void
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_M_move_assign(_Rb_tree& __x, false_type) _M_move_assign(_Rb_tree& __x, false_type)
...@@ -1653,7 +1657,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1653,7 +1657,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
operator=(_Rb_tree&& __x) operator=(_Rb_tree&& __x)
...@@ -1666,7 +1670,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1666,7 +1670,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
template<typename _Iterator> template<typename _Iterator>
void void
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
...@@ -1679,7 +1683,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1679,7 +1683,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
template<typename _Iterator> template<typename _Iterator>
void void
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
...@@ -1693,7 +1697,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1693,7 +1697,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif #endif
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
operator=(const _Rb_tree& __x) operator=(const _Rb_tree& __x)
...@@ -1728,7 +1732,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1728,7 +1732,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
template<typename _Arg, typename _NodeGen> template<typename _Arg, typename _NodeGen>
#else #else
...@@ -1757,7 +1761,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1757,7 +1761,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
template<typename _Arg> template<typename _Arg>
#endif #endif
...@@ -1782,7 +1786,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1782,7 +1786,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
template<typename _Arg> template<typename _Arg>
#endif #endif
...@@ -1800,7 +1804,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1800,7 +1804,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
__y = __x; __y = __x;
__x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ? __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ?
_S_left(__x) : _S_right(__x); _S_left(__x) : _S_right(__x);
} }
return _M_insert_lower(__y, _GLIBCXX_FORWARD(_Arg, __v)); return _M_insert_lower(__y, _GLIBCXX_FORWARD(_Arg, __v));
} }
...@@ -1843,7 +1847,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1843,7 +1847,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
void void
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_M_erase(_Link_type __x) _M_erase(_Link_type __x)
...@@ -1859,7 +1863,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1859,7 +1863,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::iterator _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
...@@ -1875,7 +1879,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1875,7 +1879,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::const_iterator _Compare, _Alloc>::const_iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
...@@ -1891,7 +1895,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1891,7 +1895,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::iterator _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
...@@ -1907,7 +1911,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1907,7 +1911,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::const_iterator _Compare, _Alloc>::const_iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
...@@ -1923,7 +1927,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1923,7 +1927,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::iterator, _Compare, _Alloc>::iterator,
typename _Rb_tree<_Key, _Val, _KeyOfValue, typename _Rb_tree<_Key, _Val, _KeyOfValue,
...@@ -1946,7 +1950,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1946,7 +1950,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__y = __x, __x = _S_left(__x); __y = __x, __x = _S_left(__x);
__xu = _S_right(__xu); __xu = _S_right(__xu);
return pair<iterator, return pair<iterator,
iterator>(_M_lower_bound(__x, __y, __k), iterator>(_M_lower_bound(__x, __y, __k),
_M_upper_bound(__xu, __yu, __k)); _M_upper_bound(__xu, __yu, __k));
} }
} }
...@@ -1955,7 +1959,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1955,7 +1959,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::const_iterator, _Compare, _Alloc>::const_iterator,
typename _Rb_tree<_Key, _Val, _KeyOfValue, typename _Rb_tree<_Key, _Val, _KeyOfValue,
...@@ -1978,7 +1982,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1978,7 +1982,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__y = __x, __x = _S_left(__x); __y = __x, __x = _S_left(__x);
__xu = _S_right(__xu); __xu = _S_right(__xu);
return pair<const_iterator, return pair<const_iterator,
const_iterator>(_M_lower_bound(__x, __y, __k), const_iterator>(_M_lower_bound(__x, __y, __k),
_M_upper_bound(__xu, __yu, __k)); _M_upper_bound(__xu, __yu, __k));
} }
} }
...@@ -1987,7 +1991,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -1987,7 +1991,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
void void
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
swap(_Rb_tree& __t) swap(_Rb_tree& __t)
...@@ -2005,7 +2009,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2005,7 +2009,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
std::swap(_M_root(),__t._M_root()); std::swap(_M_root(),__t._M_root());
std::swap(_M_leftmost(),__t._M_leftmost()); std::swap(_M_leftmost(),__t._M_leftmost());
std::swap(_M_rightmost(),__t._M_rightmost()); std::swap(_M_rightmost(),__t._M_rightmost());
_M_root()->_M_parent = _M_end(); _M_root()->_M_parent = _M_end();
__t._M_root()->_M_parent = __t._M_end(); __t._M_root()->_M_parent = __t._M_end();
std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count); std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count);
...@@ -2018,7 +2022,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2018,7 +2022,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::_Base_ptr, _Compare, _Alloc>::_Base_ptr,
typename _Rb_tree<_Key, _Val, _KeyOfValue, typename _Rb_tree<_Key, _Val, _KeyOfValue,
...@@ -2050,7 +2054,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2050,7 +2054,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::_Base_ptr, _Compare, _Alloc>::_Base_ptr,
typename _Rb_tree<_Key, _Val, _KeyOfValue, typename _Rb_tree<_Key, _Val, _KeyOfValue,
...@@ -2065,13 +2069,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2065,13 +2069,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
__y = __x; __y = __x;
__x = _M_impl._M_key_compare(__k, _S_key(__x)) ? __x = _M_impl._M_key_compare(__k, _S_key(__x)) ?
_S_left(__x) : _S_right(__x); _S_left(__x) : _S_right(__x);
} }
return _Res(__x, __y); return _Res(__x, __y);
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
template<typename _Arg> template<typename _Arg>
#endif #endif
...@@ -2100,7 +2104,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2100,7 +2104,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
template<typename _Arg> template<typename _Arg>
#endif #endif
...@@ -2120,10 +2124,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2120,10 +2124,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::_Base_ptr, _Compare, _Alloc>::_Base_ptr,
typename _Rb_tree<_Key, _Val, _KeyOfValue, typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::_Base_ptr> _Compare, _Alloc>::_Base_ptr>
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_M_get_insert_hint_unique_pos(const_iterator __position, _M_get_insert_hint_unique_pos(const_iterator __position,
...@@ -2179,7 +2183,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2179,7 +2183,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
template<typename _Arg, typename _NodeGen> template<typename _Arg, typename _NodeGen>
#else #else
...@@ -2206,10 +2210,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2206,10 +2210,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::_Base_ptr, _Compare, _Alloc>::_Base_ptr,
typename _Rb_tree<_Key, _Val, _KeyOfValue, typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::_Base_ptr> _Compare, _Alloc>::_Base_ptr>
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k) _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k)
...@@ -2244,7 +2248,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2244,7 +2248,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
else else
{ {
// ... then try after. // ... then try after.
iterator __after = __pos; iterator __after = __pos;
if (__pos._M_node == _M_rightmost()) if (__pos._M_node == _M_rightmost())
return _Res(0, _M_rightmost()); return _Res(0, _M_rightmost());
...@@ -2261,7 +2265,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2261,7 +2265,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
template<typename _Arg, typename _NodeGen> template<typename _Arg, typename _NodeGen>
#else #else
...@@ -2290,7 +2294,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2290,7 +2294,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#if __cplusplus >= 201103L #if __cplusplus >= 201103L
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z) _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z)
...@@ -2306,7 +2310,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2306,7 +2310,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_M_insert_lower_node(_Base_ptr __p, _Link_type __z) _M_insert_lower_node(_Base_ptr __p, _Link_type __z)
...@@ -2322,7 +2326,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2322,7 +2326,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_M_insert_equal_lower_node(_Link_type __z) _M_insert_equal_lower_node(_Link_type __z)
...@@ -2333,13 +2337,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2333,13 +2337,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
__y = __x; __y = __x;
__x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ? __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ?
_S_left(__x) : _S_right(__x); _S_left(__x) : _S_right(__x);
} }
return _M_insert_lower_node(__y, __z); return _M_insert_lower_node(__y, __z);
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
template<typename... _Args> template<typename... _Args>
pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::iterator, bool> _Compare, _Alloc>::iterator, bool>
...@@ -2366,7 +2370,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2366,7 +2370,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
template<typename... _Args> template<typename... _Args>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
...@@ -2387,7 +2391,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2387,7 +2391,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
template<typename... _Args> template<typename... _Args>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
...@@ -2413,7 +2417,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2413,7 +2417,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
template<typename... _Args> template<typename... _Args>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
...@@ -2439,7 +2443,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2439,7 +2443,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif #endif
template<typename _Key, typename _Val, typename _KoV, template<typename _Key, typename _Val, typename _KoV,
typename _Cmp, typename _Alloc> typename _Cmp, typename _Alloc>
template<class _II> template<class _II>
void void
_Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>::
...@@ -2451,7 +2455,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2451,7 +2455,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KoV, template<typename _Key, typename _Val, typename _KoV,
typename _Cmp, typename _Alloc> typename _Cmp, typename _Alloc>
template<class _II> template<class _II>
void void
_Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>::
...@@ -2463,7 +2467,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2463,7 +2467,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
void void
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_M_erase_aux(const_iterator __position) _M_erase_aux(const_iterator __position)
...@@ -2477,7 +2481,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2477,7 +2481,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
void void
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_M_erase_aux(const_iterator __first, const_iterator __last) _M_erase_aux(const_iterator __first, const_iterator __last)
...@@ -2490,7 +2494,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2490,7 +2494,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
erase(const _Key& __x) erase(const _Key& __x)
...@@ -2502,7 +2506,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2502,7 +2506,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
void void
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
erase(const _Key* __first, const _Key* __last) erase(const _Key* __first, const _Key* __last)
...@@ -2512,7 +2516,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2512,7 +2516,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::iterator _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
...@@ -2525,7 +2529,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2525,7 +2529,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::const_iterator _Compare, _Alloc>::const_iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
...@@ -2533,12 +2537,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2533,12 +2537,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ {
const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
return (__j == end() return (__j == end()
|| _M_impl._M_key_compare(__k, || _M_impl._M_key_compare(__k,
_S_key(__j._M_node))) ? end() : __j; _S_key(__j._M_node))) ? end() : __j;
} }
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
count(const _Key& __k) const count(const _Key& __k) const
...@@ -2550,10 +2554,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -2550,10 +2554,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_PURE unsigned int _GLIBCXX_PURE unsigned int
_Rb_tree_black_count(const _Rb_tree_node_base* __node, _Rb_tree_black_count(const _Rb_tree_node_base* __node,
const _Rb_tree_node_base* __root) throw (); const _Rb_tree_node_base* __root) throw ();
template<typename _Key, typename _Val, typename _KeyOfValue, template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc> typename _Compare, typename _Alloc>
bool bool
_Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment