A type
X meets the
reversible container requirements if
X meets the container requirements,
the iterator type of
X belongs to the
bidirectional or random access iterator categories (
[iterator.requirements]),
and
the following types and expressions are well-formed and have
the specified semantics
.