__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__constreference type, slay πtypedef trivial_iterator_difference_type difference_typeβ the difference type, ngl it's trivial bestietypedef 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 ofNodeπ¦typedef Const_Iterator referenceβ the iterator's reference type, yep same asConst_Iteratorfr frtypedef Const_Iterator value_typeβ the iterator's value type, alsoConst_Iterator, no cap β
π Public Member Functions π
bin_search_tree_const_node_it_ (const node_pointer p_nd=0)β yes that's the constructor and yesp_nddefaults to0πbin_search_tree_const_node_it_< Node, Const_Iterator, Iterator, _Alloc > get_l_child () constβ returns the__constnode 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__constnode 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 π«ΆπΈπ
π¦ where this page comes from
- debian trixie: libstdc++-12-doc 12.4.0-5
- debian trixie: libstdc++-13-doc 13.3.0-16
- debian trixie: libstdc++-14-doc 14.2.0-19
- ubuntu noble: libstdc++-10-doc 10.5.0-4ubuntu2
- ubuntu noble: libstdc++-10-doc 10.5.0-4ubuntu2.1
- ubuntu noble: libstdc++-11-doc 11.4.0-9ubuntu1
- ubuntu noble: libstdc++-11-doc 11.5.0-1ubuntu1~24.04.1
- ubuntu noble: libstdc++-12-doc 12.3.0-17ubuntu1
- ubuntu noble: libstdc++-12-doc 12.4.0-2ubuntu1~24.04.1
- ubuntu noble: libstdc++-13-doc 13.2.0-23ubuntu4
- ubuntu noble: libstdc++-13-doc 13.3.0-6ubuntu2~24.04.1
- ubuntu noble: libstdc++-14-doc 14-20240412-0ubuntu1
- ubuntu noble: libstdc++-14-doc 14.2.0-4ubuntu2~24.04.1
- ubuntu questing: libstdc++-11-doc 11.5.0-7ubuntu1
- ubuntu questing: libstdc++-11-doc 11.5.0-7ubuntu1.1
- ubuntu questing: libstdc++-12-doc 12.5.0-6ubuntu1
- ubuntu questing: libstdc++-13-doc 13.4.0-4ubuntu1
- ubuntu questing: libstdc++-14-doc 14.3.0-8ubuntu1
- ubuntu questing: libstdc++-15-doc 15.2.0-4ubuntu4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms