10 Ranges library [ranges]

10.6 Range requirements [ranges.requirements]

10.6.6 Input ranges [ranges.input]

The InputRange concept specifies requirements of a Range type for which begin returns a type that satisfies InputIterator ([iterators.input]).

template <class T>
concept bool InputRange =
  Range<T> && InputIterator<iterator_t<T>>;