# ``tree`::const_node_iterator` Interface

Const node iterator.

This is an &qout;iterator to an iterator&qout; - it iterates over nodes, and de-referencing it returns one of the tree's iterators

## Public Types and Constants

### Iterator Definitions

Type | Definition | Description

    iterator_category

    trivial_iterator_tag

Category.

This tag identifies that the iterator has none of the STL's iterators' movement abilities.

    difference_type

    void

Difference type.

### Value-Type Definitions

Note that a node iterator's value type is actually a tree iterator.

Type | Definition | Description

    value_type

    container_base::const_iterator

Iterator's value type.

    reference

    container_base::const_iterator

Iterator's reference type.

    const_reference

    container_base::const_iterator

Iterator's const `reference` type.

### Metadata Definitions

These are only defined if `basic_tree`::Node_Update is not `null_tree_node_update`

Type | Definition | Description

    metadata_type

    typename basic_tree::Node_Update::metadata_type

Metadata type.

    const_metadata_reference

    typename Allocator::template rebind<
        metadata_type>::other::const_reference

Const metadata `reference` type.

## Public Methods

### Constructors, Destructor, and Related

Method | Description

    inline
      const_node_iterator
      ()

Default constructor.

### Access Methods

Method | Description

    inline const_reference
      operator*
      () const

Access.

### Metadata Access Methods

These are only defined if `basic_tree`::Node_Update is not `null_tree_node_update`

Method | Description

    inline const_metadata_reference
      get_metadata
      () const

Metadata access.

### Movement Methods

Method | Description

    inline const_node_iterator
      get_l_child
      () const

Returns the const node iterator associated with the left node.

    inline const_node_iterator
      get_r_child
      () const

Returns the const node iterator associated with the right node.

### Comparison Methods

Method | Description

    inline bool
      operator==
      (const const_node_iterator &other) const

Compares to a different iterator object.

    inline bool
      operator!=
      (const const_node_iterator &other) const

Compares (negatively) to a different iterator object.