std::experimental::ranges::InputIterator

Header: <experimental/ranges/iterator>

The InputIterator concept is a refinement of Iterator, adding the requirement that the referenced values can be read (via Readable) and the requirement that the iterator category tag be present.

# Declarations

template< class I >
concept bool InputIterator =
Iterator<I> && Readable<I> &&
requires { typename ranges::iterator_category_t<I>; } &&
DerivedFrom<ranges::iterator_category_t<I>, ranges::input_iterator_tag>;

(ranges TS)

# Notes

Unlike the input iterator requirements in the C++ standard, InputIterator in the Ranges TS does not require EqualityComparable.