inputrange
Inputrange is a term used in the C++ ranges library to describe a range whose iterator models the InputIterator concept. Such ranges support single-pass iteration: you can traverse the sequence from beginning to end by repeatedly advancing the iterator, but they do not guarantee that a second, independent pass will reproduce the same sequence without reinitializing the range.
A range is considered an input range if its begin and end (or a sentinel) are compatible
Examples of input ranges include adapters over input streams, such as reading from standard input or other
Input ranges contrast with forward ranges, which guarantee multi-pass iteration: a program can restart the traversal
In modern C++ (C++20 and later), std::ranges::input_range is a concept that classifies ranges whose iterator models