Namespaces
Variants

std::ctype <char> :: is

From cppreference.net
ヘッダーで定義 <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) true c m によって table ( ) で分類される場合、 false それ以外の場合。
2) high

注記

プライマリテンプレート std:: ctype とは異なり、この特殊化は文字の分類時に仮想関数呼び出しを実行しません。動作をカスタマイズするには、派生クラスが基底クラスのコンストラクタに非デフォルトの分類テーブルを提供することができます。

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 28 C++98 オーバーロード (2) は vec の値を table ( ) にコピーしていたが、
これは意図した動作とは逆であった
修正済み

関連項目

[virtual]
文字または文字シーケンスを分類する
( std::ctype<CharT> の仮想保護メンバー関数)