Section: 28.3.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 28.3.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 28.3.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: