Files
2025-10-25 03:02:53 +03:00

31 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[istreambuf.iterator.proxy]
# 24 Iterators library [[iterators]](./#iterators)
## 24.6 Stream iterators [[stream.iterators]](stream.iterators#istreambuf.iterator.proxy)
### 24.6.4 Class template istreambuf_iterator [[istreambuf.iterator]](istreambuf.iterator#proxy)
#### 24.6.4.2 Class istreambuf_iterator::*proxy* [istreambuf.iterator.proxy]
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L6924)
Classistreambuf_iterator<charT,traits>::*proxy* is for exposition only[.](#1.sentence-1)
An implementation is permitted to provide equivalent functionality without
providing a class with this name[.](#1.sentence-2)
Classistreambuf_iterator<charT, traits>::*proxy* provides a temporary
placeholder as the return value of the post-increment operator
(operator++)[.](#1.sentence-3)
It keeps the character pointed to by the previous value
of the iterator for some possible future access to get the character[.](#1.sentence-4)
[🔗](#lib:proxy,istreambuf_iterator)
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_; }};}