Title
ctype<char>::is() member modifies facet
Status
dup
Section
[facet.ctype.char.members]
Submitter
Dietmar Kühl

Created on 2000-04-24.00:00:00 last changed 171 months ago

Messages

Date: 2010-10-21.18:28:33

Rationale:

Duplicate: 28

Date: 2010-10-21.18:28:33

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].

Date: 2000-04-24.00:00:00

The description of the is() member in paragraph 4 of [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 [locale.ctype.virtuals] paragraph 1 does the right thing.

History
Date User Action Args
2010-10-21 18:28:33adminsetmessages: + msg1964
2010-10-21 18:28:33adminsetmessages: + msg1963
2000-04-24 00:00:00admincreate