STD::__DEBUG::UNORDERED_MAP(3cxx)

πŸ’– std::__debug::unordered_map β€” manual page (3cxx) πŸ’–

okay bestie, welcome to the (3cxx) manual page for std::__debug::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > β€” it's the debug/safety-checked version of std::unordered_map, and the vibe is "regular map but with a bodyguard and a clipboard" πŸ’…βœ¨.


✨ NAME ✨

std::__debug::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > β€” literally Class std::unordered_map with safety/checking/debug instrumentation. No cap, that's the whole name section. 🫢


🌈 SYNOPSIS 🌈

include it like this, bestie:

#include <unordered_map>

and here's the inheritance tea:

Inherits __gnu_debug::_Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware >, and unordered_map< _Key, _Tp, std::hash< _Key >, std::equal_to< _Key >, std::allocator< std::pair< const _Key, _Tp > > >.

πŸŽ€ Public Types πŸŽ€

type-alias lineup, periodt:

  • typedef _Base::allocator_type allocator_type β€” allocator type, slay 🫢
  • typedef __gnu_debug::_Safe_iterator< _Base_const_iterator, unordered_map > const_iterator β€” const iterator with debug-safety energy
  • typedef __gnu_debug::_Safe_local_iterator< _Base_const_local_iterator, unordered_map > const_local_iterator β€” const local iterator, also safe
  • typedef _Base::const_pointer const_pointer β€” const pointer
  • typedef _Base::const_reference const_reference β€” const reference
  • typedef _Base::difference_type difference_type β€” difference type
  • typedef _Base::hasher hasher β€” hasher type
  • using insert_return_type = _Node_insert_return< iterator, node_type > β€” insert return type
  • typedef __gnu_debug::_Safe_iterator< _Base_iterator, unordered_map > iterator β€” iterator, wrapped in safety
  • typedef _Base::key_equal key_equal β€” key equality type
  • typedef _Base::key_type key_type β€” key type
  • typedef __gnu_debug::_Safe_local_iterator< _Base_local_iterator, unordered_map > local_iterator β€” local iterator, safe vibes
  • typedef _Base::mapped_type mapped_type β€” mapped type
  • using node_type = typename _Base::node_type β€” node type
  • typedef _Base::pointer pointer β€” pointer
  • typedef _Base::reference reference β€” reference
  • typedef _Base::size_type size_type β€” size type
  • typedef _Base::value_type value_type β€” value type

🌈 Public Member Functions 🌈

