<<<<<<< .working ======= >>>>>>> .merge-right.r57125
Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Bidirectional Sequence <<<<<<< .working

Description
=======
Description
>>>>>>> .merge-right.r57125

A Bidirectional Sequence is a Forward Sequence whose iterators model Bidirectional Iterator.

<<<<<<< .working
Refinement =======
Refinement >>>>>>> .merge-right.r57125 of

Forward Sequence

Notation

s

A Forward Sequence

S

A Forward Sequence type

o

An arbitrary object

e

A Sequence element

<<<<<<< .working
Valid =======
Valid >>>>>>> .merge-right.r57125 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

begin(s)

Bidirectional Iterator

Constant

end(s)

Bidirectional Iterator

Constant

back(s)

Any type

Constant

back(s) = o

Any type

s is mutable and e = o, where e is the first element in the sequence, is a valid expression.

Constant

<<<<<<< .working
Result =======
Result >>>>>>> .merge-right.r57125 Type Expressions

Expression

Compile Time Complexity

result_of::begin<S>::type

Amortized constant time

result_of::end<S>::type

Amortized constant time

result_of::back<S>::type

Amortized constant time

<<<<<<< .working
Expression =======
Expression >>>>>>> .merge-right.r57125 Semantics

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

Expression

Semantics

back(s)

The last element in the sequence; see back.

<<<<<<< .working
Models

PrevUpHomeNext