27 Iterators library [iterators]

27.6 Stream iterators [stream.iterators]

27.6.3 Class template istreambuf_­iterator [istreambuf.iterator]

27.6.3.3 istreambuf_­iterator operations [istreambuf.iterator.ops]

charT operator*() const

Returns: The character obtained via the streambuf member sbuf_­->sgetc().

istreambuf_iterator& operator++();

Effects: As if by sbuf_­->sbumpc().

Returns: *this.

proxy operator++(int);

Returns: proxy(sbuf_­->sbumpc(), sbuf_­).

bool equal(const istreambuf_iterator& b) const;

Returns: true if and only if both iterators are at end-of-stream, or neither is at end-of-stream, regardless of what streambuf object they use.

template <class charT, class traits> bool operator==(const istreambuf_iterator<charT,traits>& a, const istreambuf_iterator<charT,traits>& b);

Returns: a.equal(b).

template <class charT, class traits> bool operator!=(const istreambuf_iterator<charT,traits>& a, const istreambuf_iterator<charT,traits>& b);

Returns: !a.equal(b).