Section: 31.6.3.4.2 [streambuf.get.area] Status: TC1 Submitter: Matt Austern Opened: 1998-07-28 Last modified: 2016-01-28
Priority: Not Prioritized
View all issues with TC1 status.
Discussion:
27.5.2.3.1 says that basic_streambuf::gbump() "Advances the next pointer for the input sequence by n."
The straightforward interpretation is that it is just gptr() += n. An alternative interpretation, though, is that it behaves as if it calls sbumpc n times. (The issue, of course, is whether it might ever call underflow.) There is a similar ambiguity in the case of pbump.
(The "classic" AT&T implementation used the former interpretation.)
Proposed resolution:
Change 31.6.3.4.2 [streambuf.get.area] paragraph 4 gbump effects from:
Effects: Advances the next pointer for the input sequence by n.
to:
Effects: Adds
n
to the next pointer for the input sequence.
Make the same change to 31.6.3.4.3 [streambuf.put.area] paragraph 4 pbump effects.