Files
cppdraft_translate/cppdraft/istreambuf/iterator/proxy.md
2025-10-25 03:02:53 +03:00

1.3 KiB
Raw Blame History

[istreambuf.iterator.proxy]

24 Iterators library [iterators]

24.6 Stream iterators [stream.iterators]

24.6.4 Class template istreambuf_iterator [istreambuf.iterator]

24.6.4.2 Class istreambuf_iterator::proxy [istreambuf.iterator.proxy]

1

#

Classistreambuf_iterator<charT,traits>::proxy is for exposition only.

An implementation is permitted to provide equivalent functionality without providing a class with this name.

Classistreambuf_iterator<charT, traits>::proxy provides a temporary placeholder as the return value of the post-increment operator (operator++).

It keeps the character pointed to by the previous value of the iterator for some possible future access to get the character.

🔗

namespace std {template<class charT, class traits>class istreambuf_iterator<charT, traits>::proxy { // exposition only charT keep_; basic_streambuf<charT,traits>* sbuf_; proxy(charT c, basic_streambuf<charT,traits>* sbuf): keep_(c), sbuf_(sbuf) { }public: charT operator*() { return keep_; }};}