< cpp‎ | regex‎ | regex traits
Revision as of 12:34, 2 November 2012 by P12bot (Talk | contribs)

Template:ddcl list begin <tr class="t-dcl ">

<td class="t-dcl-nopad">
template< class ForwardIt >

char_class_type lookup_classname( ForwardIt first,
                                  ForwardIt last,

                                  bool icase = false ) const;

<td class="t-dcl-nopad"> </td> <td class="t-dcl-nopad"> </td> </tr> Template:ddcl list end

If the character sequence [first, last) represents the name of a valid character class in the currently imbued locale (that is, the string between [: and :] in POSIX regular expressions), returns the implementation-defined value representing this character class. Otherwise, returns zero.

If the parameter icase is true, the character class ignores character case, e.g. the regex [:lower:] with std::regex_constants::icase generates a call to regex_traits<>::lookup_classname() with [first, last) indicating the string "lower" and icase == true. This call returns the same bitmask as the call generated by the regex [:alpha:] with icase == false.

The following character classes are always recognized, in both narrow and wide character forms, and the classifications returned (with icase == false) correspond to the matching classifications obtained by the std::ctype facet of the imbued locale, as follows:

character class std::ctype classification
"alnum" std::ctype_base::alnum
"alpha" std::ctype_base::alpha
"blank" std::ctype_base::blank
"cntrl" std::ctype_base::cntrl
"digit" std::ctype_base::digit
"graph" std::ctype_base::graph
"lower" std::ctype_base::lower
"print" std::ctype_base::print
"punct" std::ctype_base::punct
"space" std::ctype_base::space
"upper" std::ctype_base::upper
"xdigit" std::ctype_base::xdigit
"d" std::ctype_base::digit
"s" std::ctype_base::space
"w" std::ctype_base::alnum with '_' optionally added

The classification returned for the string "w" may be exactly the same as "alnum", in which case Template:rlpf adds '_' explicitly.



first, last - a pair of iterators which determines the sequence of characters that represents a name of a character class
icase - if true, ignores the upper/lower case distinction in the character classification
Type requirements
ForwardIt must meet the requirements of ForwardIterator.

Return value

The bitmask representing the character classification determined by the given character class, or zero if the class is unknown.


See also

indicates membership in a character class
(public member function)