57. Mistake in char_traits

Section: 24.2.3.4 [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:

21.1.3.2, 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 21.1.3.1 and 21.1.3.2 that char_traits<char>::state_type and char_traits<wchar_t>::state_type must both be mbstate_t.

Proposed resolution:

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