cpp/named req/BidirectionalIterator

A is a  that can be moved in both directions (i.e. incremented and decremented).

If a  originates from a, then 's  is the same as the container's, so dereferencing  obtains the container's.

Requirements
The type satisfies  if
 * The type satisfies

And, given
 * and, lvalues of type
 * , the type denoted by

The following expressions must be valid and have their specified effects: A mutable is a  that additionally satisfies the  requirements.

Concept
For the definition of std, the following exposition-only concept is defined.

where the exposition-only concept is described in. }}