Description
A Bidirectional Sequence is a Forward Sequence whose iterators model Bidirectional Iterator.
Refinement of
Notation
sA Forward Sequence
SA Forward Sequence type
oAn arbitrary object
eA Sequence element
Valid Expressions
In addition to the requirements defined in Forward Sequence, for any Bidirectional Sequence the following must be met:
|
Expression |
Return type |
Type Requirements |
Runtime Complexity |
|---|---|---|---|
|
|
|
Constant |
|
|
|
|
Constant |
|
|
|
Any type |
|
Constant |
|
|
Any type |
|
Constant |
Result Type Expressions
|
Expression |
Compile Time Complexity |
|---|---|
|
|
Amortized constant time |
|
|
Amortized constant time |
|
|
Amortized constant time |
Expression Semantics
The semantics of an expression are defined only where they differ from, or are not defined in Forward Sequence.
Models
std::pairboost::arrayvectorreverse_view-
iterator_range(where adapted sequence is a Bidirectional Sequence) -
transform_view(where adapted sequence is a Bidirectional Sequence) -
zip_view(where adapted sequences are models Bidirectional Sequence)
