27 Iterators library [iterators]

27.6 Stream iterators [stream.iterators]

27.6.1 Class template istream_­iterator [istream.iterator]

27.6.1.2 istream_­iterator operations [istream.iterator.ops]

const T& operator*() const;

Returns: value.

const T* operator->() const;

Returns: addressof(operator*()).

istream_iterator& operator++();

Requires: in_­stream != 0.

Effects: As if by: *in_­stream >> value;

Returns: *this.

istream_iterator operator++(int);

Requires: in_­stream != 0.

Effects: As if by:

istream_iterator tmp = *this;
*in_stream >> value;
return (tmp);

template <class T, class charT, class traits, class Distance> bool operator==(const istream_iterator<T,charT,traits,Distance>& x, const istream_iterator<T,charT,traits,Distance>& y);

Returns: x.in_­stream == y.in_­stream.

template <class T, class charT, class traits, class Distance> bool operator!=(const istream_iterator<T,charT,traits,Distance>& x, const istream_iterator<T,charT,traits,Distance>& y);

Returns: !(x == y)