The MPL Reference Manual: Back Extensible Sequence

Front Page / Sequences / Concepts / Back Extensible Sequence

# Back Extensible Sequence

### Description

A Back Extensible Sequence is an Extensible Sequence that supports amortized constant time insertion and removal operations at the end.

### Refinement of

Extensible Sequence

### Expression requirements

In addition to the requirements defined in Extensible Sequence, for any Back Extensible Sequence `s` the following must be met:

Expression | Type | Complexity
--- | --- | ---
`push_back<s,x>::type` | Back Extensible Sequence | Amortized constant time
`pop_back<s>::type` | Back Extensible Sequence | Amortized constant time
`back<s>::type` | Any type | Amortized constant time

### Expression semantics

The semantics of an expression are defined only where they differ from, or are not defined in Extensible Sequence.

Expression | Semantics
--- | ---
`push_back<s,x>::type` | Equivalent to `insert<s,end<s>::type,x>::type`; see `push_back`.
`pop_back<v>::type` | Equivalent to `erase<s,end<s>::type>::type`; see `pop_back`.
`back<s>::type` | The last element in the sequence; see `back`.

### Models

- `vector`
- `deque`

### See also

Sequences, Extensible Sequence, Front Extensible Sequence, `push_back`, `pop_back`, `back`