# std::experimental::ranges::InputIterator

< cpp‎ | experimental‎ | ranges

定义于头文件 `<experimental/ranges/iterator>` |  |
template < class I > concept bool InputIterator = ranges::Iterator<I> && ranges::Readable<I> && requires { typename ranges::iterator_category_t<I>; } && ranges::DerivedFrom<ranges::iterator_category_t<I>, ranges::input_iterator_tag>; |  | (范围 TS)

`InputIterator` 概念是 `Iterator` 的细化，添加能读取被引用值的要求（经由 `Readable` ）和迭代器类别标签存在的要求。

### 注意

不同于 C++ 标准中的输入迭代器要求，范围 TS 中的 `InputIterator` 不要求 `EqualityComparable` 。