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