STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | List of all members
map< _Kty, _Ty, _Pr, _Alloc > Class Template Reference
Inheritance diagram for map< _Kty, _Ty, _Pr, _Alloc >:
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Tree_comp_alloc< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > >

Public Types

typedef map< _Kty, _Ty, _Pr, _Alloc_Myt
 
typedef _Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
 
typedef _Kty key_type
 
typedef _Ty mapped_type
 
typedef _Pr key_compare
 
typedef _Mybase::value_compare value_compare
 
typedef _Mybase::allocator_type allocator_type
 
typedef _Mybase::size_type size_type
 
typedef _Mybase::difference_type difference_type
 
typedef _Mybase::pointer pointer
 
typedef _Mybase::const_pointer const_pointer
 
typedef _Mybase::reference reference
 
typedef _Mybase::const_reference const_reference
 
typedef _Mybase::iterator iterator
 
typedef _Mybase::const_iterator const_iterator
 
typedef _Mybase::reverse_iterator reverse_iterator
 
typedef _Mybase::const_reverse_iterator const_reverse_iterator
 
typedef _Mybase::value_type value_type
 
typedef _Mybase::_Alty _Alty
 
typedef _Mybase::_Pairib _Pairib
 
- Public Types inherited from _Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > >
enum  
 
typedef _Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Myt
 
typedef _Tree_comp_alloc< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
 
typedef _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false >::key_type key_type
 
typedef _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false >::value_compare value_compare
 
typedef _Mybase::_Node _Node
 
typedef _Mybase::_Nodeptr _Nodeptr
 
typedef _Mybase::_Alty _Alty
 
typedef _Mybase::key_compare key_compare
 
typedef _Mybase::allocator_type allocator_type
 
typedef _Mybase::value_type value_type
 
typedef _Mybase::size_type size_type
 
typedef _Mybase::difference_type difference_type
 
typedef _Mybase::pointer pointer
 
typedef _Mybase::const_pointer const_pointer
 
typedef _Mybase::reference reference
 
typedef _Mybase::const_reference const_reference
 
typedef _Mybase::const_iterator const_iterator
 
typedef _If< is_same< key_type, value_type >::value, typename _Mybase::const_iterator, typename _Mybase::iterator >::type iterator
 
typedef _STD reverse_iterator< iteratorreverse_iterator
 
typedef _STD reverse_iterator< const_iteratorconst_reverse_iterator
 
typedef pair< iterator, bool_Pairib
 
typedef pair< iterator, iterator_Pairii
 
typedef pair< const_iterator, const_iterator_Paircc
 
- Public Types inherited from _Tree_comp_alloc< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > >
enum  _Redbl
 
typedef _Tree_comp_alloc< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Myt
 
typedef _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false >::allocator_type allocator_type
 
typedef _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false >::key_compare key_compare
 
typedef _Tree_base_types< typename _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false >::value_type, allocator_type_Alloc_types
 
typedef _Alloc_types::_Alloc _Alloc
 
typedef _Alloc_types::_Alnod_type _Alty
 
typedef _Alloc_types::_Node _Node
 
typedef _Alloc_types::_Nodeptr _Nodeptr
 
typedef _Alloc_types::_Val_types _Val_types
 
typedef _Nodeptr_Nodepref
 
typedef _Val_types::value_type value_type
 
typedef _Val_types::size_type size_type
 
typedef _Val_types::difference_type difference_type
 
typedef _Val_types::pointer pointer
 
typedef _Val_types::const_pointer const_pointer
 
typedef _Val_types::reference reference
 
typedef _Val_types::const_reference const_reference
 
typedef _Tree_const_iterator< _Tree_val< _Val_types > > const_iterator
 
typedef _Tree_iterator< _Tree_val< _Val_types > > iterator
 

Public Member Functions

 map ()
 
 map (const allocator_type &_Al)
 
 map (const _Myt &_Right)
 
 map (const _Myt &_Right, const allocator_type &_Al)
 
 map (const key_compare &_Pred)
 
 map (const key_compare &_Pred, const allocator_type &_Al)
 
template<class _Iter >
 map (_Iter _First, _Iter _Last)
 
