__GNU_PBDS::DETAIL::PAT_TRIE_BASE__ITER(3)

πŸ“¦
version 16.2.1+r23+gd564253eb6c8 Β· 6 versions
, in arch rolling, fedora 44

πŸ’– __gnu_pbds::detail::pat_trie_base::_Iter β€” NAME πŸ’–

okay bestie, so this is __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator > and it's literally just... an Iterator. that's the whole name. no notes. it lives in the Library Functions Manual section of the libstdc++ docs and honestly? it's giving internals-only energy. iykyk πŸ¦‹


✨ SYNOPSIS ✨

#include <pat_trie_base.hpp>

it Inherits __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator > β€” so everything the const-iterator mom does, this one's doing too. periodt. πŸ‘‘

🌸 Public Types 🌸

all the typedefs, no cap, every single one:

  • typedef allocator_type _Alloc
  • typedef base_type::allocator_type allocator_type
  • typedef _CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator > base_type
  • typedef type_traits::const_pointer const_pointer
  • typedef type_traits::const_reference const_reference
  • typedef allocator_type::difference_type difference_type
  • typedef base_type::head_pointer head_pointer
  • typedef Inode::iterator inode_iterator
  • typedef base_type::inode_pointer inode_pointer
  • typedef std::bidirectional_iterator_tag iterator_category β€” yup, it goes both ways, forward and back πŸ’…
  • typedef base_type::leaf_const_pointer leaf_const_pointer
  • typedef base_type::leaf_pointer leaf_pointer
  • typedef base_type::node_pointer node_pointer
  • typedef type_traits::pointer pointer
  • typedef type_traits::reference reference
  • typedef base_type::type_traits type_traits
  • typedef type_traits::value_type value_type

πŸŽ€ Public Member Functions πŸŽ€

the whole roster, bestie, we do not skip a single one:

  • _Iter (const _Iter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > &other) β€” copy-constructs from the opposite-direction iterator. cute little flip. πŸ”„
  • _Iter (node_pointer p_nd=0) β€” construct from a node pointer, defaulting to 0.
  • bool operator!= (const _CIter &other) const β€” "we are NOT the same" check.
  • bool operator!= (const _CIter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > &other) const β€” and the same check against the opposite-direction _CIter.
  • reference operator* () const β€” deref, the classic. give me the thing you're pointing at ✨
  • _Iter & operator++ () β€” pre-increment, moves forward.
  • _Iter operator++ (int) β€” post-increment, returns the before pic πŸ“Έ
  • _Iter & operator-- () β€” pre-decrement, goes back.
  • _Iter operator-- (int) β€” post-decrement, returns the before pic again.
  • pointer operator-> () const β€” member access, arrow style.
  • _Iter & operator= (const _Iter &other) β€” assignment, same flavor.
  • _Iter & operator= (const _Iter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > &other) β€” assignment but from the opposite-direction iterator.
  • bool operator== (const _CIter &other) const β€” twin check πŸ’–
  • bool operator== (const _CIter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > &other) const β€” twin check against the opposite-direction _CIter.

🌈 Public Attributes 🌈

  • node_pointer m_p_nd β€” the node pointer. the main character. the whole reason we're here. πŸ‘‘

πŸ’œ Protected Member Functions πŸ’œ

for the internal girlies only:

  • void dec (false_type)
  • void dec (true_type)
  • void inc (false_type)
  • void inc (true_type)

🫢 Static Protected Member Functions 🫢

static, protected, and honestly doing the most:

  • static node_pointer get_larger_sibling (node_pointer p_nd)
  • static node_pointer get_smaller_sibling (node_pointer p_nd)
  • static leaf_pointer leftmost_descendant (node_pointer p_nd)
  • static leaf_pointer rightmost_descendant (node_pointer p_nd)

πŸ¦‹ Detailed Description πŸ¦‹

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>
class __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >

"Iterator."

that's it. that's the description. no elaboration, no lore drop, just vibes and the word Iterator. iconic honestly. πŸ’€βœ¨


🌸 Author 🌸

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

lowkey nobody hand-wrote this one bestie, the robot did it. πŸ™ˆ

and that's the whole page fr fr πŸŽ€ this little iterator is a std::bidirectional_iterator_tag darling from the libstdc++ crew, docs auto-built by Doxygen, and we are obsessed. go forth and ++ responsibly, bestie. mwah. πŸ’…πŸ’–πŸ¦‹

πŸ“¦ 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.0.1-0.10.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
  • 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