# `order_statistics_node_updator` Interface

Functor updating ranks of entries.

1. `order_statistics_key.hpp`
2. Template parameters.
3. Public Types and Constants:
   1. Policy definitions.
   2. Key-type definitions.
4. Public Methods:
   1. Constructors, destructor, and related.

## Template parameters.

Parameter | Description | Default Value
    Key
| Key type. | -
    Allocator
| Allocator type. The allocator is only used for definitions, e.g., size_type, pointer, and reference. |
    std::allocator<char>

## Policy definitions.

Type | Definition | Description
    allocator
    Allocator
| Allocator type.

## Key-type definitions.

Type | Definition | Description
    key_type
    order_statistics_key<
        Key,
        Allocator>
| Key-type on which this functor operates.
    const_key_pointer
    typename Allocator::template rebind<
        key_type>::other::const_pointer
| Key pointer-type on which this functor operates.

## Constructors, destructor, and related.

Method | Description
    inline void
      swap
      (order_statistics_node_updator &r_other)
| Swaps content.
    inline void
      operator()
      (const_key_pointer p_key,
        const_key_pointer p_l_child_key,
        const_key_pointer p_r_child_key)
| Updates the rank of a key given its child keys.