__GNU_PBDS::DETAIL::PAT_TRIE_BASE__INODE(3cxx)

πŸ’– __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata > πŸ’–

Okay bestie, this page is from the 3cxx manual. The header title got cropped into __gnu_pbds::de...its, Metadata > β€” Doxygen really said β€œellipsis and vibes” β€” but the full template name is the one right up there. It’s the internal node type for a PATRICIA tree, and we’re gonna walk through it like a group chat. 🫢

🌸 NAME 🌸

Internal node type, PATRICIA tree.

No cap, that’s the whole NAME: it’s giving β€œI am an internal node in a PATRICIA tree.” 🌳✨

✨ SYNOPSIS ✨

#include <pat_trie_base.hpp>

Inherits __gnu_pbds::detail::pat_trie_base::_Node_base< _ATraits, Metadata >.

πŸŽ€ Classes πŸŽ€

  • struct const_iterator β€” constant child iterator.
  • struct iterator β€” child iterator.

πŸ’… Public Types πŸ’…

  • enum { arr_size }
  • typedef detail::rebind_traits< _Alloc, node_pointer > __rebind_np
  • typedef base_type::allocator_type _Alloc
  • typedef base_type::access_traits access_traits
  • typedef _Alloc allocator_type
  • typedef _Node_base< _ATraits, Metadata > base_type
  • typedef __rebind_np::pointer node_pointer_pointer
  • typedef __rebind_np::reference node_pointer_reference
  • typedef _Alloc::size_type size_type
  • typedef base_type::type_traits type_traits
  • typedef type_traits::value_type value_type

πŸ¦‹ Public Member Functions πŸ¦‹

All signatures below are exactly as written β€” no renaming, no merging, no invented lore. 🫑

  • _Inode (size_type, const a_const_iterator)
  • node_pointer add_child (node_pointer, a_const_iterator, a_const_iterator, a_const_pointer)
  • iterator begin ()
  • const_iterator begin () const
  • iterator end ()
  • const_iterator end () const
  • iterator get_child_it (a_const_iterator, a_const_iterator, a_const_pointer)
  • node_pointer get_child_node (a_const_iterator, a_const_iterator, a_const_pointer)
  • node_const_pointer get_child_node (a_const_iterator, a_const_iterator, a_const_pointer) const
  • size_type get_e_ind () const
  • node_const_pointer get_join_child (node_const_pointer, a_const_pointer) const
  • node_pointer get_join_child (node_pointer, a_const_pointer)
  • node_pointer get_lower_bound_child_node (a_const_iterator, a_const_iterator, size_type, a_const_pointer)
  • leaf_pointer leftmost_descendant ()
  • leaf_const_pointer leftmost_descendant () const
  • a_const_iterator pref_b_it () const
  • a_const_iterator pref_e_it () const
  • void remove_child (iterator)
  • void remove_child (node_pointer)
  • void replace_child (node_pointer, a_const_iterator, a_const_iterator, a_const_pointer)
  • leaf_pointer rightmost_descendant ()
  • leaf_const_pointer rightmost_descendant () const
  • bool should_be_mine (a_const_iterator, a_const_iterator, size_type, a_const_pointer) const
  • void update_prefixes (a_const_pointer)

🌈 Public Attributes 🌈

  • node_pointer m_p_parent
  • const node_type m_type

πŸ’– Detailed Description πŸ’–

Under the template line, the page shows this β€” and yes, the stray " before Internal is literally in the original, not me being messy, bestie:

   template<typename _ATraits, typename Metadata>
       struct __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata
       >"Internal node type, PATRICIA tree.

🧚 Author 🧚

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


Okay, that’s the whole page. Cute little footer sign-off: the source/version line is libstd__gnu_pbds::de...its, Metadata >(3cxx), and there’s no separate date printed on this page. Bye bestie, go slay your PATRICIA tree πŸ’…βœ¨πŸ¦‹