trie::const_node_iterator Interface

Const node iterator.

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

Public Types and Constants

General Container Definitions

Type Definition Description
size_type
container_base::size_type

Size type.

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

Type Definition Description
value_type
container_base::const_iterator

Iterator's value type.

reference
value_type

Iterator's reference type.

const_reference
value_type

Iterator's const reference type.

e_access_traits
trie::e_access_traits

Element access traits.

const_e_iterator
typename e_access_traits::const_iterator

A key's element const iterator.

Metadata Definitions

These are only defined if basic_tree::Node_Update is not null_trie_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 std::pair<
    const_e_iterator,
    const_e_iterator>
  valid_prefix
  () const

Subtree valid prefix.

Returns the common prefix range of all nodes in this node's subtree.

inline const_reference
  operator*
  () const

Const access; returns the const iterator associated with the current leaf.

Should be called only for leaf nodes.

Metadata Access Methods

These are only defined if basic_tree::Node_Update is not null_trie_node_update

Method Description
inline const_metadata_reference
  get_metadata
  () const

Metadata access.

Movement Methods

Method Description
inline size_type
  num_children
  () const

Returns the number of children in the corresponding node.

If the number of children is 0, then the corresponding node is a leaf; otherwise, it is not a leaf.

const_node_iterator
  get_child
  (size_type i) const

Returns a const node iterator to the corresponding node's i-th child.

Comparison Methods

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

Compares content to a different iterator object.

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

Compares content (negatively) to a different iterator object.