Pair Associative Container
|
|
Category: containers |
Component type: concept |
Description
A Pair Associative Container is an Associative Container that
associates a key with some other object. The value type of a
Pair Associative Container is pair<const key_type, data_type>. [1]
Refinement of
Associative Container
Associated types
One new type is introduced, in addition to the types defined in the
Associative Container requirements. Additionally, Pair Associative
Container introduces one new type restriction
Key type
|
X::key_type
|
The type of the key associated with X::value_type.
|
Data type
|
X::data_type
|
The type of the data associated with X::value_type. A Pair Associative
Container can be thought of as a mapping from key_type to
data_type.
|
Value type
|
X::value_type
|
The type of object stored in the container. The value type is
required to be pair<const key_type, data_type>.
|
Notation
X
|
A type that is a model of Pair Associative Container
|
a
|
Object of type X
|
t
|
Object of type X::value_type
|
d
|
Object of type X::data_type
|
k
|
Object of type X::key_type
|
p, q
|
Object of type X::iterator
|
Definitions
Valid expressions
None, except for those defined in the Associative Container requirements.
Expression semantics
Complexity guarantees
Invariants
Models
Notes
[1]
The value type must be pair<const key_type, data_type>,
rather than pair<key_type, data_type>, because of the
Associative Container invariant of key immutability. The
data_type part of an object in a Pair Associative Container may
be modified, but the key_type part may not be. Note the implication
of this fact: a Pair Associative Container cannot provide
mutable iterators (as defined in the Trivial Iterator
requirements), because the value type of a mutable iterator must
be Assignable, and pair<const key_type, data_type> is
not Assignable. However, a Pair Associative Container can
provide iterators that are not completely constant: iterators such
that the expression (*i).second = d is valid.
See also
Associative Container, Simple Associative Container
Copyright ©
1999 Silicon Graphics, Inc. All Rights Reserved.
TrademarkInformation
webmaster@www.sgi.com