std::experimental::ranges::BidirectionalIterator

Header: <experimental/ranges/iterator>

The concept BidirectionalIterator refines ForwardIterator by adding the ability to move an iterator backward.

# Declarations

template< class I >
concept bool BidirectionalIterator =
ForwardIterator<I> &&
DerivedFrom<ranges::iterator_category_t<I>, ranges::bidirectional_iterator_tag> &&
requires(I i) {
{ --i } -> Same<I>&;
{ i-- } -> Same<I>&&;
};

(ranges TS)