std::ctype<char>::is
Defined in header <locale> | ||
---|---|---|
bool is(mask m, char c) const; | (1) | |
const char* is(const char* low, const char* high, mask* vec) const; | (2) |
1) Checks if the character
c
is classified by the mask m
according to the classification table returned by the member function table()
. Effectively calculates table()[(unsigned char)c] & m
2) For every character in the character array
[low, high)
, reads its full classification mask from the classification table returned by the member function table()
(that is, evaluates table()[ (unsigned char)*p]
and stores it in the corresponding element of the array pointed to by vec
If (unsigned char)c >= std::ctype<char>::table_size
, then an implementation-defined value is substituted instead of table()[(unsigned char)c]
, possibly different for different values of c
.
Parameters
c | - | character to classify |
m | - | mask to use for classifying a single character |
low | - | pointer to the first character in an array of characters to classify |
high | - | one past the end pointer for the array of characters to classify |
vec | - | pointer to the first element of the array of masks to fill |
Return value
1)
true
if c
is classified by m
in table()
2)
high
Notes
Unlike the primary template std::ctype
, this specialization does not perform a virtual function call when classifying characters. To customize the behavior, a derived class may provide a non-default classification table to the base class constructor.
Example
See also
[virtual] | classifies a character or a character sequence (virtual protected member function of std::ctype<CharT> ) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/locale/ctype_char/is