##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::experimental::ranges::InputIterator

From cppreference.com
< cpp‎ | experimental‎ | ranges

Defined in header `<experimental/ranges/iterator>` |  |
template <class I> concept bool InputIterator() { return ranges::Iterator<I>() && ranges::Readable<I>() && requires(I i, const I ci) { typename ranges::iterator_category_t<I>; requires ranges::DerivedFrom<ranges::iterator_category_t<I>, ranges::input_iterator_tag>(); { i++ } -> ranges::Readable; /* not required to be equality preserving */ requires ranges::Same<ranges::value_type_t<I>, ranges::value_type_t<decltype(i++)>>(); { *ci } -> const ranges::value_type_t<I>&; }; } |  | (ranges TS)

| This section is incomplete Reason: add description and extra caveats

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/experimental/ranges/iterator/InputIterator&oldid=89710"
Category:

- Todo with reason