__GNU_PBDS::DETAIL::PAT_TRIE_BASE__INODE_ITERATOR(3cxx)

πŸ’… __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::iterator β€” NAME πŸŽ€

okay bestie, welcome to the 3cxx manual page ✨ (yes that's the manual name, it's giving "section 3, C++ bindings", iconic) and today's main character is __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::iterator β€” literally just the child iterator πŸ¦‹

that's it. that's the whole name. it iterates over children. slay.


✨ SYNOPSIS ✨

you get to it through this header, no cap:

#include <pat_trie_base.hpp>

and it inherits from __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::const_iterator β€” so it's basically the const iterator's louder, more confident younger sibling 🫢


🌸 Public Types 🌸

the whole typedef family, all present and accounted for πŸ’–

  • difference_type β€” typedef'd to _Alloc::difference_type, aka "how far apart are we" energy
  • iterator_category β€” typedef'd to std::forward_iterator_tag, so it's a forward iterator, periodt
  • pointer β€” typedef'd to node_pointer_pointer (yes, pointer to a pointer, she's extra like that)
  • reference β€” typedef'd to node_pointer_reference
  • value_type β€” typedef'd to node_pointer

πŸ’… Public Member Functions πŸ’…

every single one, in order, no skipping, we don't do that here:

  • iterator (node_pointer_pointer p_p_cur=0, node_pointer_pointer p_p_end=0) β€” the constructor, with both params defaulting to 0 πŸ‘‘
  • bool operator!= (const const_iterator &other) const β€” "am I not-equal to this const_iterator" check
  • bool operator!= (const iterator &other) const β€” same vibe, but against another iterator
  • node_pointer operator* () β€” dereference, gives you a node_pointer πŸ”₯
  • node_const_pointer operator* () const β€” the const version of dereference, gives you a node_const_pointer
  • iterator & operator++ () β€” prefix increment, returns a reference to yourself (main character energy fr)
  • iterator operator++ (int) β€” postfix increment, returns a copy
  • node_pointer_pointer operator-> () β€” arrow operator, hands back a node_pointer_pointer
  • const node_pointer_pointer operator-> () const β€” const arrow, returns const node_pointer_pointer
  • bool operator== (const const_iterator &other) const β€” equality check against a const_iterator
  • bool operator== (const iterator &other) const β€” equality check against another iterator

πŸŽ€ Public Attributes πŸŽ€

the two public members, exposed, unbothered:

  • node_pointer_pointer m_p_p_cur β€” where you're currently at, the "you are here" of it all
  • node_pointer_pointer m_p_p_end β€” where it ends, the boundary, the limit, the vibe check line ⭐

πŸ¦‹ Detailed Description πŸ¦‹

template<typename _ATraits, typename Metadata>
    struct __gnu_pbds::detail::pat_trie_base::_Inode< _ATraits, Metadata >::iterator
Child iterator.

that's the entire detailed description bestie 😭 it's short, it's efficient, it's lowkey a mood. Child iterator. That's the description. We respect the minimalism πŸ™ˆ


🌈 Author 🌈

Generated automatically by Doxygen for libstdc++ from the source code. not a human, just Doxygen doing its thing, no cap πŸ€–βœ¨


and that's the page!! πŸ’œ cute little sign-off time: this was served up from libstdc++ (the footer's version/pages line got chopped up into libstd__gnu_pbds::de...ata >::iterator(3cxx), and honestly the date is a mystery even to me, so we're just gonna say "some time ago" and move on πŸ“). go iterate over some children, bestie, you've got this πŸ§šβ€β™€οΈπŸ’–