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 allocator_type &_Al)
 
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 (initializer_list< value_type > _Ilist)
 
 map (initializer_list< value_type > _Ilist, const key_compare &_Pred)
 
 map (initializer_list< value_type > _Ilist, const allocator_type &_Al)
 
 map (initializer_list< value_type > _Ilist, const key_compare &_Pred, const allocator_type &_Al)
 
_Mytoperator= (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)
 
_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 (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 _Alloc_proxy ()
 
void _Free_proxy ()
 
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
100  : _Mybase(key_compare())
101  { // construct empty map from defaults
102  }
_Pr key_compare
Definition: map:80
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
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
105  : _Mybase(key_compare(), _Al)
106  { // construct empty map from defaults, allocator
107  }
_Pr key_compare
Definition: map:80
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
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
110  : _Mybase(_Right,
111  _Right._Getal().select_on_container_copy_construction())
112  { // construct map by copying _Right
113  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:674
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
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
116  : _Mybase(_Right, _Al)
117  { // construct map by copying _Right, allocator
118  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:674
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
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
121  : _Mybase(_Pred)
122  { // construct empty map from comparator
123  }
_FwdIt const _Ty _Pr _Pred
Definition: algorithm:1985
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
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
126  : _Mybase(_Pred, _Al)
127  { // construct empty map from comparator and allocator
128  }
_FwdIt const _Ty _Pr _Pred
Definition: algorithm:1985
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
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
132  : _Mybase(key_compare())
133  { // construct map from [_First, _Last), defaults
134  insert(_First, _Last);
135  }
_Pairib insert(_Valty &&_Val)
Definition: map:200
_Pr key_compare
Definition: map:80
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
_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
140  : _Mybase(_Pred)
141  { // construct map from [_First, _Last), comparator
142  insert(_First, _Last);
143  }
_Pairib insert(_Valty &&_Val)
Definition: map:200
_FwdIt const _Ty _Pr _Pred
Definition: algorithm:1985
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
_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 allocator_type _Al 
)
inline
147  : _Mybase(key_compare(), _Al)
148  { // construct map from [_First, _Last), allocator
149  insert(_First, _Last);
150  }
_Pairib insert(_Valty &&_Val)
Definition: map:200
_Pr key_compare
Definition: map:80
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
_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
155  : _Mybase(_Pred, _Al)
156  { // construct map from [_First, _Last), comparator, and allocator
157  insert(_First, _Last);
158  }
_Pairib insert(_Valty &&_Val)
Definition: map:200
_FwdIt const _Ty _Pr _Pred
Definition: algorithm:1985
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
_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
167  : _Mybase(_STD move(_Right))
168  { // construct map by moving _Right
169  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:674
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
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
172  : _Mybase(_STD move(_Right), _Al)
173  { // construct map by moving _Right, allocator
174  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:674
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( initializer_list< value_type _Ilist)
inline
318  : _Mybase(key_compare())
319  { // construct from initializer_list, defaults
320  insert(_Ilist);
321  }
_Pairib insert(_Valty &&_Val)
Definition: map:200
_Pr key_compare
Definition: map:80
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( initializer_list< value_type _Ilist,
const key_compare _Pred 
)
inline
325  : _Mybase(_Pred)
326  { // construct from initializer_list, comparator
327  insert(_Ilist);
328  }
_Pairib insert(_Valty &&_Val)
Definition: map:200
_FwdIt const _Ty _Pr _Pred
Definition: algorithm:1985
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( initializer_list< value_type _Ilist,
const allocator_type _Al 
)
inline
331  : _Mybase(key_compare(), _Al)
332  { // construct from initializer_list, allocator
333  insert(_Ilist);
334  }
_Pairib insert(_Valty &&_Val)
Definition: map:200
_Pr key_compare
Definition: map:80
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
map< _Kty, _Ty, _Pr, _Alloc >::map ( initializer_list< value_type _Ilist,
const key_compare _Pred,
const allocator_type _Al 
)
inline
338  : _Mybase(_Pred, _Al)
339  { // construct from initializer_list, comparator, and allocator
340  insert(_Ilist);
341  }
_Pairib insert(_Valty &&_Val)
Definition: map:200
_FwdIt const _Ty _Pr _Pred
Definition: algorithm:1985
_Tree< _Tmap_traits< _Kty, _Ty, _Pr, _Alloc, false > > _Mybase
Definition: map:77

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
268  { // assign if _Keyval present, else insert
269  iterator _Where = _Mybase::lower_bound(_Keyval);
270  if (_Where == _Mybase::end()
272  _Keyval, _Mybase::_Key(_Where._Mynode())))
273  return (_Pairib(
274  _Mybase::emplace_hint(_Where,
275  _STD forward<_Keyty>(_Keyval),
276  _STD forward<_Mappedty>(_Mapval)),
277  true));
278  else
279  { // _Keyval present, assign new value
280  _Where->second = _STD forward<_Mappedty>(_Mapval);
281  return (_Pairib(_Where, false));
282  }
283  }
iterator emplace_hint(const_iterator _Where, _Valty &&..._Val)
Definition: xtree:1090
key_compare & _Getcomp() _NOEXCEPT
Definition: xtree:913
iterator lower_bound(const key_type &_Keyval)
Definition: xtree:1544
#define _DEBUG_LT_PRED(pred, x, y)
Definition: xutility:900
Definition: xutility:565
iterator end() _NOEXCEPT
Definition: xtree:1124
const key_type & _Key(_Nodeptr _Pnode) const
Definition: xtree:2192
_Mybase::_Pairib _Pairib
Definition: map:97
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
216  { // fail if _Keyval present, else emplace
217  iterator _Where = _Mybase::lower_bound(_Keyval);
218  if (_Where == _Mybase::end()
220  _Keyval, _Mybase::_Key(_Where._Mynode())))
221  return (_Pairib(
222  _Mybase::emplace_hint(_Where,
225  _STD forward<_Keyty>(_Keyval)),
227  _STD forward<_Mappedty>(_Mapval)...)),
228  true));
229  else
230  return (_Pairib(_Where, false));
231  }
constexpr tuple< _Types &&...> forward_as_tuple(_Types &&..._Args) _NOEXCEPT
Definition: tuple:910
iterator emplace_hint(const_iterator _Where, _Valty &&..._Val)
Definition: xtree:1090
key_compare & _Getcomp() _NOEXCEPT
Definition: xtree:913
iterator lower_bound(const key_type &_Keyval)
Definition: xtree:1544
#define _DEBUG_LT_PRED(pred, x, y)
Definition: xutility:900
Definition: xutility:565
constexpr piecewise_construct_t piecewise_construct
Definition: utility:84
iterator end() _NOEXCEPT
Definition: xtree:1124
const key_type & _Key(_Nodeptr _Pnode) const
Definition: xtree:2192
_Mybase::_Pairib _Pairib
Definition: map:97
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
356  { // find element matching _Keyval
357  iterator _Where = _Mybase::lower_bound(_Keyval);
358  if (_Where == _Mybase::end()
359  || _Mybase::_Getcomp()(_Keyval, _Mybase::_Key(_Where._Mynode())))
360  _Xout_of_range("invalid map<K, T> key");
361  return (_Where->second);
362  }
key_compare & _Getcomp() _NOEXCEPT
Definition: xtree:913
iterator lower_bound(const key_type &_Keyval)
Definition: xtree:1544
Definition: xutility:565
iterator end() _NOEXCEPT
Definition: xtree:1124
const key_type & _Key(_Nodeptr _Pnode) const
Definition: xtree:2192
_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
365  { // find element matching _Keyval
366  const_iterator _Where = _Mybase::lower_bound(_Keyval);
367  if (_Where == _Mybase::end()
368  || _Mybase::_Getcomp()(_Keyval, _Mybase::_Key(_Where._Mynode())))
369  _Xout_of_range("invalid map<K, T> key");
370  return (_Where->second);
371  }
key_compare & _Getcomp() _NOEXCEPT
Definition: xtree:913
iterator lower_bound(const key_type &_Keyval)
Definition: xtree:1544
iterator end() _NOEXCEPT
Definition: xtree:1124
const key_type & _Key(_Nodeptr _Pnode) const
Definition: xtree:2192
_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Xout_of_range(_In_z_ const char *)
_Mybase::const_iterator const_iterator
Definition: map:90
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
201  { // insert _Val
202  return (this->emplace(_STD forward<_Valty>(_Val)));
203  }
_Pairib emplace(_Valty &&..._Val)
Definition: xtree:1082
_FwdIt const _Ty _Val
Definition: algorithm:1938
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
208  { // insert _Val with hint
209  return (this->emplace_hint(_Where, _STD forward<_Valty>(_Val)));
210  }
iterator emplace_hint(const_iterator _Where, _Valty &&..._Val)
Definition: xtree:1090
_FwdIt const _Ty _Val
Definition: algorithm:1938
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
288  { // assign if _Keyval present, else insert
289  return (_Insert_or_assign(_Keyval,
290  _STD forward<_Mappedty>(_Mapval)));
291  }
_Pairib _Insert_or_assign(_Keyty &&_Keyval, _Mappedty &&_Mapval)
Definition: map:266
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
296  { // assign if _Keyval present, else insert, ignore hint
297  return (_Insert_or_assign(_Keyval,
298  _STD forward<_Mappedty>(_Mapval)).first);
299  }
_Pairib _Insert_or_assign(_Keyty &&_Keyval, _Mappedty &&_Mapval)
Definition: map:266
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
304  { // assign if _Keyval present, else insert
305  return (_Insert_or_assign(_STD move(_Keyval),
306  _STD forward<_Mappedty>(_Mapval)));
307  }
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
_Pairib _Insert_or_assign(_Keyty &&_Keyval, _Mappedty &&_Mapval)
Definition: map:266
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
312  { // assign if _Keyval present, else insert, ignore hint
313  return (_Insert_or_assign(_STD move(_Keyval),
314  _STD forward<_Mappedty>(_Mapval)).first);
315  }
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
_Pairib _Insert_or_assign(_Keyty &&_Keyval, _Mappedty &&_Mapval)
Definition: map:266
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
161  { // assign by copying _Right
163  return (*this);
164  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:674
_Myt & operator=(_Myt &&_Right)
Definition: xtree:1052
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
179  { // assign by moving _Right
181  return (*this);
182  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:674
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
_Myt & operator=(_Myt &&_Right)
Definition: xtree:1052
template<class _Kty, class _Ty, class _Pr = less<_Kty>, class _Alloc = allocator<pair<const _Kty, _Ty> >>
_Myt& map< _Kty, _Ty, _Pr, _Alloc >::operator= ( initializer_list< value_type _Ilist)
inline
344  { // assign initializer_list
345  _Mybase::clear();
346  insert(_Ilist);
347  return (*this);
348  }
_Pairib insert(_Valty &&_Val)
Definition: map:200
void clear() _NOEXCEPT
Definition: xtree:1474
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
185  { // find element matching _Keyval or insert with default mapped
186  return (try_emplace(_STD move(_Keyval)).first->second);
187  }
_Ty2 second
Definition: utility:271
_Pairib try_emplace(const key_type &_Keyval, _Mappedty &&..._Mapval)
Definition: map:234
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
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
351  { // find element matching _Keyval or insert with default mapped
352  return (try_emplace(_Keyval).first->second);
353  }
_Ty2 second
Definition: utility:271
_Pairib try_emplace(const key_type &_Keyval, _Mappedty &&..._Mapval)
Definition: map:234
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
192  { // exchange contents with non-movable _Right
194  }
static _Nodepref _Right(_Nodeptr _Pnode)
Definition: xtree:674
void swap(_Myt &_Right)
Definition: xtree:1622
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
236  { // fail if _Keyval present, else emplace
237  return (_Try_emplace(_Keyval, _STD forward<_Mappedty>(_Mapval)...));
238  }
_Pairib _Try_emplace(_Keyty &&_Keyval, _Mappedty &&..._Mapval)
Definition: map:214
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
243  { // fail if _Keyval present, else emplace, ignore hint
244  return (_Try_emplace(_Keyval,
245  _STD forward<_Mappedty>(_Mapval)...).first);
246  }
_Pairib _Try_emplace(_Keyty &&_Keyval, _Mappedty &&..._Mapval)
Definition: map:214
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
251  { // fail if _Keyval present, else emplace
252  return (_Try_emplace(_STD move(_Keyval),
253  _STD forward<_Mappedty>(_Mapval)...));
254  }
_Pairib _Try_emplace(_Keyty &&_Keyval, _Mappedty &&..._Mapval)
Definition: map:214
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349
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
259  { // fail if _Keyval present, else emplace, ignore hint
260  return (_Try_emplace(_STD move(_Keyval),
261  _STD forward<_Mappedty>(_Mapval)...).first);
262  }
_Pairib _Try_emplace(_Keyty &&_Keyval, _Mappedty &&..._Mapval)
Definition: map:214
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349

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