basic_tree Interface

An abstract basic tree-like-based associative container.

Defined in: assoc_container.hpp

Template Parameters

Parameter Description Default Value
typename Key

Key type.

-
typename Mapped

Mapped type.

-
class Tag

Mapped-structure tag.

-
class Node_Update

Node updater.

Restores node-invariants when invalidated.

-
class Policy_Tl

Policy typelist.

Contains subclasses' policies.

-
class Allocator

Allocator type.

-

Base Classes

Class Derivation Type
Node_Update

public

container_base

public

Public Types and Constants

Key-Type Definitions

Type Definition Description
const_key_reference
typename container_base::const_key_reference

Const key reference type.

Policy Definitions

Type Definition Description
node_update
Node_Update

Node updater type.

Iterator Definitions

Type Definition Description
const_iterator
typename container_base::const_iterator

Const range-type iterator.

iterator
typename container_base::iterator

Range-type iterator.

const_reverse_iterator
Const reverse range-type iterator.

Const reverse range-type iterator.

reverse_iterator
Reverse range-type iterator.
If Mapped is null_mapped_type, then this is synonymous to const_reverse_iterator

Reverse range-type iterator.

Public Methods

Constructors, Destructor, and Related

Method Description
virtual 
  ~basic_tree
  ()

Destructor.

Policy Access Methods

Method Description
node_update &
  get_node_update
  ()

Access to the node_update object.

const node_update &
  get_node_update
  () const

Const access to the node_update object.

Find Methods

Method Description
iterator
  lower_bound
  (const_key_reference r_key)

Returns an iterator corresponding to the entry whose key is the smallest one at least as large as r_key.

const_iterator
  lower_bound
  (const_key_reference r_key) const

Returns a const iterator corresponding to the entry whose key is the smallest one at least as large as r_key.

iterator
  upper_bound
  (const_key_reference r_key)

Returns an iterator corresponding to the entry whose key is the smallest one larger than r_key.

const_iterator
  upper_bound
  (const_key_reference r_key) const

Returns a const_iterator corresponding to the entry whose key is the smallest one larger than r_key.

Erase Methods

Method Description
iterator
  erase
  (iterator it)

Erases the value_type corresponding to the iterator it. Returns the iterator corresponding to the next value_type.

reverse_iterator
  erase
  (reverse_iterator it)

Erases the value_type corresponding to the reverse_iterator it. Returns the reverse_iterator corresponding to the previous value_type.

Iteration Methods

Method Description
reverse_iterator
  rbegin
  ()

Returns a reverse_iterator corresponding to the last value_type in the container.

const_reverse_iterator
  rbegin
  () const

Returns a const_reverse_iterator corresponding to the last value_type in the container.

reverse_iterator
  rend
  ()

Returns a reverse_iterator corresponding to the just-before-first value_type in the container.

const_reverse_iterator
  rend
  () const

Returns a const_reverse_iterator corresponding to the just-before-first value_type in the container.

Split and join Methods

Method Description
void 
  join
  (basic_tree &other)

Joins two trees. When this function returns, other will be empty.

When calling this method, other's keys must be all larger or all smaller than this object's keys, and other's policies must be equivalent to this object's policies.

void
  split
  (const_key_reference r_key, 
    basic_tree &other)

Splits into two trees. When this function returns, other will contain only keys larger than r_key.

When calling this method, other's policies must be equivalent to this object's policies.