__gnu_pbds::tree_order_statistics_node_update< Node_CItr, Node_Itr, Cmp_Fn, _Alloc > Class Template Referenceabstract
Inheritance diagram for __gnu_pbds::tree_order_statistics_node_update< Node_CItr, Node_Itr, Cmp_Fn, _Alloc >:
[legend]

## Public Types

typedef _Alloc | allocator_type
typedef Cmp_Fn | cmp_fn
typedef node_const_iterator::value_type | const_iterator
typedef node_iterator::value_type | iterator
typedef base_type::key_const_reference | key_const_reference
typedef base_type::key_type | key_type
typedef size_type | metadata_type
typedef Node_CItr | node_const_iterator
typedef Node_Itr | node_iterator
typedef allocator_type::size_type | size_type

## Public Member Functions

iterator | find_by_order (size_type)
const_iterator | find_by_order (size_type) const
size_type | order_of_key (key_const_reference) const

## Protected Member Functions

void | operator() (node_iterator, node_const_iterator) const

## Detailed Description

### template<typename Node_CItr, typename Node_Itr, typename Cmp_Fn, typename _Alloc>
class __gnu_pbds::tree_order_statistics_node_update< Node_CItr, Node_Itr, Cmp_Fn, _Alloc >

Functor updating ranks of entrees.

Definition at line 64 of file tree_policy.hpp.

## Member Function Documentation

## find_by_order() [1/2]

template<typename Node_CItr , typename Node_Itr , typename Cmp_Fn , typename _Alloc >

iterator __gnu_pbds::tree_order_statistics_node_update< Node_CItr, Node_Itr, Cmp_Fn, _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() [2/2]

template<typename Node_CItr , typename Node_Itr , typename Cmp_Fn , typename _Alloc >

const_iterator __gnu_pbds::tree_order_statistics_node_update< Node_CItr, Node_Itr, Cmp_Fn, _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()()

template<typename Node_CItr , typename Node_Itr , typename Cmp_Fn , typename _Alloc >

void __gnu_pbds::tree_order_statistics_node_update< Node_CItr, Node_Itr, Cmp_Fn, _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()

template<typename Node_CItr , typename Node_Itr , typename Cmp_Fn , typename _Alloc >

size_type __gnu_pbds::tree_order_statistics_node_update< Node_CItr, Node_Itr, Cmp_Fn, _Alloc >::order_of_key | ( | key_const_reference |  | ) | const

inline

Returns the order of a key within a sequence. For exapmle, 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.

The documentation for this class was generated from the following file:

- tree_policy.hpp