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

PrevUpHomeNext

Bidirectional Iterator <<<<<<< .working

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

A Bidirectional Iterator traverses a Sequence allowing movement in either direction one element at a time.

Notation

i

A Bidirectional Iterator

I

A Bidirectional Iterator type

M

An MPL integral constant

N

An integral constant

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

Forward Iterator

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

In addition to the requirements defined in Forward Iterator, the following expressions must be valid:

Expression

Return type

Runtime Complexity

next(i)

Bidirectional Iterator

Constant

prior(i)

Bidirectional Iterator

Constant

advance_c<N>(i)

Bidirectional Iterator

Constant

advance<M>(i)

Bidirectional Iterator

Constant

<<<<<<< .working
Meta =======
Meta >>>>>>> .merge-right.r57125 Expressions

Expression

Compile Time Complexity

result_of::prior<I>::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 Iterator

Expression

Semantics

prior(i)

An iterator to the element preceding i

<<<<<<< .working
Invariants
=======
Invariants
>>>>>>> .merge-right.r57125

In addition to the invariants of Forward Iterator, the following invariants always hold:

<<<<<<< .working
Models

PrevUpHomeNext