[istream.iterator.ops] (original) (raw)

23 Iterators library [iterators]

23.6 Stream iterators [stream.iterators]

23.6.2 Class template istream_­iterator [istream.iterator]

23.6.2.3 Operations [istream.iterator.ops]

const T& operator*() const;

Preconditions: in_­stream != nullptr is true.

const T* operator->() const;

Preconditions: in_­stream != nullptr is true.

Returns: addressof(value).

istream_iterator& operator++();

Preconditions: in_­stream != nullptr is true.

Effects: Equivalent to:if (!(*in_stream >> value)) in_stream = nullptr;

istream_iterator operator++(int);

Preconditions: in_­stream != nullptr is true.

Effects: Equivalent to:istream_iterator tmp = *this;++*this;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.

friend bool operator==(const istream_iterator& i, default_sentinel_t);