STD::__DEBUG::UNORDERED_MULTISET(3cxx)

πŸ’– NAME πŸ’–

Okay bestie, this is the 3cxx manual page for std::__debug::unordered_multiset< _Value, _Hash, _Pred, _Alloc >. The official name vibe is: Class std::unordered_multiset with safety/checking/debug instrumentation. That's literally it β€” debug-instrumented unordered multiset energy, no cap. 🫢


🌈 SYNOPSIS 🌈

Include the header like this, exactly:

#include <unordered_set>

It inherits from __gnu_debug::_Safe_container< _SafeContainer, _Alloc, _SafeBase, _IsCxx11AllocatorAware >, and also from unordered_multiset< _Value, std::hash< _Value >, std::equal_to< _Value >, std::allocator< _Value > >. Inheritance era, fr fr. 🧚


πŸŽ€ Public Types πŸŽ€

Here's the whole typedef cast, bestie β€” no skips, no summarising, no "you get the idea" behavior:

  • typedef _Base::allocator_type allocator_type
  • typedef __gnu_debug::_Safe_iterator< _Base_const_iterator, unordered_multiset > const_iterator
  • typedef __gnu_debug::_Safe_local_iterator< _Base_const_local_iterator, unordered_multiset > 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_multiset > iterator
  • typedef _Base::key_equal key_equal
  • typedef _Base::key_type key_type
  • typedef __gnu_debug::_Safe_local_iterator< _Base_local_iterator, unordered_multiset > local_iterator
  • using node_type = typename _Base::node_type
  • typedef _Base::pointer pointer
  • typedef _Base::reference reference
  • typedef _Base::size_type size_type
  • typedef _Base::value_type value_type

πŸ¦‹ Public Member Functions πŸ¦‹

This is the full member-function guest list. Every signature stays character-for-character iconic. πŸ’…

✨ Constructors (the "make it exist" era) ✨

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

🧚 Base access + begin/end/bucket crew 🧚

  • 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

🌸 equal_range + erase + extract + find 🌸

  • 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

πŸ’œ insert era πŸ’œ

  • template<typename _InputIterator > void insert (_InputIterator __first, _InputIterator __last)
  • iterator insert (const value_type &__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 &&__obj)
  • iterator insert (node_type &&__nh)
  • void insert (std::initializer_list< value_type > __l)
  • iterator insert (value_type &&__obj)

πŸ”₯ load factor + merge + assignment + swap πŸ”₯

  • float max_load_factor () const noexcept
  • void max_load_factor (float __f)
  • template<typename _H2 , typename _P2 > void merge (unordered_multiset< _Value, _H2, _P2, _Alloc > &&__source)
  • template<typename _H2 , typename _P2 > void merge (unordered_multiset< _Value, _H2, _P2, _Alloc > &__source)
  • template<typename _H2 , typename _P2 > void merge (unordered_set< _Value, _H2, _P2, _Alloc > &&__source)
  • template<typename _H2 , typename _P2 > void merge (unordered_set< _Value, _H2, _P2, _Alloc > &__source)
  • unordered_multiset & operator= (const unordered_multiset &)=default
  • unordered_multiset & operator= (initializer_list< value_type > __l)
  • unordered_multiset & operator= (unordered_multiset &&)=default
  • void swap (unordered_multiset &__x) noexcept(noexcept(declval< _Base & >().swap(__x)))

πŸ’… Protected Member Functions πŸ’…

One protected icon, and she's staying exactly as printed:

  • constexpr void _M_swap (_Safe_container &__x) noexcept

πŸ‘‘ Friends πŸ‘‘

The friend list is short but very main-character energy:

  • 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 ⭐

The page spells the whole template out like this, and yes, I'm keeping every character including the slightly chaotic quote moment, bestie β€” not me "fixing" the source text:

template<typename _Value, typename _Hash = std::hash<_Value>, typename _Pred
    = std::equal_to<_Value>, typename _Alloc = std::allocator<_Value>>
    class std::__debug::unordered_multiset< _Value, _Hash, _Pred, _Alloc
    >"Class std::unordered_multiset with safety/checking/debug
    instrumentation.

So the class being described is literally: Class std::unordered_multiset with safety/checking/debug instrumentation. Periodt. ✨


🌟 Author 🌟

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


Source/version vibes: this is libstdc++'s Doxygen-generated page for the manual page std::__debug::unordered_multiset< _Value, _Hash, _Pred, _Alloc >(3cxx). The footer date didn't show up in the source text I got, so I'm not inventing one β€” mwah, take care of your debug containers, bestie πŸ’‹πŸŽ€

πŸ“¦ where this page comes from