This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Dup status.
Section: 30.4.2.4.3 [facet.ctype.char.members] Status: Dup Submitter: Dietmar Kühl Opened: 2000-04-24 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [facet.ctype.char.members].
View all issues with Dup status.
Duplicate of: 28
Discussion:
The description of the is() member in paragraph 4 of 30.4.2.4.3 [facet.ctype.char.members] is broken: According to this description, the second form of the is() method modifies the masks in the ctype object. The correct semantics if, of course, to obtain an array of masks. The corresponding method in the general case, ie. the do_is() method as described in 30.4.2.2.3 [locale.ctype.virtuals] paragraph 1 does the right thing.
Proposed resolution:
Change paragraph 4 from
The second form, for all *p in the range [low, high), assigns vec[p-low] to table()[(unsigned char)*p].
to become
The second form, for all *p in the range [low, high), assigns table()[(unsigned char)*p] to vec[p-low].
Rationale: