public member function
<iterator>
(1) | istream_iterator& operator++();
|
---|
(2) | istream_iterator operator++(int); |
---|
Increment iterator position
Advances the istream_iterator by one position.
Internally, the function extracts an element from its associated stream and stores it internally to be returned when dereferenced.
Parameters
none (the second version overloads the post-increment operator).
Return value
The pre-increment version (1) returns *this
.
The post-increment version (2) returns the value *this
had before the call.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
// istream_iterator example
#include <iostream> // std::cin, std::cout
#include <iterator> // std::istream_iterator
int main () {
double value1, value2;
std::cout << "Please, insert two values: ";
std::istream_iterator<double> eos; // end-of-stream iterator
std::istream_iterator<double> iit (std::cin); // stdin iterator
if (iit!=eos) value1=*iit;
++iit;
if (iit!=eos) value2=*iit;
std::cout << value1 << "*" << value2 << "=" << (value1*value2) << '\n';
return 0;
}
| |
Data races
Modifies the object.
The iterator returned can be used to access or modify pointed elements.
Exception safety
Basic guarantee: if an exception is thrown, the object is in a valid state.