This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++11 status.
regex_traits::isctype
Section: 28.6.6 [re.traits] Status: C++11 Submitter: Howard Hinnant Opened: 2010-06-21 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [re.traits].
View all issues with C++11 status.
Discussion:
28.6.6 [re.traits]/12 describes regex_traits::isctype
in terms
of ctype::is(c, m)
, where c
is a charT
and m
is a ctype_base::mask
. Unfortunately 28.3.4.2.2.2 [locale.ctype.members]
specifies this function as ctype::is(m, c)
[ Post-Rapperswil: ]
Moved to Tentatively Ready after 5 positive votes on c++std-lib.
[ Adopted at 2010-11 Batavia ]
Proposed resolution:
Change 28.6.6 [re.traits] p.12:
bool isctype(charT c, char_class_type f) const;11 ...
12 Returns: Converts
f
into a valuem
of typestd::ctype_base::mask
in an unspecified manner, and returnstrue
ifuse_facet<ctype<charT> >(getloc()).is(
iscm,mc)true
. Otherwise returnstrue
iff
bitwise or'ed with the result of callinglookup_classname
with an iterator pair that designates the character sequence"w"
is not equal to 0 andc == '_'
, or iff
bitwise or'ed with the result of callinglookup_classname
with an iterator pair that designates the character sequence"blank"
is not equal to 0 andc
is one of an implementation-defined subset of the characters for whichisspace(c, getloc())
returnstrue
, otherwise returnsfalse
.