__GNU_PBDS::TRIE_ORDER_STATISTICS_NODE_UPDATE(3cxx)
hiii bestie π you're on __gnu_pbds::trie_order_statistics_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc > β yes that's the whole name, she's long β from the (3cxx) manual. this one is a functor with rank-updating main character energy, and we're gonna get through every typedef together. no skipping, periodt. π«Ά
πΈ NAME πΈ
__gnu_pbds::trie_order_statistics_node_update< Node_CItr, Node_Itr, _ATraits, _Alloc > β Functor updating ranks of entrees. yes, the page says entrees, not entries, and honestly? iconic. π
β¨ SYNOPSIS β¨
#include <trie_policy.hpp>
Inherits __gnu_pbds::detail::trie_policy_base< Node_CItr, Node_Itr, _ATraits, _Alloc >.
π Public Types π
okay so here's the whole cast of typedefs, bestie:
typedef access_traits::const_iterator a_const_iteratorβ π¦ const-iterator alias.typedef _ATraits access_traitsβ the access traits type, slaying asaccess_traits.typedef _Alloc allocator_typeβ allocator type, obviously.typedef node_const_iterator::value_type const_iteratorβ const iterator type.typedef node_iterator::value_type iteratorβ iterator type.typedef base_type::key_const_reference key_const_referenceβ key const reference type.typedef base_type::key_type key_typeβ key type.typedef size_type metadata_typeβ metadata type.typedef Node_CItr node_const_iteratorβ node const iterator type.typedef Node_Itr node_iteratorβ node iterator type.typedef allocator_type::size_type size_typeβ size type.
π Public Member Functions π
iterator find_by_order (size_type)β finds an entry by__order. returns aniteratorto the entry with the__orderorder, or aniteratorto the container object's end if order is at least the size of the container object. π―const_iterator find_by_order (size_type) constβ finds an entry by__order. returns aconst_iteratorto the entry with the__orderorder, or aconst_iteratorto the container object's end if order is at least the size of the container object. π―size_type order_of_key (key_const_reference) constβ returns the order of a key within a sequence. for example, ifr_keyis the smallest key, this method will return0; ifr_keyis a key between the smallest and next key, this method will return1; ifr_keyis a key larger than the largest key, this method will return the size ofr_c. β¨size_type order_of_prefix (a_const_iterator, a_const_iterator) constβ returns the order of a prefix within a sequence. for example, if[b, e]is the smallest prefix, this method will return0; ifr_keyis a key between the smallest and next key, this method will return1; ifr_keyis a key larger than the largest key, this method will return the size ofr_c. and yes it saysr_keyin the prefix one too β we're not fixing the lore π
π‘οΈ Protected Member Functions π‘οΈ
void operator() (node_iterator, node_const_iterator) constβ updates the rank of a node through anode_iterator node_it;end_nd_itis the end node iterator. π₯
π Private Member Functions π
virtual const_iterator end () const =0β the end thing, marked=0.virtual const access_traits & get_access_traits () const =0β access traits getter, marked=0.
π Detailed Description π
template<typename Node_CItr, typename Node_Itr, typename _ATraits, typename
_Alloc>
class __gnu_pbds::trie_order_statistics_node_update< Node_CItr,
Node_Itr, _ATraits, _Alloc >
and the description text is literally: "Functor updating ranks of entrees. β stray quote included, because we keep the lore. π
π₯ Member Function Documentation π₯
π― find_by_order (size_type) β non-const
template<typename Node_CItr , typename Node_Itr , typename _ATraits ,
typename _Alloc > iterator
__gnu_pbds::trie_order_statistics_node_update< Node_CItr, Node_Itr,
_ATraits, _Alloc >::find_by_order (size_type) [inline]
finds an entry by __order. returns an iterator to the entry with the __order order, or an iterator to the container object's end if order is at least the size of the container object. π«
π― find_by_order (size_type) const β const version
template<typename Node_CItr , typename Node_Itr , typename _ATraits ,
typename _Alloc > const_iterator
__gnu_pbds::trie_order_statistics_node_update< Node_CItr, Node_Itr,
_ATraits, _Alloc >::find_by_order (size_type) const [inline]
finds an entry by __order. returns a const_iterator to the entry with the __order order, or a const_iterator to the container object's end if order is at least the size of the container object. π«
π οΈ operator() (node_iterator, node_const_iterator) const β protected
template<typename Node_CItr , typename Node_Itr , typename _ATraits ,
typename _Alloc > void __gnu_pbds::trie_order_statistics_node_update<
Node_CItr, Node_Itr, _ATraits, _Alloc >::operator() (node_iterator,
node_const_iterator) const [inline], [protected]
updates the rank of a node through a node_iterator node_it; end_nd_it is the end node iterator. π οΈ
β¨ order_of_key (key_const_reference) const
template<typename Node_CItr , typename Node_Itr , typename _ATraits ,
typename _Alloc > size_type
__gnu_pbds::trie_order_statistics_node_update< Node_CItr, Node_Itr,
_ATraits, _Alloc >::order_of_key (key_const_reference) const [inline]
returns the order of a key within a sequence. for example, if r_key is the smallest key, this method will return 0; if r_key is a key between the smallest and next key, this method will return 1; if r_key is a key larger than the largest key, this method will return the size of r_c. β¨
β¨ order_of_prefix (a_const_iterator, a_const_iterator) const
template<typename Node_CItr , typename Node_Itr , typename _ATraits ,
typename _Alloc > size_type
__gnu_pbds::trie_order_statistics_node_update< Node_CItr, Node_Itr,
_ATraits, _Alloc >::order_of_prefix (a_const_iterator, a_const_iterator)
const [inline]
returns the order of a prefix within a sequence. for example, if [b, e] is the smallest prefix, this method will return 0; if r_key is a key between the smallest and next key, this method will return 1; if r_key is a key larger than the largest key, this method will return the size of r_c. π
π¦ Author π¦
Generated automatically by Doxygen for libstdc++ from the source code. π
mwah π this cutie is from the libst__gnu_pbds::tri...raits, _Alloc >(3cxx) footer, for libstdc++, auto-generated by Doxygen straight from the source code. no date on the page, so that's the whole tea π«Ά
π¦ 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