STD::__PROFILE::MAP(3cxx)
π¦ NAME π¦
Hiii bestie, welcome to the std::__profile::map< _Key, _Tp, _Compare, _Allocator >(3cxx) page π This is the Class std::map wrapper with performance instrumentation. Yes, it's a whole wrapper, and yes it's keeping receipts on your map's performance. Iconic behavior, honestly.
β¨ SYNOPSIS β¨
So first things first, you gotta pull it in:
#include <map.h>
And the family tree? She inherits from map< _Key, _Tp, std::less< _Key >, std::allocator< std::pair< const _Key, _Tp > > >, and also from std::__profile::_Ordered_profile< _Cont >. Two parents, one very observant daughter π«Ά
πΈ Public Types πΈ
Okay so these are all the typedefs she's serving. Memorize them, they come back later π
typedef __iterator_tracker< _Base_const_iterator, map > const_iteratortypedef _Base::const_reference const_referencetypedef std::reverse_iterator< const_iterator > const_reverse_iteratortypedef _Base::difference_type difference_typetypedef __iterator_tracker< _Base_iterator, map > iteratortypedef _Compare key_comparetypedef _Key key_typetypedef _Tp mapped_typetypedef _Base::reference referencetypedef std::reverse_iterator< iterator > reverse_iteratortypedef _Base::size_type size_typetypedef _Base::value_type value_type
π Public Member Functions π
Buckle up, there are SO many of these. This is the main character list fr fr:
The constructors (she has MANY):
template<typename _InputIterator > map (_InputIterator __first, _InputIterator __last, const _Allocator &__a)template<typename _InputIterator , typename = std::_RequireInputIter<_InputIterator>> map (_InputIterator __first, _InputIterator __last, const _Compare &__comp=_Compare(), const _Allocator &__a=_Allocator())map (const _Allocator &__a)map (const _Base &__x)map (const _Compare &__comp, const _Allocator &__a=_Allocator())map (const map &)=defaultmap (const map &__x, const _Allocator &__a)map (initializer_list< value_type > __l, const _Allocator &__a)map (initializer_list< value_type > __l, const _Compare &__c=_Compare(), const _Allocator &__a=_Allocator())map (map &&)=defaultmap (map &&__x, const _Allocator &__a) noexcept(noexcept(_Base(std::move(__x), __a)))
The profile-y internal stuff π:
const _Base & _M_base () const noexcept_Base & _M_base () noexceptvoid _M_profile_iterate (int __rewind=0) const
Element access:
mapped_type & at (const key_type &__k)const mapped_type & at (const key_type &__k) const
Iterators, going forwards:
const_iterator begin () const noexceptiterator begin () noexceptconst_iterator cbegin () const noexceptconst_iterator cend () const noexcept
And everything else, in the order the page gives them:
void clear () noexcepttemplate<typename _Kt , typename _Req = typename __has_is_transparent<_Compare, _Kt>::type> size_type count (const _Kt &__x) constsize_type count (const key_type &__x) constconst_reverse_iterator crbegin () const noexceptconst_reverse_iterator crend () const noexcepttemplate<typename... _Args> std::pair< iterator, bool > emplace (_Args &&... __args)template<typename... _Args> iterator emplace_hint (const_iterator __pos, _Args &&... __args)const_iterator end () const noexceptiterator end () noexcepttemplate<typename _Kt , typename _Req = typename __has_is_transparent<_Compare, _Kt>::type> std::pair< iterator, iterator > equal_range (const _Kt &__x)template<typename _Kt , typename _Req = typename __has_is_transparent<_Compare, _Kt>::type> std::pair< const_iterator, const_iterator > equal_range (const _Kt &__x) conststd::pair< iterator, iterator > equal_range (const key_type &__x)std::pair< const_iterator, const_iterator > equal_range (const key_type &__x) constsize_type erase (const key_type &__x)iterator erase (const_iterator __first, const_iterator __last)iterator erase (const_iterator __pos)iterator erase (iterator __pos)template<typename _Kt , typename _Req = typename __has_is_transparent<_Compare, _Kt>::type> iterator find (const _Kt &__x)template<typename _Kt , typename _Req = typename __has_is_transparent<_Compare, _Kt>::type> const_iterator find (const _Kt &__x) constiterator find (const key_type &__x)const_iterator find (const key_type &__x) consttemplate<typename _InputIterator > void insert (_InputIterator __first, _InputIterator __last)template<typename _Pair , typename = typename std::enable_if<std::is_constructible<value_type, _Pair&&>::value>::type> std::pair< iterator, bool > insert (_Pair &&__x)std::pair< iterator, bool > insert (const value_type &__x)template<typename _Pair , typename = typename std::enable_if<std::is_constructible<value_type, _Pair&&>::value>::type> iterator insert (const_iterator __pos, _Pair &&__x)iterator insert (const_iterator __pos, const value_type &__x)void insert (std::initializer_list< value_type > __list)template<typename _Kt , typename _Req = typename __has_is_transparent<_Compare, _Kt>::type> iterator lower_bound (const _Kt &__x)template<typename _Kt , typename _Req = typename __has_is_transparent<_Compare, _Kt>::type> const_iterator lower_bound (const _Kt &__x) constiterator lower_bound (const key_type &__x)const_iterator lower_bound (const key_type &__x) constmap & operator= (const map &)=defaultmap & operator= (initializer_list< value_type > __l)map & operator= (map &&)=defaultmapped_type & operator[] (const key_type &__k)mapped_type & operator[] (key_type &&__k)const_reverse_iterator rbegin () const noexceptreverse_iterator rbegin () noexceptconst_reverse_iterator rend () const noexceptreverse_iterator rend () noexceptvoid swap (map &__x) noexcept(/*conditional */)template<typename _Kt , typename _Req = typename __has_is_transparent<_Compare, _Kt>::type> iterator upper_bound (const _Kt &__x)template<typename _Kt , typename _Req = typename __has_is_transparent<_Compare, _Kt>::type> const_iterator upper_bound (const _Kt &__x) constiterator upper_bound (const key_type &__x)const_iterator upper_bound (const key_type &__x) const
π Protected Member Functions π
The behind-the-scenes girlypops:
void _M_profile_construct () noexceptvoid _M_profile_destruct () noexceptvoid _M_swap (_Ordered_profile &__other)
π Protected Attributes π
Just the one, but she's important:
__gnu_profile::__map2umap_info * _M_map2umap_info
π«Ά Friends π«Ά
Her besties get special access (the template friends, the ones who can peek):
template<typename _K1 , typename _T1 , typename _C1 , typename _A1 > bool operator< (const map< _K1, _T1, _C1, _A1 > &, const map< _K1, _T1, _C1, _A1 > &)template<typename _K1 , typename _T1 , typename _C1 , typename _A1 > bool operator== (const map< _K1, _T1, _C1, _A1 > &, const map< _K1, _T1, _C1, _A1 > &)
β Detailed Description β
Okay here's the whole declaration, laid out all pretty:
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp> >>
class std::__profile::map< _Key, _Tp, _Compare, _Allocator >"Class
std::map wrapper with performance instrumentation.
Definition at line 41 of file profile/map.h.
So yeah β she's a class, she's templated on _Key, _Tp, _Compare and _Allocator, and she lives at line 41 of file profile/map.h π
π Member Typedef Documentation π
Every typedef, with her full template signature and her home address. No skipping, bestie, we're doing all of them π
const_iterator
template<typename _Key , typename _Tp , typename _Compare =
std::less<_Key>, typename _Allocator = std::allocator<std::pair<const
_Key, _Tp> >> typedef __iterator_tracker<_Base_const_iterator, map>
std::__profile::map< _Key, _Tp, _Compare, _Allocator >::const_iterator
Definition at line 61 of file profile/map.h.
const_reference
template<typename _Key , typename _Tp , typename _Compare =
std::less<_Key>, typename _Allocator = std::allocator<std::pair<const
_Key, _Tp> >> typedef _Base::const_reference std::__profile::map< _Key,
_Tp, _Compare, _Allocator >::const_reference
Definition at line 57 of file profile/map.h.
const_reverse_iterator
template<typename _Key , typename _Tp , typename _Compare =
std::less<_Key>, typename _Allocator = std::allocator<std::pair<const
_Key, _Tp> >> typedef std::reverse_iterator<const_iterator>
std::__profile::map< _Key, _Tp, _Compare, _Allocator
>::const_reverse_iterator
Definition at line 63 of file profile/map.h.
difference_type
template<typename _Key , typename _Tp , typename _Compare =
std::less<_Key>, typename _Allocator = std::allocator<std::pair<const
_Key, _Tp> >> typedef _Base::difference_type std::__profile::map< _Key,
_Tp, _Compare, _Allocator >::difference_type
Definition at line 66 of file profile/map.h.
iterator
template<typename _Key , typename _Tp , typename _Compare =
std::less<_Key>, typename _Allocator = std::allocator<std::pair<const
_Key, _Tp> >> typedef __iterator_tracker<_Base_iterator, map>
std::__profile::map< _Key, _Tp, _Compare, _Allocator >::iterator
Definition at line 59 of file profile/map.h.
key_compare
template<typename _Key , typename _Tp , typename _Compare =
std::less<_Key>, typename _Allocator = std::allocator<std::pair<const
_Key, _Tp> >> typedef _Compare std::__profile::map< _Key, _Tp, _Compare,
_Allocator >::key_compare
Definition at line 55 of file profile/map.h.
key_type
template<typename _Key , typename _Tp , typename _Compare =
std::less<_Key>, typename _Allocator = std::allocator<std::pair<const
_Key, _Tp> >> typedef _Key std::__profile::map< _Key, _Tp, _Compare,
_Allocator >::key_type
Definition at line 52 of file profile/map.h.
mapped_type
template<typename _Key , typename _Tp , typename _Compare =
std::less<_Key>, typename _Allocator = std::allocator<std::pair<const
_Key, _Tp> >> typedef _Tp std::__profile::map< _Key, _Tp, _Compare,
_Allocator >::mapped_type
Definition at line 53 of file profile/map.h.
reference
template<typename _Key , typename _Tp , typename _Compare =
std::less<_Key>, typename _Allocator = std::allocator<std::pair<const
_Key, _Tp> >> typedef _Base::reference std::__profile::map< _Key, _Tp,
_Compare, _Allocator >::reference
Definition at line 56 of file profile/map.h.
reverse_iterator
template<typename _Key , typename _Tp , typename _Compare =
std::less<_Key>, typename _Allocator = std::allocator<std::pair<const
_Key, _Tp> >> typedef std::reverse_iterator<iterator>
std::__profile::map< _Key, _Tp, _Compare, _Allocator >::reverse_iterator
Definition at line 62 of file profile/map.h.
size_type
template<typename _Key , typename _Tp , typename _Compare =
std::less<_Key>, typename _Allocator = std::allocator<std::pair<const
_Key, _Tp> >> typedef _Base::size_type std::__profile::map< _Key, _Tp,
_Compare, _Allocator >::size_type
Definition at line 65 of file profile/map.h.
value_type
template<typename _Key , typename _Tp , typename _Compare =
std::less<_Key>, typename _Allocator = std::allocator<std::pair<const
_Key, _Tp> >> typedef _Base::value_type std::__profile::map< _Key, _Tp,
_Compare, _Allocator >::value_type
Definition at line 54 of file profile/map.h.
and that's the end of part 1 bestie β there's MORE coming, don't you dare close the tab π
π CONSTRUCTOR & DESTRUCTOR DOCUMENTATION π
okay bestie, heads up before we dive in: literally every single thing on this page lives inside this exact class template, so just mentally wrap this header around each one and we're golden β¨
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
std::__profile::map<_Key, _Tp, _Compare, _Allocator>
Same four template params, every single time, no cap. _Key, _Tp, _Compare defaulting to std::less<_Key>, and _Allocator defaulting to std::allocator<std::pair<const _Key, _Tp>>. Periodt. π
π«Ά map β the "give me a comparator and an allocator" one
map(const _Compare & __comp, const _Allocator & __a = _Allocator())
It's [inline], and it's [explicit] β so no sneaky implicit conversions, we do not do that here π
ββοΈ. Definition at line 85 of file profile/map.h.
π¦ map β the "fill me from a range" one
template<typename _InputIterator, typename = std::_RequireInputIter<_InputIterator>>
map(_InputIterator __first, _InputIterator __last,
const _Compare & __comp = _Compare(), const _Allocator & __a = _Allocator())
[inline], and yes, that std::_RequireInputIter<_InputIterator> is doing a whole vibe check on your iterator before letting it in. Definition at line 95 of file profile/map.h.
π map β the "copy me from the base" one
map(const _Base & __x)
[inline]. Definition at line 100 of file profile/map.h.
πΈ map β the initializer-list one (comparator + allocator edition)
map(initializer_list<value_type> __l, const _Compare & __c = _Compare(),
const _Allocator & __a = _Allocator())
[inline]. Curly braces go in, map comes out, iconic behavior honestly. Definition at line 104 of file profile/map.h.
β¨ map β the "allocator only" one
map(const _Allocator & __a)
[inline], and [explicit] too, so again: no accidental conversions, bestie. Definition at line 110 of file profile/map.h.
π map β the "copy constructor but you bring the allocator" one
map(const map<_Key, _Tp, _Compare, _Allocator> & __x, const _Allocator & __a)
[inline]. Definition at line 113 of file profile/map.h.
π₯ map β the "move constructor but you bring the allocator" one
map(map<_Key, _Tp, _Compare, _Allocator> && __x, const _Allocator & __a)
[inline], and [noexcept] β she's fast and she promises not to throw. main character energy fr fr. Definition at line 116 of file profile/map.h.
π map β initializer list, allocator only
map(initializer_list<value_type> __l, const _Allocator & __a)
[inline]. Definition at line 120 of file profile/map.h.
π§ map β range constructor, allocator only
template<typename _InputIterator>
map(_InputIterator __first, _InputIterator __last, const _Allocator & __a)
[inline]. Note this one has just the plain template<typename _InputIterator> β no _RequireInputIter vibe check this time. Definition at line 124 of file profile/map.h.
π MEMBER FUNCTION DOCUMENTATION π
Now the member functions, and girl, there are a LOT of them. Same deal as before β that class template header from the top of this section applies to every std::__profile::map member below, and the _Ordered_profile<_Cont> ones are templated on _Cont instead. Let's go πββοΈπ¨
π
_M_base β const version
const _Base & _M_base() const
[inline], [noexcept]. Definition at line 614 of file profile/map.h.
π
_M_base β non-const version
_Base & _M_base()
[inline], [noexcept]. Definition at line 611 of file profile/map.h.
π«Ά _M_profile_construct (inherited, from _Ordered_profile<_Cont>)
template<typename _Cont>
void _M_profile_construct()
[inline], [protected], [noexcept], [inherited]. Definition at line 75 of file ordered_base.h.
π«Ά _M_profile_destruct (inherited, from _Ordered_profile<_Cont>)
template<typename _Cont>
void _M_profile_destruct()
[inline], [protected], [noexcept], [inherited]. Definition at line 79 of file ordered_base.h.
π¦ _M_profile_iterate (inherited, from _Ordered_profile<_Cont>)
template<typename _Cont>
void _M_profile_iterate(int __rewind = 0) const
[inline], [inherited]. Note it's const, and the default is __rewind = 0. Definition at line 40 of file ordered_base.h.
π _M_swap (inherited, from _Ordered_profile<_Cont>)
template<typename _Cont>
void _M_swap(_Ordered_profile<_Cont> & __other)
[inline], [protected], [inherited]. Definition at line 86 of file ordered_base.h.
π₯ at β the version that lets you write
mapped_type & at(const key_type & __k)
[inline]. Definition at line 244 of file profile/map.h.
π₯ at β the const version, read only, hands off
const mapped_type & at(const key_type & __k) const
[inline]. Definition at line 251 of file profile/map.h.
β begin β const
const_iterator begin() const
[inline], [noexcept]. Definition at line 161 of file profile/map.h.
β begin β non-const
iterator begin()
[inline], [noexcept]. Definition at line 157 of file profile/map.h.
β¨ cbegin β const, always
const_iterator cbegin() const
[inline], [noexcept]. Definition at line 174 of file profile/map.h.
β¨ cend β const, always
const_iterator cend() const
[inline], [noexcept]. Definition at line 178 of file profile/map.h.
π§Ή clear
void clear()
[inline], [noexcept]. Definition at line 415 of file profile/map.h.
π count β the transparent-comparator one
template<typename _Kt, typename _Req = typename __has_is_transparent<_Compare, _Kt>::type>
size_type count(const _Kt & __x) const
[inline]. That _Req default is the whole transparent-lookup gatekeeping situation, iykyk. Definition at line 473 of file profile/map.h.
π count β the classic key_type one
size_type count(const key_type & __x) const
[inline]. Definition at line 462 of file profile/map.h.
π crbegin
const_reverse_iterator crbegin() const
[inline], [noexcept]. Definition at line 212 of file profile/map.h.
π crend
const_reverse_iterator crend() const
[inline], [noexcept]. Definition at line 219 of file profile/map.h.
πΈ emplace
template<typename... _Args>
std::pair<iterator, bool> emplace(_Args &&... __args)
[inline]. Variadic, perfect-forwarding, returns a std::pair<iterator, bool> like the queen she is. Definition at line 261 of file profile/map.h.
πΈ emplace_hint
template<typename... _Args>
iterator emplace_hint(const_iterator __pos, _Args &&... __args)
[inline]. You hand her a hint __pos and she hands you back an iterator. Definition at line 273 of file profile/map.h.
π¦ end β const
const_iterator end() const
[inline], [noexcept]. Definition at line 169 of file profile/map.h.
π¦ end β non-const
iterator end()
[inline], [noexcept]. Definition at line 165 of file profile/map.h.
π« equal_range β transparent comparator, non-const
template<typename _Kt, typename _Req = typename __has_is_transparent<_Compare, _Kt>::type>
std::pair<iterator, iterator> equal_range(const _Kt & __x)
[inline]. Definition at line 579 of file profile/map.h.
π« equal_range β transparent comparator, const
template<typename _Kt, typename _Req = typename __has_is_transparent<_Compare, _Kt>::type>
std::pair<const_iterator, const_iterator> equal_range(const _Kt & __x) const
[inline]. Definition at line 602 of file profile/map.h.
π equal_range β plain key_type, non-const
std::pair<iterator, iterator> equal_range(const key_type & __x)
[inline]. Definition at line 565 of file profile/map.h.
π equal_range β plain key_type, const
std::pair<const_iterator, const_iterator> equal_range(const key_type & __x) const
[inline]. Definition at line 588 of file profile/map.h.
okay that's the end of this chunk bestie, don't go anywhere β there's more map coming and it's giving β¨ so keep scrolling π
Okay continuing straight through the member function docs, no stopping, we're almost at the finish line π
πΈ erase β const key_type& __x β size_type
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
size_type
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::erase(const key_type& __x) [inline]
Definition at line 376 of file profile/map.h.
πΈ erase β const_iterator __first, const_iterator __last β iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::erase(const_iterator __first, const_iterator __last) [inline]
Definition at line 385 of file profile/map.h.
πΈ erase β const_iterator __pos β iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::erase(const_iterator __pos) [inline]
Definition at line 354 of file profile/map.h.
πΈ erase β iterator __pos β iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::erase(iterator __pos) [inline]
Definition at line 361 of file profile/map.h.
Four erase overloads in a row, bestie. That's the whole "delete my mistakes" era of the API and honestly, iconic. π
π¦ find β transparent _Kt version, non-const β iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
template<typename _Kt, typename _Req = typename __has_is_transparent<_Compare, _Kt>::type>
iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::find(const _Kt& __x) [inline]
Definition at line 435 of file profile/map.h.
π¦ find β transparent _Kt version, const β const_iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
template<typename _Kt, typename _Req = typename __has_is_transparent<_Compare, _Kt>::type>
const_iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::find(const _Kt& __x) const [inline]
Definition at line 454 of file profile/map.h.
π¦ find β const key_type& __x β iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::find(const key_type& __x) [inline]
Definition at line 424 of file profile/map.h.
π¦ find β const key_type& __x, const β const_iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
const_iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::find(const key_type& __x) const [inline]
Definition at line 443 of file profile/map.h.
π insert β _InputIterator __first, _InputIterator __last β void
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
template<typename _InputIterator>
void
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::insert(_InputIterator __first, _InputIterator __last) [inline]
Definition at line 346 of file profile/map.h.
π insert β _Pair&& __x β std::pair<iterator, bool>
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
template<typename _Pair, typename = typename std::enable_if<std::is_constructible<value_type, _Pair&&>::value>::type>
std::pair<iterator, bool>
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::insert(_Pair&& __x) [inline]
Definition at line 298 of file profile/map.h.
π insert β const value_type& __x β std::pair<iterator, bool>
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
std::pair<iterator, bool>
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::insert(const value_type& __x) [inline]
Definition at line 285 of file profile/map.h.
π insert β const_iterator __pos, _Pair&& __x β iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
template<typename _Pair, typename = typename std::enable_if<std::is_constructible<value_type, _Pair&&>::value>::type>
iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::insert(const_iterator __pos, _Pair&& __x) [inline]
Definition at line 333 of file profile/map.h.
π insert β const_iterator __pos, const value_type& __x β iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::insert(const_iterator __pos, const value_type& __x) [inline]
Definition at line 315 of file profile/map.h.
π insert β std::initializer_list<value_type> __list β void
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
void
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::insert(std::initializer_list<value_type> __list) [inline]
Definition at line 309 of file profile/map.h.
Sixinserts. SIX. Theenable_if<std::is_constructible<value_type, _Pair&&>>glow-up on the_Pairones is doing the absolute most and we love her for it. β¨
π lower_bound β transparent _Kt, non-const β iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
template<typename _Kt, typename _Req = typename __has_is_transparent<_Compare, _Kt>::type>
iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::lower_bound(const _Kt& __x) [inline]
Definition at line 493 of file profile/map.h.
π lower_bound β transparent _Kt, const β const_iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
template<typename _Kt, typename _Req = typename __has_is_transparent<_Compare, _Kt>::type>
const_iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::lower_bound(const _Kt& __x) const [inline]
Definition at line 514 of file profile/map.h.
π lower_bound β const key_type& __x β iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::lower_bound(const key_type& __x) [inline]
Definition at line 481 of file profile/map.h.
π lower_bound β const key_type& __x, const β const_iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
const_iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::lower_bound(const key_type& __x) const [inline]
Definition at line 502 of file profile/map.h.
π operator= β initializer_list<value_type> __l β map&
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
map&
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::operator=(initializer_list<value_type> __l) [inline]
Definition at line 146 of file profile/map.h.
π operator[] β const key_type& __k β mapped_type&
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
mapped_type&
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::operator[](const key_type& __k) [inline]
Definition at line 228 of file profile/map.h.
π operator[] β key_type&& __k β mapped_type&
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
mapped_type&
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::operator[](key_type&& __k) [inline]
Definition at line 236 of file profile/map.h.
π§ rbegin β const β const_reverse_iterator, [noexcept]
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
const_reverse_iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::rbegin() const [inline], [noexcept]
Definition at line 190 of file profile/map.h.
π§ rbegin β reverse_iterator, [noexcept]
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
reverse_iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::rbegin() [inline], [noexcept]
Definition at line 183 of file profile/map.h.
π§ rend β const β const_reverse_iterator, [noexcept]
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
const_reverse_iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::rend() const [inline], [noexcept]
Definition at line 204 of file profile/map.h.
π§ rend β reverse_iterator, [noexcept]
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
reverse_iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::rend() [inline], [noexcept]
Definition at line 197 of file profile/map.h.
Reverse iterators are the "read it back to front like a situationship" of containers. And yes, every single one of these four is [noexcept], so she's calm under pressure. π«Ά
β swap β map<_Key, _Tp, _Compare, _Allocator>& __x β void, [noexcept]
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
void
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::swap(map<_Key, _Tp, _Compare, _Allocator>& __x) [inline], [noexcept]
Definition at line 407 of file profile/map.h.
β upper_bound β transparent _Kt, non-const β iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
template<typename _Kt, typename _Req = typename __has_is_transparent<_Compare, _Kt>::type>
iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::upper_bound(const _Kt& __x) [inline]
Definition at line 535 of file profile/map.h.
β upper_bound β transparent _Kt, const β const_iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
template<typename _Kt, typename _Req = typename __has_is_transparent<_Compare, _Kt>::type>
const_iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::upper_bound(const _Kt& __x) const [inline]
Definition at line 556 of file profile/map.h.
β upper_bound β const key_type& __x β iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::upper_bound(const key_type& __x) [inline]
Definition at line 523 of file profile/map.h.
β upper_bound β const key_type& __x, const β const_iterator
template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
typename _Allocator = std::allocator<std::pair<const _Key, _Tp>>>
const_iterator
std::__profile::map<_Key, _Tp, _Compare, _Allocator>::upper_bound(const key_type& __x) const [inline]
Definition at line 544 of file profile/map.h.
And that's the entire member function roster, bestie. You made it. Go drink some water. π
ποΈ Member Data Documentation ποΈ
_M_map2umap_info β [protected], [inherited]
template<typename _Cont>
__gnu_profile::__map2umap_info*
std::__profile::_Ordered_profile<_Cont>::_M_map2umap_info
Definition at line 89 of file ordered_base.h.
Noticed the[inherited]tag? Yeah, this one isn't even originally hers, she got it from_Ordered_profile<_Cont>β it's a hand-me-down and she's wearing it better. π
π Author π
Generated automatically by Doxygen for libstdc++ from the source code.
And that's a wrap on this whole page, babes. ππ The little footer down at the bottom is basically the page's signature: it tells you this doc came from libstdc++ (the version lives right there in that footer line) and it's stamped with the date the docs were generated β so if you ever need to know when someone last ran Doxygen over this, that's your girl. No cap. πβ¨
π¦ where this page comes from
- ubuntu noble: libstdc++-9-doc 9.5.0-6ubuntu2
- ubuntu noble: libstdc++-9-doc 9.5.0-6ubuntu2.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms