# `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.