# `tree_assoc_cntnr` Interface

A tree-based associative container.

1. `assoc_cntnr.hpp`
2. Template parameters.
3. Base classes.
4. Public Types and Constants:
   1. Policy definitions.
5. Public Methods:
   1. Constructors, destructor, and related.

## Template parameters.

Parameter | Description | Default Value

    Key

Key type.

-

    Data

Data type.

-

    Cmp_Fn

Comparison functor.

    std::less<Key>

    DS_Tag

Data-structure tag.

-

    Node_Updator

Node updator type.

Node Invariants explains this concept.

`null_node_updator`

    Allocator

Allocator type.

    std::allocator<char>

## Base classes.

Class | Derivation Type

    Depending on whether DS_Tag is a type supporting reverse iteration,	 basic_tree_assoc_cntnr no reverse-iteration specialization 	 basic_tree_assoc_cntnr reverse-iteration specialization

public

## Policy definitions.

Type | Definition | Description

    cmp_fn

    Cmp_Fn

Comparison functor type.

    node_updator

    Node_Updator

Node updator type.

## Constructors, destructor, and related.

Method | Description

      tree_assoc_cntnr
      ()

Default constructor.

      tree_assoc_cntnr
      (const cmp_fn &r_cmp_fn)

Constructor taking some policy objects. `r_cmp_fn` will be copied by the `Cmp_Fn` object of the container object.

      tree_assoc_cntnr
      (const cmp_fn &r_cmp_fn,
        const Node_Updator &r_node_updator)

Constructor taking some policy objects. `r_cmp_fn` will be copied by the `Cmp_Fn` object of the container object, and `r_node_updator` will be copied by the `Node_Updator` object of the container object.

    template<
        class It>
      tree_assoc_cntnr
      (It first_it,
        It last_it)

Constructor taking iterators to a range of value_types. The value_types between `first_it` and `last_it` will be inserted into the container object.

    template<
        class It>
      tree_assoc_cntnr
      (It first_it,
        It last_it,
        const cmp_fn &r_cmp_fn)

Constructor taking iterators to a range of value_types and some policy objects The value_types between `first_it` and `last_it` will be inserted into the container object. `r_cmp_fn` will be copied by the `Cmp_Fn` object of the container object.

    template<
        class It>
      tree_assoc_cntnr
      (It first_it,
        It last_it,
        const cmp_fn &r_cmp_fn,
        const Node_Updator &r_node_updator)

Constructor taking iterators to a range of value_types and some policy objects The value_types between `first_it` and `last_it` will be inserted into the container object. `r_cmp_fn` will be copied by the `Cmp_Fn` object of the container object, and `r_node_updator` will be copied by the `Node_Updator` object of the container object.

      tree_assoc_cntnr
      (const tree_assoc_cntnr &r_other)

Copy constructor.

    virtual
      ~tree_assoc_cntnr
      ()

Destructor.

    tree_assoc_cntnr &
      operator=
      (const tree_assoc_cntnr &r_other)

Assignment operator.

    void
      swap
      (tree_assoc_cntnr &r_other)

Swaps content.