STD::__DEBUG::MAP(3cxx)

πŸ’– NAME πŸ’–

Okay bestie, manual page name first: std::__debug::m...e, _Allocator >(3cxx) β€” yes, the truncated header is part of the lore.

std::__debug::map< _Key, _Tp, _Compare, _Allocator > β€” it's literally Class std::map with safety/checking/debug instrumentation. No cap, that's the whole vibe.


✨ SYNOPSIS ✨

Start here, icon:

#include <map>

It inherits __gnu_debug::_Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware >, and map< _Key, _Tp, std::less< _Key >, std::allocator< std::pair< const _Key, _Tp > > >.

πŸŽ€ Public Types πŸŽ€

Type aliases, verbatim, because we do not lose a single crumb:

typedef _Allocator allocator_type
typedef __gnu_debug::_Safe_iterator< _Base_const_iterator, map > const_iterator
typedef _Base::const_pointer const_pointer
typedef _Base::const_reference const_reference
typedef std::reverse_iterator< const_iterator > const_reverse_iterator
typedef _Base::difference_type difference_type
using insert_return_type = _Node_insert_return< iterator, node_type >
typedef __gnu_debug::_Safe_iterator< _Base_iterator, map > iterator
typedef _Compare key_compare
typedef _Key key_type
typedef _Tp mapped_type
using node_type = typename _Base::node_type
typedef _Base::pointer pointer
typedef _Base::reference reference
typedef std::reverse_iterator< iterator > reverse_iterator
typedef _Base::size_type size_type
typedef std::pair< const _Key, _Tp > value_type

πŸ’… Public Member Functions πŸ’…

Full overload roster, in order, no deletions β€” because bestie, we are not gatekeeping:

map (_Base_ref __x)
template<typename _InputIterator > map (_InputIterator __first,
    _InputIterator __last, const _Compare &__comp=_Compare(), const
    _Allocator &__a=_Allocator())
template<typename _InputIterator > map (_InputIterator __first,
    _InputIterator __last, const allocator_type &__a)
map (const _Compare &__comp, const _Allocator &__a=_Allocator())
map (const allocator_type &__a)
map (const map &)=default
map (const map &__m, const __type_identity_t< allocator_type > &__a)
map (initializer_list< value_type > __l, const _Compare &__c=_Compare(),
    const allocator_type &__a=allocator_type())
map (initializer_list< value_type > __l, const allocator_type &__a)
map (map &&)=default
map (map &&__m, const __type_identity_t< allocator_type > &__a)
    noexcept(noexcept(_Base(std::move(__m), __a)))
const _Base & _M_base () const noexcept
_Base & _M_base () noexcept
const_iterator begin () const noexcept
iterator begin () noexcept
const_iterator cbegin () const noexcept
const_iterator cend () const noexcept
void clear () noexcept
const_reverse_iterator crbegin () const noexcept
const_reverse_iterator crend () const noexcept
template<typename... _Args> std::pair< iterator, bool > emplace (_Args
    &&... __args)
template<typename... _Args> iterator emplace_hint (const_iterator __pos,
    _Args &&... __args)
const_iterator end () const noexcept
iterator end () noexcept
template<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) const
std::pair< iterator, iterator > equal_range (const key_type &__x)
std::pair< const_iterator, const_iterator > equal_range (const key_type
    &__x) const
_Base_iterator erase (_Base_const_iterator __position)
size_type erase (const key_type &__x)
iterator erase (const_iterator __first, const_iterator __last)
iterator erase (const_iterator __position)
_GLIBCXX_ABI_TAG_CXX11 iterator erase (iterator __position)
node_type extract (const key_type &__key)
node_type extract (const_iterator __position)
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) const
iterator find (const key_type &__x)
const_iterator find (const key_type &__x) const
template<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)
iterator insert (const_iterator __hint, node_type &&__nh)
template<typename _Pair , typename  = typename
    std::enable_if<std::is_constructible<value_type,
    _Pair&&>::value>::type> iterator insert (const_iterator __position,
    _Pair &&__x)
iterator insert (const_iterator __position, const value_type &__x)
iterator insert (const_iterator __position, value_type &&__x)
insert_return_type insert (node_type &&__nh)
void insert (std::initializer_list< value_type > __list)
std::pair< iterator, bool > insert (value_type &&__x)
template<typename _Obj > std::pair< iterator, bool > insert_or_assign
    (const key_type &__k, _Obj &&__obj)
template<typename _Obj > iterator insert_or_assign (const_iterator
    __hint, const key_type &__k, _Obj &&__obj)
template<typename _Obj > iterator insert_or_assign (const_iterator
    __hint, key_type &&__k, _Obj &&__obj)
template<typename _Obj > std::pair< iterator, bool > insert_or_assign
    (key_type &&__k, _Obj &&__obj)
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) const
iterator lower_bound (const key_type &__x)
const_iterator lower_bound (const key_type &__x) const
map & operator= (const map &)=default
map & operator= (initializer_list< value_type > __l)
map & operator= (map &&)=default
const_reverse_iterator rbegin () const noexcept
reverse_iterator rbegin () noexcept
const_reverse_iterator rend () const noexcept
reverse_iterator rend () noexcept
void swap (map &__x) noexcept(/*conditional */)
template<typename... _Args> pair< iterator, bool > try_emplace (const
    key_type &__k, _Args &&... __args)
template<typename... _Args> iterator try_emplace (const_iterator __hint,
    const key_type &__k, _Args &&... __args)
template<typename... _Args> iterator try_emplace (const_iterator __hint,
    key_type &&__k, _Args &&... __args)
template<typename... _Args> pair< iterator, bool > try_emplace (key_type
    &&__k, _Args &&... __args)
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) const
iterator upper_bound (const key_type &__x)
const_iterator upper_bound (const key_type &__x) const

πŸ›‘οΈ Protected Member Functions πŸ›‘οΈ

One protected cutie, protected not hidden:

constexpr void _M_swap (_Safe_container &__x) noexcept

🫢 Friends 🫢

Friend era:

template<typename _ItT , typename _SeqT , typename _CatT > class
    ::__gnu_debug::_Safe_iterator

🌸 Detailed Description 🌸

Template time, bestie:

template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
    typename _Allocator = std::allocator<std::pair<const _Key, _Tp> >>
    class std::__debug::map< _Key, _Tp, _Compare, _Allocator >

And the one-line summary is literally Class std::map with safety/checking/debug instrumentation. β€” we love a debugging glow-up.

πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for libstdc++ from the source code.


Okay that's the whole page, bestie. Footer/source sign-off: libstdc++, manual section (3cxx), Doxygen-generated from source. The footer didn't give a date, so I'm not inventing one β€” date: not printed. πŸ’–βœ¨

πŸ“¦ where this page comes from