This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of CD1 status.
Section: 31 [input.output] Status: CD1 Submitter: Nathan Myers Opened: 1998-08-06 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [input.output].
View all issues with CD1 status.
Discussion:
Many of the specifications for iostreams specify that character values or their int_type equivalents are compared using operators == or !=, though in other places traits::eq() or traits::eq_int_type is specified to be used throughout. This is an inconsistency; we should change uses of == and != to use the traits members instead.
Proposed resolution:
[Pre-Kona: Dietmar supplied wording]
List of changes to clause 27:
fillch == fill()
to
traits::eq(fillch, fill())
c == delim for the next available input character c
to
traits::eq(c, delim) for the next available input character c
c == delim for the next available input character c
to
traits::eq(c, delim) for the next available input character c
c == delim for the next available input character c
to
traits::eq(c, delim) for the next available input character c
c == delim for the next available input character c
to
traits::eq_int_type(c, delim) for the next available input
character c
The last condition will never occur if delim == traits::eof()
to
The last condition will never occur if
traits::eq_int_type(delim, traits::eof()).
while ((c = is.rdbuf()->snextc()) != traits::eof()) {
to
while (!traits::eq_int_type(c = is.rdbuf()->snextc(), traits::eof())) {
List of changes to Chapter 21:
at(xpos+I) == str.at(I) for all elements ...
to
traits::eq(at(xpos+I), str.at(I)) for all elements ...
at(xpos+I) == str.at(I) for all elements ...
to
traits::eq(at(xpos+I), str.at(I)) for all elements ...
at(xpos+I) == str.at(I) for all elements ...
to
traits::eq(at(xpos+I), str.at(I)) for all elements ...
at(xpos+I) == str.at(I) for all elements ...
to
traits::eq(at(xpos+I), str.at(I)) for all elements ...
at(xpos+I) == str.at(I) for all elements ...
to
traits::eq(at(xpos+I), str.at(I)) for all elements ...
at(xpos+I) == str.at(I) for all elements ...
to
traits::eq(at(xpos+I), str.at(I)) for all elements ...
c == delim for the next available input character c
to
traits::eq(c, delim) for the next available input character c
Notes: