std::ctype<char>::is

来自cppreference.com
< cpp‎ | locale‎ | ctype char
 
 
本地化库
本地环境与平面
本地环境
平面类别基类
ctype(字符类别)平面
numeric(数值)平面
collate(对照比较)平面
time(时间)平面
monetary(货币)平面
messages(消息)平面
字符分类与转换
字符分类
转换
编码转换平面
(C++11)    
C 本地环境
 
 
在标头 <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,否则返回 false
2) high

注意

与主模板 std::ctype 不同,此特化在分类字符时不进行虚函数调用。派生类为了定制行为可以提供非默认分类表给基类构造函数。

示例

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 28 C++98 重载 (2) 将来自 vec 的值复制到了 table() 中,这与预期行为相反 已改正

参阅

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