template<class _Iter >
 map (_Iter _First, _Iter _Last, const key_compare &_Pred)
 
template<class _Iter >
 map (_Iter _First, _Iter _Last, const key_compare &_Pred, const allocator_type &_Al)
 
_Mytoperator= (const _Myt &_Right)
 
 map (_Myt &&_Right)
 
 map (_Myt &&_Right, const allocator_type &_Al)
 
_Mytoperator= (_Myt &&_Right) _NOEXCEPT_OP(_Alty
 
mapped_typeoperator[] (key_type &&_Keyval)
 
void swap (_Myt &_Right) _NOEXCEPT_OP(_Alty
 
template<class _Valty , class = enable_if_t<is_constructible<value_type, _Valty>::value>>
_Pairib insert (_Valty &&_Val)
 
template<class _Valty , class = enable_if_t<is_constructible<value_type, _Valty>::value>>
iterator insert (const_iterator _Where, _Valty &&_Val)
 
template<class _Keyty , class... _Mappedty>
_Pairib _Try_emplace (_Keyty &&_Keyval, _Mappedty &&..._Mapval)
 
template<class... _Mappedty>
_Pairib try_emplace (const key_type &_Keyval, _Mappedty &&..._Mapval)
 
template<class... _Mappedty>
iterator try_emplace (const_iterator, const key_type &_Keyval, _Mappedty &&..._Mapval)
 
template<class... _Mappedty>
_Pairib try_emplace (key_type &&_Keyval, _Mappedty &&..._Mapval)
 
template<class... _Mappedty>
iterator try_emplace (const_iterator, key_type &&_Keyval, _Mappedty &&..._Mapval)
 
template<class _Keyty , class _Mappedty >
_Pairib _Insert_or_assign (_Keyty &&_Keyval, _Mappedty &&_Mapval)
 
template<class _Mappedty >
_Pairib insert_or_assign (const key_type &_Keyval, _Mappedty &&_Mapval)
 
template<class _Mappedty >
iterator insert_or_assign (const_iterator, const key_type &_Keyval, _Mappedty &&_Mapval)
 
template<class _Mappedty >
_Pairib insert_or_assign (key_type &&_Keyval, _Mappedty &&_Mapval)
 
template<class _Mappedty >
iterator insert_or_assign (const_iterator, key_type &&_Keyval, _Mappedty &&_Mapval)
 
 map (_XSTD initializer_list< value_type > _Ilist)
 
 map (_XSTD initializer_list< value_type > _Ilist, const key_compare &_Pred)
 
 map (_XSTD initializer_list< value_type > _Ilist, const key_compare &_Pred, const allocator_type &_Al)
 
_Mytoperator= (_XSTD initializer_list< value_type > _Ilist)
 
mapped_typeoperator[] (const key_type &_Keyval)
 
mapped_typeat (const key_type &_Keyval)
 
const mapped_typeat (const key_type &_Keyval) const
 
- Public Member Functions inherited from _Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > >
 _Tree (const key_compare &_Parg)
 
 _Tree (const key_compare &_Parg, const allocator_type &_Al)
 
 _Tree (const _Myt &_Right, _Any_alloc &&_Al)
 
 _Tree (_Myt &&_Right)
 
 _Tree (_Myt &&_Right, const allocator_type &_Al)
 
_Mytoperator= (_Myt &&_Right)
 
_Mytoperator= (const _Myt &_Right)
 
void _Assign_rv (_Myt &&_Right, true_type)
 
void _Assign_rv (_Myt &&_Right, false_type)
 
void _Assign_rv (_Myt &&_Right)
 
_Pairib emplace (_Valty &&..._Val)
 
iterator emplace_hint (const_iterator _Where, _Valty &&..._Val)
 
 ~_Tree () _NOEXCEPT
 
iterator begin () _NOEXCEPT
 
const_iterator begin () const _NOEXCEPT
 
iterator end () _NOEXCEPT
 
const_iterator end () const _NOEXCEPT
 
reverse_iterator rbegin () _NOEXCEPT
 
const_reverse_iterator rbegin () const _NOEXCEPT
 
reverse_iterator rend () _NOEXCEPT
 
const_reverse_iterator rend () const _NOEXCEPT
 
const_iterator cbegin () const _NOEXCEPT
 
const_iterator cend () const _NOEXCEPT
 
const_reverse_iterator crbegin () const _NOEXCEPT
 
const_reverse_iterator crend () const _NOEXCEPT
 
size_type size () const _NOEXCEPT
 
size_type max_size () const _NOEXCEPT
 
bool empty () const _NOEXCEPT
 
allocator_type get_allocator () const _NOEXCEPT
 
key_compare key_comp () const
 
value_compare value_comp () const
 
_Pairib insert (const value_type &_Val)
 
iterator insert (const value_type &_Val)
 
_Pairib insert (value_type &&_Val)
 
iterator insert (value_type &&_Val)
 
iterator insert (const_iterator _Where, const value_type &_Val)
 
iterator insert (const_iterator _Where, value_type &&_Val)
 
void insert (_Iter _First, _Iter _Last)
 
void insert (_XSTD initializer_list< value_type > _Ilist)
 
iterator erase (const_iterator _Where)
 
iterator erase (const_iterator _First, const_iterator _Last)
 
size_type erase (const key_type &_Keyval)
 
void clear () _NOEXCEPT
 
iterator find (const key_type &_Keyval)
 
const_iterator find (const key_type &_Keyval) const
 
iterator find (const _Other &_Keyval)
 
const_iterator find (const _Other &_Keyval) const
 
size_type count (const key_type &_Keyval) const
 
size_type count (const _Other &_Keyval) const
 
iterator lower_bound (const key_type &_Keyval)
 
const_iterator lower_bound (const key_type &_Keyval) const
 
iterator lower_bound (const _Other &_Keyval)
 
const_iterator lower_bound (const _Other &_Keyval) const
 
iterator upper_bound (const key_type &_Keyval)
 
const_iterator upper_bound (const key_type &_Keyval) const
 
iterator upper_bound (const _Other &_Keyval)
 
const_iterator upper_bound (const _Other &_Keyval) const
 
_Pairii equal_range (const key_type &_Keyval)
 
_Paircc equal_range (const key_type &_Keyval) const
 
_Pairii equal_range (const _Other &_Keyval)
 
_Paircc equal_range (const _Other &_Keyval) const
 
void swap (_Myt &_Right)
 
- Public Member Functions inherited from _Tree_comp_alloc< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > >
 _Tree_comp_alloc (const key_compare &_Parg)
 
 _Tree_comp_alloc (const key_compare &_Parg, _Any_alloc &&_Al)
 
void _Construct ()
 
 ~_Tree_comp_alloc () _NOEXCEPT
 
void _Copy_alloc (const _Alty &_Al)
 
void _Move_alloc (_Alty &_Al)
 
void _Orphan_all ()
 
void _Swap_all (_Myt &_Right)
 
_Nodeptr _Buyheadnode ()
 
void _Freeheadnode (_Nodeptr _Pnode)
 
_Nodeptr _Buynode0 ()
 
void _Freenode0 (_Nodeptr _Pnode)
 
_Nodeptr _Buynode (_Valty &&..._Val)
 
key_compare_Getcomp () _NOEXCEPT
 
const key_compare_Getcomp () const _NOEXCEPT
 
_Alty_Getal () _NOEXCEPT
 
const _Alty_Getal () const _NOEXCEPT
 
_Tree_val< _Val_types > & _Get_data () _NOEXCEPT
 
const _Tree_val< _Val_types > & _Get_data () const _NOEXCEPT
 
_Nodeptr_Myhead () _NOEXCEPT
 
const _Nodeptr_Myhead () const _NOEXCEPT
 
size_type_Mysize () _NOEXCEPT
 
const size_type_Mysize () const _NOEXCEPT
 

Additional Inherited Members

- Static Public Member Functions inherited from _Tree_comp_alloc< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > >
static char & _Color (_Nodeptr _Pnode)
 
static char & _Isnil (_Nodeptr _Pnode)
 
static _Nodepref _Left (_Nodeptr _Pnode)
 
static _Nodepref _Parent (_Nodeptr _Pnode)
 
static _Nodepref _Right (_Nodeptr _Pnode)
 
static reference _Myval (_Nodeptr _Pnode)
 
static _Nodeptr _Max (_Nodeptr _Pnode)
 
static _Nodeptr _Min (_Nodeptr _Pnode)
 
- Protected Member Functions inherited from _Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > >
_Nodeptr _Buynode_if_nil (_Nodeptr _Node, _Valty &&)
 
_Nodeptr _Buynode_if_nil (_Nil, _Valty &&_Val)
 
void _Destroy_if_not_nil (_Nodeptr _Newnode)
 
void _Destroy_if_not_nil (_Nil)
 
iterator _Insert_hint (const_iterator _Where, _Valty &&_Val, _Nodety _Newnode)
 
_Pairib _Insert_nohint (bool _Leftish, _Valty &&_Val, _Nodety _Newnode)
 
iterator _Insert_at (bool _Addleft, _Nodeptr _Wherenode, _Valty &&_Val, _Nodety _Node)
 
void _Copy (const _Myt &_Right, _Moveit _Movefl)
 
_Nodeptr _Copy_or_move (_Ty &_Val, _Copy_tag, _Is_set)
 
_Nodeptr _Copy_or_move (_Ty &_Val, _Move_tag, true_type)
 
_Nodeptr _Copy_or_move (_Ty &_Val, _Move_tag, false_type)
 
_Nodeptr _Copy_nodes (_Nodeptr _Rootnode, _Nodeptr _Wherenode, _Moveit _Movefl)
 
_Paircc _Eqrange (const _Other &_Keyval) const
 
_Pairii _Eqrange (const _Other &_Keyval)
 
void _Erase (_Nodeptr _Rootnode)
 
bool _Compare (const key_type &_Left, const key_type &_Right) const
 
bool _Compare (const _Ty1 &_Left, const _Ty2 &_Right) const
 
_Nodeptr _Lbound (const _Other &_Keyval) const
 
_Nodeptr_Lmost () const
 
void _Lrotate (_Nodeptr _Wherenode)
 
_Nodeptr_Rmost () const
 
_Nodeptr_Root () const
 
void _Rrotate (_Nodeptr _Wherenode)
 
_Nodeptr _Ubound (const _Other &_Keyval) const
 
void _Tidy ()
 
const key_type_Kfn (const value_type &_Val) const
 
const key_type_Key (_Nodeptr _Pnode) const
 

Member Typedef Documentation

template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::_Alty map< _Kty, _Ty, _Pr, _Alloc >::_Alty
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Tree<_Tmap_traits<_Kty, _Ty, _Pr, _Alloc, false> > map< _Kty, _Ty, _Pr, _Alloc >::_Mybase
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef map<_Kty, _Ty, _Pr, _Alloc> map< _Kty, _Ty, _Pr, _Alloc >::_Myt
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::_Pairib map< _Kty, _Ty, _Pr, _Alloc >::_Pairib
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::allocator_type map< _Kty, _Ty, _Pr, _Alloc >::allocator_type
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::const_iterator map< _Kty, _Ty, _Pr, _Alloc >::const_iterator
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::const_pointer map< _Kty, _Ty, _Pr, _Alloc >::const_pointer
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::const_reference map< _Kty, _Ty, _Pr, _Alloc >::const_reference
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::const_reverse_iterator map< _Kty, _Ty, _Pr, _Alloc >::const_reverse_iterator
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::difference_type map< _Kty, _Ty, _Pr, _Alloc >::difference_type
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::iterator map< _Kty, _Ty, _Pr, _Alloc >::iterator
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Pr map< _Kty, _Ty, _Pr, _Alloc >::key_compare
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Kty map< _Kty, _Ty, _Pr, _Alloc >::key_type
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Ty map< _Kty, _Ty, _Pr, _Alloc >::mapped_type
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::pointer map< _Kty, _Ty, _Pr, _Alloc >::pointer
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::reference map< _Kty, _Ty, _Pr, _Alloc >::reference
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::reverse_iterator map< _Kty, _Ty, _Pr, _Alloc >::reverse_iterator
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::size_type map< _Kty, _Ty, _Pr, _Alloc >::size_type
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::value_compare map< _Kty, _Ty, _Pr, _Alloc >::value_compare
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
typedef _Mybase::value_type map< _Kty, _Ty, _Pr, _Alloc >::value_type

Constructor & Destructor Documentation

template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( )
inline
99  : _Mybase(key_compare())
100  { // construct empty map from defaults
101  }
_Pr key_compare
Definition: map:79
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( const allocator_type _Al)
inlineexplicit
104  : _Mybase(key_compare(), _Al)
105  { // construct empty map from defaults, allocator
106  }
_Pr key_compare
Definition: map:79
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( const _Myt _Right)
inline
109  : _Mybase(_Right,
110  _Right._Getal().select_on_container_copy_construction())
111  { // construct map by copying _Right
112  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:681
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( const _Myt _Right,
const allocator_type _Al 
)
inline
115  : _Mybase(_Right, _Al)
116  { // construct map by copying _Right, allocator
117  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:681
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( const key_compare _Pred)
inlineexplicit
120  : _Mybase(_Pred)
121  { // construct empty map from comparator
122  }
_FwdIt const _Ty _Pr _Pred
Definition: algorithm:1985
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( const key_compare _Pred,
const allocator_type _Al 
)
inline
125  : _Mybase(_Pred, _Al)
126  { // construct empty map from comparator and allocator
127  }
_FwdIt const _Ty _Pr _Pred
Definition: algorithm:1985
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class _Iter >
map< _Kty, _Ty, _Pr, _Alloc >::map ( _Iter  _First,
_Iter  _Last 
)
inline
131  : _Mybase(key_compare())
132  { // construct map from [_First, _Last), defaults
133  insert(_First, _Last);
134  }
_Pairib insert(_Valty &&_Val)
Definition: map:192
_Pr key_compare
Definition: map:79
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
_FwdIt _Last
Definition: algorithm:1936
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class _Iter >
map< _Kty, _Ty, _Pr, _Alloc >::map ( _Iter  _First,
_Iter  _Last,
const key_compare _Pred 
)
inline
139  : _Mybase(_Pred)
140  { // construct map from [_First, _Last), comparator
141  insert(_First, _Last);
142  }
_Pairib insert(_Valty &&_Val)
Definition: map:192
_FwdIt const _Ty _Pr _Pred
Definition: algorithm:1985
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
_FwdIt _Last
Definition: algorithm:1936
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class _Iter >
map< _Kty, _Ty, _Pr, _Alloc >::map ( _Iter  _First,
_Iter  _Last,
const key_compare _Pred,
const allocator_type _Al 
)
inline
147  : _Mybase(_Pred, _Al)
148  { // construct map from [_First, _Last), comparator, and allocator
149  insert(_First, _Last);
150  }
_Pairib insert(_Valty &&_Val)
Definition: map:192
_FwdIt const _Ty _Pr _Pred
Definition: algorithm:1985
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
_FwdIt _Last
Definition: algorithm:1936
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( _Myt &&  _Right)
inline
159  : _Mybase(_STD move(_Right))
160  { // construct map by moving _Right
161  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:681
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( _Myt &&  _Right,
const allocator_type _Al 
)
inline
164  : _Mybase(_STD move(_Right), _Al)
165  { // construct map by moving _Right, allocator
166  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:681
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( _XSTD initializer_list< value_type _Ilist)
inline
310  : _Mybase(key_compare())
311  { // construct from initializer_list, defaults
312  insert(_Ilist);
313  }
_Pairib insert(_Valty &&_Val)
Definition: map:192
_Pr key_compare
Definition: map:79
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( _XSTD initializer_list< value_type _Ilist,
const key_compare _Pred 
)
inline
317  : _Mybase(_Pred)
318  { // construct from initializer_list, comparator
319  insert(_Ilist);
320  }
_Pairib insert(_Valty &&_Val)
Definition: map:192
_FwdIt const _Ty _Pr _Pred
Definition: algorithm:1985
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( _XSTD initializer_list< value_type _Ilist,
const key_compare _Pred,
const allocator_type _Al 
)
inline
324  : _Mybase(_Pred, _Al)
325  { // construct from initializer_list, comparator, and allocator
326  insert(_Ilist);
327  }
_Pairib insert(_Valty &&_Val)
Definition: map:192
_FwdIt const _Ty _Pr _Pred
Definition: algorithm:1985
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:76

Member Function Documentation

template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class _Keyty , class _Mappedty >
_Pairib map< _Kty, _Ty, _Pr, _Alloc >::_Insert_or_assign ( _Keyty &&  _Keyval,
_Mappedty &&  _Mapval 
)
inline
260  { // assign if _Keyval present, else insert
261  iterator _Where = _Mybase::lower_bound(_Keyval);
262  if (_Where == _Mybase::end()
264  _Keyval, _Mybase::_Key(_Where._Mynode())))
265  return (_Pairib(
266  _Mybase::emplace_hint(_Where,
267  _STD forward<_Keyty>(_Keyval),
268  _STD forward<_Mappedty>(_Mapval)),
269  true));
270  else
271  { // _Keyval present, assign new value
272  _Where->second = _STD forward<_Mappedty>(_Mapval);
273  return (_Pairib(_Where, false));
274  }
275  }
iterator emplace_hint(const_iterator _Where, _Valty &&..._Val)
Definition: xtree:1082
key_compare & _Getcomp() _NOEXCEPT
Definition: xtree:898
iterator lower_bound(const key_type &_Keyval)
Definition: xtree:1536
#define _DEBUG_LT_PRED(pred, x, y)
Definition: xutility:817
Definition: xutility:563
iterator end() _NOEXCEPT
Definition: xtree:1119
const key_type & _Key(_Nodeptr _Pnode) const
Definition: xtree:2176
_Mybase::_Pairib _Pairib
Definition: map:96
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class _Keyty , class... _Mappedty>
_Pairib map< _Kty, _Ty, _Pr, _Alloc >::_Try_emplace ( _Keyty &&  _Keyval,
_Mappedty &&...  _Mapval 
)
inline
208  { // fail if _Keyval present, else emplace
209  iterator _Where = _Mybase::lower_bound(_Keyval);
210  if (_Where == _Mybase::end()
212  _Keyval, _Mybase::_Key(_Where._Mynode())))
213  return (_Pairib(
214  _Mybase::emplace_hint(_Where,
217  _STD forward<_Keyty>(_Keyval)),
219  _STD forward<_Mappedty>(_Mapval)...)),
220  true));
221  else
222  return (_Pairib(_Where, false));
223  }
constexpr tuple< _Types &&...> forward_as_tuple(_Types &&..._Args) _NOEXCEPT
Definition: tuple:985
iterator emplace_hint(const_iterator _Where, _Valty &&..._Val)
Definition: xtree:1082
key_compare & _Getcomp() _NOEXCEPT
Definition: xtree:898
iterator lower_bound(const key_type &_Keyval)
Definition: xtree:1536
#define _DEBUG_LT_PRED(pred, x, y)
Definition: xutility:817
Definition: xutility:563
constexpr piecewise_construct_t piecewise_construct
Definition: utility:67
iterator end() _NOEXCEPT
Definition: xtree:1119
const key_type & _Key(_Nodeptr _Pnode) const
Definition: xtree:2176
_Mybase::_Pairib _Pairib
Definition: map:96
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
mapped_type& map< _Kty, _Ty, _Pr, _Alloc >::at ( const key_type _Keyval)
inline
342  { // find element matching _Keyval
343  iterator _Where = _Mybase::lower_bound(_Keyval);
344  if (_Where == _Mybase::end()
345  || _Mybase::_Getcomp()(_Keyval, _Mybase::_Key(_Where._Mynode())))
346  _Xout_of_range("invalid map<K, T> key");
347  return (_Where->second);
348  }
key_compare & _Getcomp() _NOEXCEPT
Definition: xtree:898
iterator lower_bound(const key_type &_Keyval)
Definition: xtree:1536
Definition: xutility:563
iterator end() _NOEXCEPT
Definition: xtree:1119
const key_type & _Key(_Nodeptr _Pnode) const
Definition: xtree:2176
_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Xout_of_range(_In_z_ const char *)
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
const mapped_type& map< _Kty, _Ty, _Pr, _Alloc >::at ( const key_type _Keyval) const
inline
351  { // find element matching _Keyval
352  const_iterator _Where = _Mybase::lower_bound(_Keyval);
353  if (_Where == _Mybase::end()
354  || _Mybase::_Getcomp()(_Keyval, _Mybase::_Key(_Where._Mynode())))
355  _Xout_of_range("invalid map<K, T> key");
356  return (_Where->second);
357  }
key_compare & _Getcomp() _NOEXCEPT
Definition: xtree:898
iterator lower_bound(const key_type &_Keyval)
Definition: xtree:1536
iterator end() _NOEXCEPT
Definition: xtree:1119
const key_type & _Key(_Nodeptr _Pnode) const
Definition: xtree:2176
_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Xout_of_range(_In_z_ const char *)
_Mybase::const_iterator const_iterator
Definition: map:89
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class _Valty , class = enable_if_t<is_constructible<value_type, _Valty>::value>>
_Pairib map< _Kty, _Ty, _Pr, _Alloc >::insert ( _Valty &&  _Val)
inline
193  { // insert _Val
194  return (this->emplace(_STD forward<_Valty>(_Val)));
195  }
_In_ int _Val
Definition: vcruntime_string.h:62
_Pairib emplace(_Valty &&..._Val)
Definition: xtree:1074
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class _Valty , class = enable_if_t<is_constructible<value_type, _Valty>::value>>
iterator map< _Kty, _Ty, _Pr, _Alloc >::insert ( const_iterator  _Where,
_Valty &&  _Val 
)
inline
200  { // insert _Val with hint
201  return (this->emplace_hint(_Where, _STD forward<_Valty>(_Val)));
202  }
iterator emplace_hint(const_iterator _Where, _Valty &&..._Val)
Definition: xtree:1082
_In_ int _Val
Definition: vcruntime_string.h:62
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class _Mappedty >
_Pairib map< _Kty, _Ty, _Pr, _Alloc >::insert_or_assign ( const key_type _Keyval,
_Mappedty &&  _Mapval 
)
inline
280  { // assign if _Keyval present, else insert
281  return (_Insert_or_assign(_Keyval,
282  _STD forward<_Mappedty>(_Mapval)));
283  }
_Pairib _Insert_or_assign(_Keyty &&_Keyval, _Mappedty &&_Mapval)
Definition: map:258
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class _Mappedty >
iterator map< _Kty, _Ty, _Pr, _Alloc >::insert_or_assign ( const_iterator  ,
const key_type _Keyval,
_Mappedty &&  _Mapval 
)
inline
288  { // assign if _Keyval present, else insert, ignore hint
289  return (_Insert_or_assign(_Keyval,
290  _STD forward<_Mappedty>(_Mapval)).first);
291  }
_Pairib _Insert_or_assign(_Keyty &&_Keyval, _Mappedty &&_Mapval)
Definition: map:258
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class _Mappedty >
_Pairib map< _Kty, _Ty, _Pr, _Alloc >::insert_or_assign ( key_type &&  _Keyval,
_Mappedty &&  _Mapval 
)
inline
296  { // assign if _Keyval present, else insert
297  return (_Insert_or_assign(_STD move(_Keyval),
298  _STD forward<_Mappedty>(_Mapval)));
299  }
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
_Pairib _Insert_or_assign(_Keyty &&_Keyval, _Mappedty &&_Mapval)
Definition: map:258
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class _Mappedty >
iterator map< _Kty, _Ty, _Pr, _Alloc >::insert_or_assign ( const_iterator  ,
key_type &&  _Keyval,
_Mappedty &&  _Mapval 
)
inline
304  { // assign if _Keyval present, else insert, ignore hint
305  return (_Insert_or_assign(_STD move(_Keyval),
306  _STD forward<_Mappedty>(_Mapval)).first);
307  }
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
_Pairib _Insert_or_assign(_Keyty &&_Keyval, _Mappedty &&_Mapval)
Definition: map:258
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
_Myt& map< _Kty, _Ty, _Pr, _Alloc >::operator= ( const _Myt _Right)
inline
153  { // assign by copying _Right
155  return (*this);
156  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:681
_Myt & operator=(_Myt &&_Right)
Definition: xtree:1037
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
_Myt& map< _Kty, _Ty, _Pr, _Alloc >::operator= ( _Myt &&  _Right)
inline
171  { // assign by moving _Right
173  return (*this);
174  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:681
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
_Myt & operator=(_Myt &&_Right)
Definition: xtree:1037
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
_Myt& map< _Kty, _Ty, _Pr, _Alloc >::operator= ( _XSTD initializer_list< value_type _Ilist)
inline
330  { // assign initializer_list
331  _Mybase::clear();
332  insert(_Ilist);
333  return (*this);
334  }
_Pairib insert(_Valty &&_Val)
Definition: map:192
void clear() _NOEXCEPT
Definition: xtree:1466
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
mapped_type& map< _Kty, _Ty, _Pr, _Alloc >::operator[] ( key_type &&  _Keyval)
inline
177  { // find element matching _Keyval or insert with default mapped
178  return (try_emplace(_STD move(_Keyval)).first->second);
179  }
_Ty2 second
Definition: utility:243
_Pairib try_emplace(const key_type &_Keyval, _Mappedty &&..._Mapval)
Definition: map:226
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
mapped_type& map< _Kty, _Ty, _Pr, _Alloc >::operator[] ( const key_type _Keyval)
inline
337  { // find element matching _Keyval or insert with default mapped
338  return (try_emplace(_Keyval).first->second);
339  }
_Ty2 second
Definition: utility:243
_Pairib try_emplace(const key_type &_Keyval, _Mappedty &&..._Mapval)
Definition: map:226
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
void map< _Kty, _Ty, _Pr, _Alloc >::swap ( _Myt _Right)
inline
184  { // exchange contents with non-movable _Right
186  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:681
void swap(_Myt &_Right)
Definition: xtree:1614
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class... _Mappedty>
_Pairib map< _Kty, _Ty, _Pr, _Alloc >::try_emplace ( const key_type _Keyval,
_Mappedty &&...  _Mapval 
)
inline
228  { // fail if _Keyval present, else emplace
229  return (_Try_emplace(_Keyval, _STD forward<_Mappedty>(_Mapval)...));
230  }
_Pairib _Try_emplace(_Keyty &&_Keyval, _Mappedty &&..._Mapval)
Definition: map:206
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class... _Mappedty>
iterator map< _Kty, _Ty, _Pr, _Alloc >::try_emplace ( const_iterator  ,
const key_type _Keyval,
_Mappedty &&...  _Mapval 
)
inline
235  { // fail if _Keyval present, else emplace, ignore hint
236  return (_Try_emplace(_Keyval,
237  _STD forward<_Mappedty>(_Mapval)...).first);
238  }
_Pairib _Try_emplace(_Keyty &&_Keyval, _Mappedty &&..._Mapval)
Definition: map:206
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class... _Mappedty>
_Pairib map< _Kty, _Ty, _Pr, _Alloc >::try_emplace ( key_type &&  _Keyval,
_Mappedty &&...  _Mapval 
)
inline
243  { // fail if _Keyval present, else emplace
244  return (_Try_emplace(_STD move(_Keyval),
245  _STD forward<_Mappedty>(_Mapval)...));
246  }
_Pairib _Try_emplace(_Keyty &&_Keyval, _Mappedty &&..._Mapval)
Definition: map:206
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
template<class... _Mappedty>
iterator map< _Kty, _Ty, _Pr, _Alloc >::try_emplace ( const_iterator  ,
key_type &&  _Keyval,
_Mappedty &&...  _Mapval 
)
inline
251  { // fail if _Keyval present, else emplace, ignore hint
252  return (_Try_emplace(_STD move(_Keyval),
253  _STD forward<_Mappedty>(_Mapval)...).first);
254  }
_Pairib _Try_emplace(_Keyty &&_Keyval, _Mappedty &&..._Mapval)
Definition: map:206
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1290

The documentation for this class was generated from the following file: