__GNU_PBDS::DETAIL::PAT_TRIE_BASE__NODE_ITER(3)

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

πŸ’– NAME πŸ’–

__gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc > β€” Node iterator.

okay so this is straight out of the Library Functions Manual, and it's giving deep-library-internals energy. Node iterator. that's the whole vibe. 🫢


✨ SYNOPSIS ✨

#include <pat_trie_base.hpp>

Inherits __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >.


πŸ¦‹ Public Types πŸ¦‹

  • typedef value_type const_reference
  • typedef trivial_iterator_difference_type difference_type
  • typedef trivial_iterator_tag iterator_category
  • typedef rebind_traits< _Alloc, metadata_type >::const_reference metadata_const_reference β€” Const metadata reference type.
  • typedef Node::metadata_type metadata_type β€” Metadata type.
  • typedef value_type reference
  • typedef base_type::size_type size_type
  • typedef Iterator value_type

🌸 Public Member Functions 🌸

  • _Node_iter (node_pointer p_nd=0, a_const_pointer p_traits=0)
  • _Node_iter get_child (size_type i) const β€” Returns a node __iterator to the corresponding node's i-th child.
  • metadata_const_reference get_metadata () const β€” Metadata access.
  • size_type num_children () const β€” Returns the number of children in the corresponding node.
  • bool operator!= (const _Node_citer &other) const β€” Compares content (negatively) to a different iterator object.
  • reference operator* () const β€” Access; returns the iterator* associated with the current leaf.
  • bool operator== (const _Node_citer &other) const β€” Compares content to a different iterator object.
  • std::pair< a_const_iterator, a_const_iterator > valid_prefix () const β€” Subtree valid prefix.

πŸ’… Public Attributes πŸ’…

  • node_pointer m_p_nd
  • a_const_pointer m_p_traits

πŸŽ€ Protected Types πŸŽ€

  • typedef Node::a_const_iterator a_const_iterator
  • typedef rebind_traits< _Alloc, Inode >::const_pointer inode_const_pointer
  • typedef rebind_traits< _Alloc, Leaf >::const_pointer leaf_const_pointer
  • typedef rebind_traits< _Alloc, Leaf >::pointer leaf_pointer

🌈 Detailed Description 🌈

no cap, here's the whole class declaration vibe:

template<typename Node, typename Leaf, typename Head, typename Inode,
    typename _CIterator, typename Iterator, typename _Alloc>
class __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head,
    Inode, _CIterator, Iterator, _Alloc >"Node iterator.

Node iterator. iconic. πŸ‘‘


⭐ Member Typedef Documentation ⭐

🧚 metadata_const_reference (inherited)

template<typename Node, typename Leaf, typename Head, typename Inode,
    typename _CIterator, typename Iterator, typename _Alloc> typedef
    rebind_traits<_Alloc,metadata_type>::const_reference
    __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode,
    _CIterator, Iterator, _Alloc >::metadata_const_reference [inherited]

Const metadata reference type. literally just a const ref to metadata, bestie, nothing scary. ✨

🧚 metadata_type (inherited)

template<typename Node, typename Leaf, typename Head, typename Inode,
    typename _CIterator, typename Iterator, typename _Alloc> typedef
    Node::metadata_type __gnu_pbds::detail::pat_trie_base::_Node_citer<
    Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::metadata_type
    [inherited]

Metadata type. the metadata's type. that's it, that's the tea. πŸ“


πŸ”₯ Member Function Documentation πŸ”₯

πŸ’œ get_child β€” the one that gives you a child iterator

template<typename Node, typename Leaf, typename Head, typename Inode,
    typename _CIterator, typename Iterator, typename _Alloc> _Node_iter
    __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode,
    _CIterator, Iterator, _Alloc >::get_child (size_type i) const [inline]

Returns a node __iterator to the corresponding node's i-th child. hand it an i, get back the iterator for that child. slay. 🌟

πŸ’œ get_metadata β€” metadata access (inherited)

template<typename Node, typename Leaf, typename Head, typename Inode,
    typename _CIterator, typename Iterator, typename _Alloc>
    metadata_const_reference __gnu_pbds::detail::pat_trie_base::_Node_citer<
    Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::get_metadata ()
    const [inline],  [inherited]

Metadata access. go get your metadata, you deserve it. πŸŽ€

πŸ’œ num_children β€” how many kiddos (inherited)

template<typename Node, typename Leaf, typename Head, typename Inode,
    typename _CIterator, typename Iterator, typename _Alloc> size_type
    __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode,
    _CIterator, Iterator, _Alloc >::num_children () const [inline],
    [inherited]

Returns the number of children in the corresponding node.

Referenced by __gnu_pbds::detail::pat_trie_base::_Node_citer< node, leaf, head, inode, const_iterator, iterator, _Alloc >::operator*().

πŸ’œ operator!= β€” the "not equal" check (inherited)

template<typename Node, typename Leaf, typename Head, typename Inode,
    typename _CIterator, typename Iterator, typename _Alloc> bool
    __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode,
    _CIterator, Iterator, _Alloc >::operator!= (const _Node_citer< Node,
    Leaf, Head, Inode, _CIterator, Iterator, _Alloc > & other) const
    [inline],  [inherited]

Compares content (negatively) to a different iterator object. negatively = it's the not-equal one, bestie, don't overthink it. πŸ’€

πŸ’œ operator* β€” the dereference moment

template<typename Node, typename Leaf, typename Head, typename Inode,
    typename _CIterator, typename Iterator, typename _Alloc> reference
    __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode,
    _CIterator, Iterator, _Alloc >::operator* () const [inline]

Access; returns the iterator* associated with the current leaf. dereference and get your prize. πŸ”₯

πŸ’œ operator== β€” the "equal" check (inherited)

template<typename Node, typename Leaf, typename Head, typename Inode,
    typename _CIterator, typename Iterator, typename _Alloc> bool
    __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode,
    _CIterator, Iterator, _Alloc >::operator== (const _Node_citer< Node,
    Leaf, Head, Inode, _CIterator, Iterator, _Alloc > & other) const
    [inline],  [inherited]

Compares content to a different iterator object. same energy as operator!= but the positive version. 🫢

πŸ’œ valid_prefix β€” subtree valid prefix (inherited)

template<typename Node, typename Leaf, typename Head, typename Inode,
    typename _CIterator, typename Iterator, typename _Alloc> std::pair<
    a_const_iterator, a_const_iterator >
    __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode,
    _CIterator, Iterator, _Alloc >::valid_prefix () const [inline],
    [inherited]

Subtree valid prefix. returns you a std::pair of a_const_iterators, and yes that's the whole description, iykyk. πŸ¦‹


πŸ‘‘ Author πŸ‘‘

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


k that's the whole page, bestie πŸ’– this was page 3 of the Library Functions Manual, brought to you by libstdc++ and its Doxygen overlords β€” go forth and iterate responsibly. periodt. πŸ’…βœ¨

πŸ“¦ 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