Title
stringbuf seeking from end
Status
cd1
Section
[stringbuf.virtuals]
Submitter
Martin Sebor

Created on 2006-02-23.00:00:00 last changed 172 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

Change the newoff column in the last row of Table 94 to read:

the end high mark pointer minus the beginning pointer (xend high_mark - xbeg).

Date: 2006-02-23.00:00:00

According to Table 92 (unchanged by issue 432), when (way == end) the newoff value in out mode is computed as the difference between epptr() and pbase().

This value isn't meaningful unless the value of epptr() can be precisely controlled by a program. That used to be possible until we accepted the resolution of issue 432, but since then the requirements on overflow() have been relaxed to allow it to make more than 1 write position available (i.e., by setting epptr() to some unspecified value past pptr()). So after the first call to overflow() positioning the output sequence relative to end will have unspecified results.

In addition, in in|out mode, since (egptr() == epptr()) need not hold, there are two different possible values for newoff: epptr() - pbase() and egptr() - eback().

History
Date User Action Args
2010-10-21 18:28:33adminsetmessages: + msg3067
2006-02-23 00:00:00admincreate