STD::__DEBUG::UNORDERED_MULTIMAP(3)

🌸 NAME 🌸

std::__debug::unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc > β€” bestie, this is the Class std::unordered_multimap with safety/checking/debug instrumentation. Like the regular unordered_multimap but she went to therapy and now she checks things. πŸ’…

Oh and this page lives in the Library Functions Manual, page 3, just so you know where you are. 🫢


✨ SYNOPSIS ✨

#include <unordered_map>

She inherits from __gnu_debug::_Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware > β€” whole family tree, iconic, we love her. 🌈

πŸŽ€ Public Types πŸŽ€

  • typedef _Base::allocator_type allocator_type
  • typedef __gnu_debug::_Safe_iterator< _Base_const_iterator, unordered_multimap > const_iterator
  • typedef __gnu_debug::_Safe_local_iterator< _Base_const_local_iterator, unordered_multimap > const_local_iterator
  • typedef _Base::const_pointer const_pointer
  • typedef _Base::const_reference const_reference
  • typedef _Base::difference_type difference_type
  • typedef _Base::hasher hasher
  • typedef __gnu_debug::_Safe_iterator< _Base_iterator, unordered_multimap > iterator
  • typedef _Base::key_equal key_equal
  • typedef _Base::key_type key_type
  • typedef __gnu_debug::_Safe_local_iterator< _Base_local_iterator, unordered_multimap > local_iterator
  • typedef _Base::mapped_type mapped_type
  • typedef _Base::pointer pointer
  • typedef _Base::reference reference
  • typedef _Base::size_type size_type
  • typedef _Base::value_type value_type

Sixteen typedefs, all of them serving πŸ’–

πŸ’– Public Member Functions πŸ’–

The constructors, aka her many many entrances:

  • unordered_multimap (_Base_ref __x)
  • template<typename _InputIterator> unordered_multimap (_InputIterator __first, _InputIterator __last, const allocator_type &__a)
  • template<typename _InputIterator> unordered_multimap (_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type &__a)
  • template<typename _InputIterator> unordered_multimap (_InputIterator __first, _InputIterator __last, size_type __n, const hasher &__hf, const allocator_type &__a)
  • template<typename _InputIterator> unordered_multimap (_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_multimap (const allocator_type &__a)
  • unordered_multimap (const unordered_multimap &)=default
  • unordered_multimap (const unordered_multimap &__umap, const allocator_type &__a)
  • unordered_multimap (initializer_list< value_type > __l, const allocator_type &__a)
  • unordered_multimap (initializer_list< value_type > __l, size_type __n, const allocator_type &__a)
  • unordered_multimap (initializer_list< value_type > __l, size_type __n, const hasher &__hf, const allocator_type &__a)
  • unordered_multimap (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_multimap (size_type __n, const allocator_type &__a)
  • unordered_multimap (size_type __n, const hasher &__hf, const allocator_type &__a)
  • unordered_multimap (size_type __n, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
  • unordered_multimap (unordered_multimap &&)=default
  • unordered_multimap (unordered_multimap &&__umap, const allocator_type &__a) noexcept(noexcept(_Base(std::move(__umap), __a)))

Then the whole rest of her resume:

  • 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> iterator 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
  • 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)
  • template<__heterogeneous_hash_key< unordered_multimap > _Kt> size_type erase (_Kt &&__key)
  • size_type erase (const key_type &__key)
  • iterator erase (const_iterator __first, const_iterator __last)
  • iterator erase (const_iterator __it)
  • iterator erase (iterator __it)
  • 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> iterator insert (_Pair &&__obj)
  • iterator 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, value_type &&__x)
  • void insert (std::initializer_list< value_type > __l)
  • iterator insert (value_type &&__x)
  • float max_load_factor () const noexcept
  • void max_load_factor (float __f)
  • unordered_multimap & operator= (const unordered_multimap &)=default
  • unordered_multimap & operator= (initializer_list< value_type > __l)
  • unordered_multimap & operator= (unordered_multimap &&)=default
  • void swap (unordered_multimap &__x) noexcept(noexcept(declval< _Base & >().swap(__x)))

Not the noexcept(noexcept(...)) nesting, that's her whole personality fr fr 😭

πŸ”’ Protected Member Functions πŸ”’

  • constexpr void _M_swap (const _Safe_container &__x) const noexcept

Just the one, and she's protected β€” mind your business, respectfully πŸ™ˆ

🫢 Friends 🫢

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

Her two ride-or-dies πŸ’œ


🌈 Detailed Description 🌈

Okay so the actual declaration, verbatim, no cap:

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_multimap< _Key, _Tp, _Hash, _Pred, _Alloc >

And what she is, one more time for the people in the back: "Class std::unordered_multimap with safety/checking/debug instrumentation." πŸ‘‘


🌸 Author 🌸

Generated automatically by Doxygen for libstdc++ from the source code. So technically nobody wrote her, she simply materialised, main character energy, and we're all just living in her world ✨


And that's the whole page bestie β€” this is libstdc++, std::__debug::unordered_multimap< _Key, _Tp, _Hash, _Pred, _Alloc >, manual page 3, and yes the footer says exactly that, so go forth and be safe out there πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from
  • arch rolling: gcc 16.2.1+r23+gd564253eb6c8-1 Β· GPL-3.0-or-later WITH GCC-exception-3.1 AND GFDL-1.3-or-later
  • fedora 44: libstdc++-docs 16.2.1-2.fc44
  • fedora 44: libstdc++-docs 16.2.1-3.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms