31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
[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_; }};}
|