Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Front Page / Sequences / Concepts / Extensible Sequence

Extensible Sequence

Description

An Extensible Sequence is a sequence that supports insertion and removal of elements. Extensibility is orthogonal to sequence traversal characteristics.

Expression requirements

For any Extensible Sequence s, its iterators pos and last, Forward Sequence r, and any type x, the following expressions must be valid:

Expression Type Complexity
insert<s,pos,x>::type Extensible Sequence Unspecified
insert_range<s,pos,r>::type Extensible Sequence Unspecified
erase<s,pos>::type Extensible Sequence Unspecified
erase<s,pos,last>::type Extensible Sequence Unspecified
clear<s>::type Extensible Sequence Constant time

Expression semantics

Expression Semantics
insert<s,pos,x>::type A new sequence, concept-identical to s, of the following elements: [begin<s>::type, pos), x, [pos, end<s>::type); see insert.
insert_range<s,pos,r>::type A new sequence, concept-identical to s, of the following elements: [begin<s>::type, pos), [begin<r>::type, end<r>::type), [pos, end<s>::type); see insert_range.
erase<s,pos>::type A new sequence, concept-identical to s, of the following elements: [begin<s>::type, pos), [next<pos>::type, end<s>::type); see erase.
erase<s,pos,last>::type A new sequence, concept-identical to s, of the following elements: [begin<s>::type, pos), [last, end<s>::type); see erase.
clear<s>::type An empty sequence concept-identical to s; see clear.

Models

See also

Sequences, Back Extensible Sequence, insert, insert_range, erase, clear