locale Class
カルチャ固有の情報をまとめて、特定のローカライズされた環境を定義するファセットのセットとしてカプセル化するロケール オブジェクトを表すクラスです。
class locale {
public:
class facet;
class id;
typedef int category;
static const category none, collate, ctype, monetary,
numeric, time, messages, all;
locale();
explicit locale(
const char *_Locname
);
explicit locale(
const string& _Locname
);
locale(
const locale& _Loc,
const locale& _Other,
category cat
);
locale(
const locale& _Loc,
const char *_Locname,
category cat
);
locale(
const locale& _Loc,
const string& _Locname,
category _Cat
);
template<class Facet>
locale(
const locale& _Loc,
Facet *_Fac
);
template<class Facet>
locale combine(
const locale& _Loc
) const;
template<class Elem, class Tr, class Alloc>
bool operator()(
const basic_string<Elem, Tr, Alloc>& _Left,
const basic_string<Elem, Tr, Alloc>& _Right
) const;
string name() const;
bool operator== (
const locale& _Right
) const;
bool operator!=(
const locale& _Right
) const;
static locale global(
const locale& _Right
);
static const locale& classic();
};
解説
ファセットはクラスから派生したクラスのオブジェクトへのポインターがのファセットは、フォームのパブリック オブジェクトが。
static locale::id id;
これらのファセットの自由回答式のセットを定義できます。任意の数のファセットを指定するロケール オブジェクトを構築することもできます。
これらのファセットの定義済みのグループを表す、 のロケール カテゴリ伝統的管理標準の C ライブラリ関数setlocale。
カテゴリ (LC_COLLATE) を照合ファセットが含まれています。
collate<char>
collate<wchar_t>
カテゴリ ctype (LC_CTYPE) には、ファセットが含まれます。
ctype<char>
ctype<wchar_t>
codecvt<char, char, mbstate_t>
codecvt<wchar_t, char, mbstate_t>
codecvt<char16_t, char, mbstate_t>
codecvt<char32_t, char, mbstate_t>
通貨カテゴリ (LC_MONETARY) は、ファセットが含まれます。
moneypunct<char, false>
moneypunct<wchar_t, false>
moneypunct<char, true>
moneypunct<wchar_t, true>
money_get<char, istreambuf_iterator<char> >
money_get<wchar_t, istreambuf_iterator<wchar_t> >
money_put<char, ostreambuf_iterator<char> >
money_put<wchar_t, ostreambuf_iterator<wchar_t> >
カテゴリの数値 (LC_NUMERIC) は、ファセットが含まれます。
num_get<char, istreambuf_iterator<char> >
num_get<wchar_t, istreambuf_iterator<wchar_t> >
num_put<char, ostreambuf_iterator<char> >
num_put<wchar_t, ostreambuf_iterator<wchar_t> >
numpunct<char>
numpunct<wchar_t>
ファセットのカテゴリの時間 (ロケール) のとおりです。
time_get<char, istreambuf_iterator<char> >
time_get<wchar_t, istreambuf_iterator<wchar_t> >
time_put<char, ostreambuf_iterator<char> >
time_put<wchar_t, ostreambuf_iterator<wchar_t> >
カテゴリのメッセージ (れる) には、ファセットが含まれます。
messages<char>
messages<wchar_t>
(最後の項目の Posix がない、c 言語標準で必要です)。
これらのあらかじめ定義されたファセットの一部は、iostreams クラスによってシーケンスのテキストと数値の変換を制御する使用されます。
オブジェクトのクラスのロケールもクラスのオブジェクトとしてロケールの名前を格納文字列。クラスのオブジェクトをスローに無効なロケール名を使用して、ロケール ファセットまたはロケール オブジェクトを構築する runtime_error。ストアド ロケール名です"*"ロケール オブジェクトが C スタイルのロケールに正確に対応することを特定することはできない場合は、そのオブジェクトで表されます。それ以外の場合は、ロケール オブジェクト用の標準の C ライブラリ内の一致するロケールを確立することができます_Locを呼び出すことによってsetlocale(であろう, _Loc.名前().c_str()).
この実装では、静的メンバー関数を呼び出すこともできます。
static locale empty( );
ロケール オブジェクトを構築するのには、ファセットがありません。また透明なロケールです。 場合はテンプレート関数は、 has_facet と use_facet 要求されたファセットを見つけることができませんする透明なロケールでは、まず、グローバルなロケール相談しは透明である場合は、従来のロケール。したがって、次のように記述できます。
cout.imbue(locale::empty( ));
それ以降の挿入する cout 、グローバルなロケールの現在の状態で仲介されています。作成することもできます。
locale loc(locale::empty( ), locale::classic( ),
locale::numeric);
cout.imbue(loc);
数値の書式指定規則を後続の挿入にcout日付と金額を挿入するルールを変更する、グローバルなロケールを提供されても、C のロケールでは、同じままにします。
コンストラクター
ロケール、または、ロケールのコピーはファセットまたはカテゴリ、カテゴリ別のロケールからファセットを交換済みロケールのコピーを作成します。 |
Typedef
標準的なファセットのファミリを表すビットマスク値を提供する、整数型。 |
メンバー関数
ファセットは、ターゲット ロケールに指定されたロケールからを挿入します。 |
|
ストアド ロケール名を返します。 |
静的関数
静的メンバー関数は、従来の C ロケールを表すロケール オブジェクトを返します。 |
|
プログラムのローカルの既定値をリセットします。 |
演算子
非等値の 2 つのロケールをテストします。 |
|
2 つの比較basic_stringオブジェクト。 |
|
2 つのロケールの等価性をテストします。 |
Classes
すべてのロケール ファセットの基本クラスとして機能するクラスです。 |
|
メンバー クラス ファセットをロケールでの検索インデックスとしての使用にファセットの一意な id を提供します。 |
必要条件
ヘッダー: <locale>
名前空間: std