std::ctype<char>::is

< cpp‎ | locale‎ | ctype char
 
 
 
 
定义于头文件 <locale>
bool is(mask m, char c) const;
(1)
const char* is(const char* low, const char* high, mask* vec) const;
(2)
1) 检查字符 c 是否按照成员函数 table() 所返回的分类表,以掩码 m 分类。等效地计算 table()[(unsigned char)c] & m
2) 对字符数组 [low, high) 中每个字符,从成员函数 table() 所返回的分类表读取其完整分类掩码(即计算 table()[ (unsigned char)*p] ),并存储它于 vec 所指向数组的对应元素。

(unsigned char)c >= std::ctype<char>::table_size ,则以实现定义值取代 table()[(unsigned char)c] ,可能对于 c 的不同值不同。

参数

c - 要分类的字符
m - 用于分类单个字符的掩码
low - 指向要分类的字符数组中首字符的指针
high - 要分类的字符数组的尾后一位置指针
vec - 指向要填充的掩码数组首元素的指针

返回值

1)ctable() 中以 m 分类则为 true
2) high

注意

不同于初等模板 std::ctype ,此特化在分类字符时不进行虚函数调用。为定制行为,导出类可提供非默认分类表给基类构造函数。

示例

参阅

[虚]
分类字符或字符序列
(std::ctype<CharT> 的虚受保护成员函数)