57. Mistake in char_traits

Section: [char.traits.specializations.wchar.t] Status: TC1 Submitter: Matt Austern Opened: 1998-07-01 Last modified: 2016-02-10

Priority: Not Prioritized

View all issues with TC1 status.

Discussion:, paragraph 3, says "The types streampos and wstreampos may be different if the implementation supports no shift encoding in narrow-oriented iostreams but supports one or more shift encodings in wide-oriented streams".

That's wrong: the two are the same type. The <iosfwd> summary in 27.2 says that streampos and wstreampos are, respectively, synonyms for fpos<char_traits<char>::state_type> and fpos<char_traits<wchar_t>::state_type>, and, flipping back to clause 21, we see in and that char_traits<char>::state_type and char_traits<wchar_t>::state_type must both be mbstate_t.

Proposed resolution:

Remove the sentence in [char.traits.specializations.wchar.t] paragraph 3 which begins "The types streampos and wstreampos may be different..." .