class
<iterator>
std::input_iterator_tagstruct input_iterator_tag {};
Input iterator category
Empty class to identify the category of an iterator as an input iterator: Input iteratorsAll forward, bidirectional and random-access iterators are also valid input iterators.
There is not a single type of input iterator: Each container may define its own specific iterator type able to iterate through it and access its elements. But all input iterators support -at least- the following operations:
property valid expressions Is copy-constructible, copy-assignable and destructibleX b(a);
b = a;
Can be compared for equivalence using the equality/inequality operators
a == b
a != b
Can be dereferenced as an rvalue (if in a dereferenceable state). *a
a->m
Can be incremented (if in a dereferenceable state).
++a
(void)a++
*a++
Its value type does not need to be assignable t = u
not required property valid expressions Is copy-constructible, copy-assignable and destructible X b(a);
b = a;
Can be compared for equivalence using the equality/inequality operators
a == b
a != b
Can be dereferenced as an rvalue (if in a dereferenceable state). *a
a->m
Can be incremented (if in a dereferenceable state).
++a
(void)a++
*a++
Its value type does not need to be assignable t = u
not required Lvalues are swappable. swap(a,b)
Algorithms requiring input iterators should be single-pass input algorithms: algorithms pass through an iterator position once at most.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4