this is the whole function roster, and yes it's long β€” hydrate first πŸ’€:

  • unordered_map (_Base_ref __x)
  • template<typename _InputIterator > unordered_map (_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type &__a)
  • template<typename _InputIterator > unordered_map (_InputIterator __first, _InputIterator __last, size_type __n, const hasher &__hf, const allocator_type &__a)
  • template<typename _InputIterator > unordered_map (_InputIterator __first, _InputIterator __last, size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
  • unordered_map (const allocator_type &__a)
  • unordered_map (const unordered_map &)=default
  • unordered_map (const unordered_map &__umap, const allocator_type &__a)
  • unordered_map (initializer_list< value_type > __l, size_type __n, const allocator_type &__a)
  • unordered_map (initializer_list< value_type > __l, size_type __n, const hasher &__hf, const allocator_type &__a)
  • unordered_map (initializer_list< value_type > __l, size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
  • unordered_map (size_type __n, const allocator_type &__a)
  • unordered_map (size_type __n, const hasher &__hf, const allocator_type &__a)
  • unordered_map (size_type __n, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
  • unordered_map (unordered_map &&)=default
  • unordered_map (unordered_map &&__umap, const allocator_type &__a) noexcept(noexcept(_Base(std::move(__umap), __a)))
  • const _Base & _M_base () const noexcept
  • _Base & _M_base () noexcept
  • const_iterator begin () const noexcept
  • iterator begin () noexcept
  • local_iterator begin (size_type __b)
  • const_local_iterator begin (size_type __b) const
  • size_type bucket_size (size_type __b) const
  • const_iterator cbegin () const noexcept
  • const_local_iterator cbegin (size_type __b) const
  • const_iterator cend () const noexcept
  • const_local_iterator cend (size_type __b) const
  • void clear () noexcept
  • template<typename... _Args> std::pair< iterator, bool > emplace (_Args &&... __args)
  • template<typename... _Args> iterator emplace_hint (const_iterator __hint, _Args &&... __args)
  • const_iterator end () const noexcept
  • iterator end () noexcept
  • local_iterator end (size_type __b)
  • const_local_iterator end (size_type __b) const
  • template<typename _Kt , typename = std::__has_is_transparent_t<_Hash, _Kt>, typename = std::__has_is_transparent_t<_Pred, _Kt>> std::pair< iterator, iterator > equal_range (const _Kt &__k)
  • template<typename _Kt , typename = std::__has_is_transparent_t<_Hash, _Kt>, typename = std::__has_is_transparent_t<_Pred, _Kt>> std::pair< const_iterator, const_iterator > equal_range (const _Kt &__k) const
  • std::pair< iterator, iterator > equal_range (const key_type &__key)
  • std::pair< const_iterator, const_iterator > equal_range (const key_type &__key) const
  • _Base_iterator erase (_Base_const_iterator __it)
  • size_type erase (const key_type &__key)
  • iterator erase (const_iterator __first, const_iterator __last)
  • iterator erase (const_iterator __it)
  • iterator erase (iterator __it)
  • node_type extract (const key_type &__key)
  • node_type extract (const_iterator __position)
  • template<typename _Kt , typename = std::__has_is_transparent_t<_Hash, _Kt>, typename = std::__has_is_transparent_t<_Pred, _Kt>> iterator find (const _Kt &__k)
  • template<typename _Kt , typename = std::__has_is_transparent_t<_Hash, _Kt>, typename = std::__has_is_transparent_t<_Pred, _Kt>> const_iterator find (const _Kt &__k) const
  • iterator find (const key_type &__key)
  • const_iterator find (const key_type &__key) 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 &&__obj)
  • std::pair< iterator, bool > insert (const value_type &__obj)
  • template<typename _Pair , typename = typename std::enable_if<std::is_constructible<value_type, _Pair&&>::value>::type> iterator insert (const_iterator __hint, _Pair &&__obj)
  • iterator insert (const_iterator __hint, const value_type &__obj)
  • iterator insert (const_iterator __hint, node_type &&__nh)
  • iterator insert (const_iterator __hint, value_type &&__x)
  • insert_return_type insert (node_type &&__nh)
  • void insert (std::initializer_list< value_type > __l)
  • std::pair< iterator, bool > insert (value_type &&__x)
  • template<typename _Obj > 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 > pair< iterator, bool > insert_or_assign (key_type &&__k, _Obj &&__obj)
  • float max_load_factor () const noexcept
  • void max_load_factor (float __f)
  • template<typename _H2 , typename _P2 > void merge (unordered_map< _Key, _Tp, _H2, _P2, _Alloc > &&__source)
  • template<typename _H2 , typename _P2 > void merge (unordered_map< _Key, _Tp, _H2, _P2, _Alloc > &__source)
  • template<typename _H2 , typename _P2 > void merge (unordered_multimap< _Key, _Tp, _H2, _P2, _Alloc > &&__source)
  • template<typename _H2 , typename _P2 > void merge (unordered_multimap< _Key, _Tp, _H2, _P2, _Alloc > &__source)
  • unordered_map & operator= (const unordered_map &)=default
  • unordered_map & operator= (initializer_list< value_type > __l)
  • unordered_map & operator= (unordered_map &&)=default
  • void swap (unordered_map &__x) noexcept(noexcept(declval< _Base & >().swap(__x)))
  • 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)

🧚 Protected Member Functions 🧚

  • constexpr void _M_swap (_Safe_container &__x) noexcept β€” protected swap business, lowkey important

🫢 Friends 🫢

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

🌸 Detailed Description 🌸

here's the big class-template moment:

template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>,
    typename _Pred = std::equal_to<_Key>, typename _Alloc =
    std::allocator<std::pair<const _Key, _Tp> >>
    class std::__debug::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc
    >"Class std::unordered_map with safety/checking/debug instrumentation.

yes, that "Class quote situation is literally on the page, bestie β€” iykyk πŸ™ˆ.


πŸ¦‹ Author πŸ¦‹

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


okay that's the whole page, bestie πŸ’– β€” source/version: libstdc++ via Doxygen, and the footer/date line is literally libststd::__debug::u..._Pred, _Alloc >(3cxx) (no separate date field on that line, no cap). now go be iconic with your debug-instrumented unordered_map πŸ‘‘βœ¨πŸ’…

πŸ“¦ where this page comes from