Namespaces
Variants
Views
Actions

std::ctype<char>::is

From cppreference.com
< cpp‎ | locale‎ | ctype char
Revision as of 08:28, 15 August 2013 by P12 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
 
 
 
 
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.

Contents

[edit] 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

[edit] Return value

1) true if c is classified by m in table()
2) high

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

[edit] Example

[edit] See also

[virtual]
classifies a character or a character sequence
(virtual protected member function of std::ctype) [edit]