名前空間
変種
操作

std::ctype_byname<char>

提供: cppreference.com
< cpp‎ | locale
 
 
 
ヘッダ <locale> で定義
template<>
class ctype_byname : public std::ctype<char>;

この std::ctype_byname の特殊化は char 型に対する文字分類機能をカプセル化します。 基底クラス std::ctype<char> と同様に、そして汎用の std::ctype_byname と異なり、文字を分類するためにテーブルルックアップが使用されます。

目次

[編集] メンバ型

メンバ型 定義
mask ctype<char>::mask

[編集] メンバ関数

コンストラクタ
新しい ctype_byname<char> ファセットを構築します
(パブリックメンバ関数)
デストラクタ
ctype_byname<char> ファセットを破棄します
(プロテクテッドメンバ関数)

std::ctype<char> から継承

メンバ型

メンバ型 定義
char_type char

メンバオブジェクト

メンバ名
id (static) std::locale::id
table_size (static const) std::size_t 分類テーブルのサイズ、少なくとも256

メンバ関数

文字分類テーブルを取得します
(std::ctype<char>のパブリックメンバ関数) [edit]
"C" ロケールの文字分類テーブルを取得します
(std::ctype<char>のパブリック静的メンバ関数) [edit]
分類テーブルを用いて、文字を分類します
(std::ctype<char>のパブリックメンバ関数) [edit]
分類テーブルを用いて、指定された分類に分類されるシーケンス内の最初の文字を探します
(std::ctype<char>のパブリックメンバ関数) [edit]
分類テーブルを用いて、指定された分類に分類されないシーケンス内の最初の文字を探します
(std::ctype<char>のパブリックメンバ関数) [edit]
do_toupper を呼びます
(std::ctype<CharT>のパブリックメンバ関数) [edit]
do_tolower を呼びます
(std::ctype<CharT>のパブリックメンバ関数) [edit]
do_widen を呼びます
(std::ctype<CharT>のパブリックメンバ関数) [edit]
do_narrow を呼びます
(std::ctype<CharT>のパブリックメンバ関数) [edit]

プロテクテッドメンバ関数

[仮想]
文字を大文字に変換します
(std::ctype<CharT>の仮想プロテクテッドメンバ関数) [edit]
[仮想]
文字を小文字に変換します
(std::ctype<CharT>の仮想プロテクテッドメンバ関数) [edit]
[仮想]
文字を char から charT に変換します
(std::ctype<CharT>の仮想プロテクテッドメンバ関数) [edit]
[仮想]
文字を charT から char に変換します
(std::ctype<CharT>の仮想プロテクテッドメンバ関数) [edit]

std::ctype_base から継承

メンバ型

定義
mask 未規定なビットマスク型 (列挙、整数型、またはビット集合)

メンバ定数

space
[静的]
ホワイトスペース文字の分類を表す mask の値
(パブリック静的メンバ定数)
print
[静的]
印刷可能な文字の分類を表す mask の値
(パブリック静的メンバ定数)
cntrl
[静的]
制御文字の分類を表す mask の値
(パブリック静的メンバ定数)
upper
[静的]
大文字の分類を表す mask の値
(パブリック静的メンバ定数)
lower
[静的]
小文字の分類を表す mask の値
(パブリック静的メンバ定数)
alpha
[静的]
アルファベット文字の分類を表す mask の値
(パブリック静的メンバ定数)
digit
[静的]
数字の分類を表す mask の値
(パブリック静的メンバ定数)
punct
[静的]
句読点文字の分類を表す mask の値
(パブリック静的メンバ定数)
xdigit
[静的]
16進数字の分類を表す mask の値
(パブリック静的メンバ定数)
blank
[静的] (C++11)
ブランク文字の分類を表す mask の値
(パブリック静的メンバ定数)
alnum
[静的]
alpha | digit
(パブリック静的メンバ定数)
graph
[静的]
alnum | punct
(パブリック静的メンバ定数)

[編集]

#include <iostream>
#include <locale>
 
int main()
{
    char c = '\xde'; // capital letter thorn
 
    std::locale loc("C");
 
    std::cout << "isupper('Þ', C locale) returned "
               << std::boolalpha << std::isupper(c, loc) << '\n';
 
    loc = std::locale(loc, new std::ctype_byname<char>("en_US.utf8"));
 
    std::cout << "isupper('Þ', C locale with Unicode ctype<char>) returned "
              << std::boolalpha << std::isupper(c, loc) << '\n';
 
    loc = std::locale(loc, new std::ctype_byname<char>("is_IS.iso88591"));
 
    std::cout << "isupper('Þ', C locale with Islandic ctype<char>) returned "
              << std::boolalpha << std::isupper(c, loc) << '\n';
}

出力:

isupper('Þ', C locale) returned false
isupper('Þ', C locale with Unicode ctype<char>) returned false
isupper('Þ', C locale with Islandic ctype<char>) returned true

[編集] 関連項目

文字分類テーブルを定義します
(クラステンプレート) [edit]
char 型に対する std::ctype の特殊化
(クラステンプレートの特殊化) [edit]