STD::__DETAIL::_INSERT_BASE(3cxx)

✨ NAME ✨

bestie meet std::__detail::_Insert_base< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits > β€” yes that's a whole mouthful, yes it's iconic, and yes we're gonna get through it together πŸ’–


🌸 SYNOPSIS 🌸

okay so first things first, you gotta pull her in:

#include <hashtable_policy.h>

Inherited by std::__detail::_Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false >, and std::__detail::_Insert< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true >.


🫢 Public Member Functions

  • template<typename _InputIterator > void insert (_InputIterator __first, _InputIterator __last) β€” drops in a whole range, from __first up to (but not including, iykyk) __last 🌈
  • __ireturn_type insert (const value_type &__v) β€” the classic single-value insert, she's giving main character energy ✨
  • iterator insert (const_iterator __hint, const value_type &__v) β€” same vibe, but you're handing her a __hint about where it might go πŸ‘€
  • void insert (initializer_list< value_type > __l) β€” feed her a __l initializer_list, no notes πŸ’…

πŸŽ€ Protected Types

  • using __hashtable = _Hashtable< _Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits >
  • using __hashtable_base = _Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits >
  • using __ireturn_type = typename __hashtable_base::__ireturn_type
  • using __node_alloc_type = __alloc_rebind< _Alloc, __node_type >
  • using __node_gen_type = _AllocNode< __node_alloc_type >
  • using __node_type = _Hash_node< _Value, _Traits::__hash_cached::value >
  • using __unique_keys = typename __hashtable_base::__unique_keys
  • using const_iterator = typename __hashtable_base::const_iterator
  • using iterator = typename __hashtable_base::iterator
  • using size_type = typename __hashtable_base::size_type
  • using value_type = typename __hashtable_base::value_type

literally a whole little type family, and they all eat πŸ“


πŸ’œ Protected Member Functions

  • __hashtable & _M_conjure_hashtable () β€” conjures the hashtable, as one does 🧚
  • template<typename _InputIterator , typename _NodeGetter > void _M_insert_range (_InputIterator __first, _InputIterator __last, const _NodeGetter &, false_type) β€” the false_type flavour of the range insert πŸ¦‹
  • template<typename _InputIterator , typename _NodeGetter > void _M_insert_range (_InputIterator __first, _InputIterator __last, const _NodeGetter &, true_type) β€” and the true_type flavour, her sister πŸ’«

πŸ‘‘ Detailed Description

template<typename _Key, typename _Value, typename _Alloc, typename
    _ExtractKey, typename _Equal, typename _H1, typename _H2, typename
    _Hash, typename _RehashPolicy, typename _Traits>
    struct std::__detail::_Insert_base< _Key, _Value, _Alloc, _ExtractKey,
    _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits >

Primary class template _Insert_base.

she Defines insert member functions appropriate to all _Hashtables. periodt πŸ’…

like… that's the whole job, and she does it flawlessly πŸ”₯


🌟 Author

Generated automatically by Doxygen for libstdc++ from the source code.</purole>


and that's the tea, bestie 🫢 this lil' page came to you courtesy of libstdc++, written up by Doxygen straight from the source code, and it lives in the 3cxx manual β€” no cap, that's genuinely all of it πŸŒˆβœ¨πŸ’–

πŸ“¦ where this page comes from