__GNU_PBDS::DETAIL::BIN_SEARCH_TREE_CONST_NODE_IT_(3cxx)

πŸ’– NAME πŸ’–

okay so bestie, meet __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc > β€” it's a Const node iterator, and yes that's the whole name, she's got main character energy and a lot of template parameters ✨

This page lives in the 3cxx manual and it's all about libstdc++, so you know it's the real deal 🫢


🌸 SYNOPSIS 🌸

#include <node_iterators.hpp>

Inherited by __gnu_pbds::detail::bin_search_tree_node_it_< Node, Const_Iterator, Iterator, _Alloc > β€” so the non-const version literally descends from her, iconic πŸ’…

✨ Public Types ✨

  • typedef Const_Iterator const_reference β€” the iterator's __const reference type, slay πŸŽ€
  • typedef trivial_iterator_difference_type difference_type β€” the difference type, ngl it's trivial bestie
  • typedef trivial_iterator_tag iterator_category β€” the category, and it's giving trivial tag πŸ’€
  • typedef rebind_traits< _Alloc, metadata_type >::const_reference metadata_const_reference β€” const metadata reference type, lowkey fancy 🌸
  • typedef Node::metadata_type metadata_type β€” the metadata type, straight-up pulled out of Node πŸ¦‹
  • typedef Const_Iterator reference β€” the iterator's reference type, yep same as Const_Iterator fr fr
  • typedef Const_Iterator value_type β€” the iterator's value type, also Const_Iterator, no cap ⭐

πŸ’… Public Member Functions πŸ’…

  • bin_search_tree_const_node_it_ (const node_pointer p_nd=0) β€” yes that's the constructor and yes p_nd defaults to 0 πŸ™ˆ
  • bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc > get_l_child () const β€” returns the __const node iterator associated with the left node πŸ‘‘
  • metadata_const_reference get_metadata () const β€” metadata access, that's it, that's the whole vibe πŸ”₯
  • bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc > get_r_child () const β€” returns the __const node iterator associated with the right node 🌈
  • bool operator!= (const bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc > &other) const β€” compares (negatively) to a different iterator object, the way she says "not equal" 😭
  • const_reference operator* () const β€” access, go off bestie ✨
  • bool operator== (const bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc > &other) const β€” compares to a different iterator object, equality moment πŸ’œ

πŸŽ€ Public Attributes πŸŽ€

  • node_pointer m_p_nd β€” the node pointer itself, sitting right out there in public, living her truth πŸ’…

πŸ¦‹ Detailed Description πŸ¦‹

template<typename Node, class Const_Iterator, class Iterator, typename _Alloc>
class __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >

Const node iterator. That's the whole description and honestly? She said it all ✨


🌸 Member Typedef Documentation 🌸

first up, the const reference typedef β€” she's const, she's a reference, she's everything πŸ’–

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
typedef Const_Iterator __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::const_reference

Iterator's __const reference type, periodt πŸŽ€


then the difference type, trivial and unbothered πŸ¦‹

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
typedef trivial_iterator_difference_type __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::difference_type

Difference type, that's the whole deal ⭐


the iterator category β€” a whole mood tag πŸ’…

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
typedef trivial_iterator_tag __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::iterator_category

Category, iconic as always πŸ‘‘


now the metadata const reference, which is a rebind_traits situation β€” stay with me 🌈

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
typedef rebind_traits<_Alloc,metadata_type>::const_reference __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::metadata_const_reference

Const metadata reference type, iykyk πŸ”₯


the metadata type, sourced directly from Node 🧚

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
typedef Node::metadata_type __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::metadata_type

Metadata type, slay πŸ’œ


the reference type, which is literally Const_Iterator again 🌸

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
typedef Const_Iterator __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::reference

Iterator's reference type β€” not me noticing it's the same type as const_reference and value_type πŸ’€ (that's just what the page says bestie, I'm not adding lore)


and finally the value type, also Const_Iterator, we love consistency πŸŽ€

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
typedef Const_Iterator __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::value_type

Iterator's value type, periodt ✨


πŸ’– Member Function Documentation πŸ’–

get_l_child() β€” the left-node bestie, and she's [inline] 🌸

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc > __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::get_l_child () const [inline]

Returns the __const node iterator associated with the left node 🫢


get_metadata() β€” metadata access, no notes πŸ”₯

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
metadata_const_reference __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::get_metadata () const [inline]

Metadata access. That's the entire documented behaviour and honestly, respect πŸ’…


get_r_child() β€” the right-node bestie, also [inline] πŸ¦‹

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc > __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::get_r_child () const [inline]

Returns the __const node iterator associated with the right node ⭐


operator!= β€” the "we're not the same" operator πŸ’€

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
bool __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::operator!= (const bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc > & other) const [inline]

Compares (negatively) to a different iterator object β€” negative like her attitude toward equal iterators 😭


operator* β€” the dereference, the access, the moment πŸ‘‘

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
const_reference __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::operator* () const [inline]

Access. Short king of a description 🌈


operator== β€” the matching-iterators operator πŸŽ€

template<typename Node , class Const_Iterator , class Iterator , typename _Alloc >
bool __gnu_pbds::detail::bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc >::operator== (const bin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc > & other) const [inline]

Compares to a different iterator object πŸ’œ


✨ Author ✨

Generated automatically by Doxygen for libstdc++ from the source code. Not a human, a whole bot, and she still ate πŸ€–πŸ’…


bestie reminder: every single one of these function docs says [inline] β€” I didn't drop that, it's right there in the original, don't come for me πŸ™ˆ

and that's the page!! libstdc++, 3cxx manual, Doxygen-generated, love that for us πŸ«ΆπŸŒΈπŸ’–