container_base Interface

An abstract basic associative container.

Defined in: assoc_container.hpp

Template Parameters

Parameter Description Default Value
typename Key

Key type.

-
typename Mapped

Mapped type.

-
class Tag

Data structure tag.

-
class Policy_Tl

Policy typelist.

Contains subclasses' policies.

-
class Allocator

Allocator type.

-

Public Types and Constants

General Container Definitions

Type Definition Description
size_type
typename Allocator::size_type

Size type.

difference_type
typename Allocator::difference_type

Difference type.

Categories

Type Definition Description
container_category
Tag

The underlying mapped-structure tag of the container.

This is one of:

  1. cc_hash_tag
  2. gp_hash_tag
  3. rb_tree_tag
  4. ov_tree_tag
  5. splay_tree_tag
  6. pat_trie_tag
  7. list_update_tag

Policy Definitions

Type Definition Description
allocator
Allocator

Allocator type.

Key-Type Definitions

Type Definition Description
key_type
typename allocator::template rebind<
    Key>::other::value_type

Key type.

key_reference
typename allocator::template rebind<
    key_type>::other::reference

Key reference type.

const_key_reference
typename allocator::template rebind<
    key_type>::other::const_reference

Const key reference type.

key_pointer
typename allocator::template rebind<
    key_type>::other::pointer

Key pointer type.

const_key_pointer
typename allocator::template rebind<
    key_type>::other::const_pointer

Const key pointer type.

Mapped-Type Definitions

Type Definition Description
mapped_type
Mapped

Mapped type.

mapped_reference
typename allocator::template rebind<
    mapped_type>::other::reference

Mapped reference type.

const_mapped_reference
typename allocator::template rebind<
    mapped_type>::other::const_reference

Const mapped reference type.

mapped_pointer
typename allocator::template rebind<
    mapped_type>::other::pointer

Mapped pointer type.

const_mapped_pointer
typename allocator::template rebind<
    mapped_type>::other::const_pointer

Const mapped pointer type.

Value-Type Definitions

Type Definition Description
value_type

If Mapped is null_mapped_type, then Key
Otherwise, Mapped

Value type.

reference
typename allocator::template rebind<
    value_type>::other::reference

Value reference type.

const_reference
typename allocator::template rebind<
    value_type>::other::const_reference

Const value reference type.

pointer
typename allocator::template rebind<
    value_type>::other::pointer

Value pointer type.

const_pointer
typename allocator::template rebind<
    value_type>::other::const_pointer

Const Value pointer type.

Iterator Definitions

Type Definition Description
const_point_iterator
Const point-type iterator.

Const point-type iterator.

point_iterator

Point-type iterator.
If Mapped is null_mapped_type, then this is synonymous to const_point_iterator

Point-type iterator.

const_iterator
Const range-type iterator.

Const range-type iterator.

iterator

Range-type iterator.
If Mapped is null_mapped_type, then this is synonymous to const_iterator

Range-type iterator.

Public Methods

Constructors, Destructor, and Related

Method Description
virtual 
  ~container_base
  ()

Destructor.

Information Methods

Method Description
inline size_type
  size
  () const

Returns the number of distinct value_type objects the container object is storing.

inline size_type
  max_size
  () const

Returns an upper bound on the number of distinct value_type objects this container can store.

inline bool
  empty
  () const

Returns whether the container object is not storing any value_type objects.

Insert Methods

Method Description
std::pair<point_iterator, bool>
  insert
  (const_reference r_val)

Inserts a value_type object. If no value_type with r_val's key was in the container object, inserts and returns (point_iterator object associated with r_val, true); otherwise just returns (point_iterator object associated with r_val's key, false).

mapped_reference
  operator[]
  (const_key_reference r_key)

Subscript operator.

Find Methods

Method Description
point_iterator 
  find
  (const_key_reference r_key)

Returns the point_iterator corresponding to the value_type with r_key as its key, or the point_iterator corresponding to the just-after-last entry if no such value_type.

const_point_iterator 
  find
  (const_key_reference r_key) const

Returns the const_point_iterator corresponding to the value_type with r_key as its key, or the const_point_iterator corresponding to the just-after-last entry if no such value_type.

Erase Methods

Method Description
bool
  erase
  (const_key_reference r_key)

Erases the value_type associated with r_key. returns false iff r_key was not contained.

template<
  class Pred>
size_type 
  erase_if
  (Pred prd)

Erases any value_type satisfying the predicate prd (this is transactional, either all matching value_types are erased, or, if an exception is thrown (for types whose erase can throw an exception) none); returns the number of value_types erased.

void 
  clear
  ()

Clears the container object.

Iteration Methods

Method Description
iterator
  begin
  ()

Returns an iterator corresponding to the first value_type in the container.

const_iterator
  begin
  () const

Returns a const_iterator corresponding to the first value_type in the container.

iterator
  end
  ()

Returns an iterator corresponding to the just-after-last value_type in the container.

const_iterator
  end
  () const

Returns a const_iterator corresponding to the just-after-last value_type in the container.