std:: numpunct_byname
|
ヘッダーで定義
<locale>
|
||
|
template
<
class
CharT
>
class numpunct_byname : public std:: numpunct < CharT > ; |
||
std::numpunct_byname
は、構築時に指定されたロケールの数値区切り文字設定をカプセル化する
std::numpunct
ファセットです。
目次 |
特殊化
標準ライブラリは以下の特殊化を提供することが保証されています:
|
ヘッダーで定義
<locale>
|
|
| std :: numpunct_byname < char > | ロケール固有の std::numpunct ファセット(ナロー文字I/O用) |
| std :: numpunct_byname < wchar_t > | ロケール固有の std::numpunct ファセット(ワイド文字I/O用) |
ネスト型
| 型 | 定義 |
char_type
|
CharT
|
string_type
|
std:: basic_string < CharT > |
メンバー関数
|
(constructor)
|
新しい
numpunct_byname
ファセットを構築する
(public member function) |
|
(destructor)
|
numpunct_byname
ファセットを破棄する
(protected member function) |
std::numpunct_byname:: numpunct_byname
|
explicit
numpunct_byname
(
const
char
*
name,
std::
size_t
refs
=
0
)
;
|
||
|
explicit
numpunct_byname
(
const
std::
string
&
name,
std::
size_t
refs
=
0
)
;
|
(C++11以降) | |
指定されたロケール名
name
に対して新しい
std::numpunct_byname
ファセットを構築します。
refs はリソース管理に使用されます: refs == 0 の場合、実装はこのファセットを保持する最後の std::locale オブジェクトが破棄されるときにファセットを破棄します。それ以外の場合、オブジェクトは破棄されません。
パラメータ
| name | - | ロケール名 |
| refs | - | ファセットにリンクする参照数 |
std::numpunct_byname:: ~numpunct_byname
|
protected
:
~numpunct_byname ( ) ; |
||
ファセットを破棄します。
std::numpunct から継承
ネストされた型
| 型 | 定義 |
char_type
|
CharT
|
string_type
|
std:: basic_string < CharT > |
データメンバ
| メンバ | 説明 |
std::locale::id
id
[static]
|
ファセット の識別子 |
メンバ関数
do_decimal_point
を呼び出す
(
std::numpunct<CharT>
の公開メンバ関数)
|
|
do_thousands_sep
を呼び出す
(
std::numpunct<CharT>
の公開メンバ関数)
|
|
do_grouping
を呼び出す
(
std::numpunct<CharT>
の公開メンバ関数)
|
|
do_truename
または
do_falsename
を呼び出す
(
std::numpunct<CharT>
の公開メンバ関数)
|
保護メンバ関数
|
[virtual]
|
小数点として使用する文字を提供する
(
std::numpunct<CharT>
の仮想保護メンバ関数)
|
|
[virtual]
|
千の区切り文字として使用する文字を提供する
(
std::numpunct<CharT>
の仮想保護メンバ関数)
|
|
[virtual]
|
千の区切り文字の各ペア間の桁数を提供する
(
std::numpunct<CharT>
の仮想保護メンバ関数)
|
|
[virtual]
|
ブーリアン値
true
および
false
の名前として使用する文字列を提供する
(
std::numpunct<CharT>
の仮想保護メンバ関数)
|
例
この例は、ロケールの他の部分を変更せずに別の言語の数値句読点ルールを適用する方法を示しています。
#include <iostream> #include <locale> int main() { const double number = 1000.25; std::wcout << L"default locale: " << number << L'\n'; std::wcout.imbue(std::locale(std::wcout.getloc(), new std::numpunct_byname<wchar_t>("ru_RU.UTF8"))); std::wcout << L"default locale with russian numpunct: " << number << L'\n'; }
出力:
default locale: 1000.25 default locale with russian numpunct: 1 000,25
関連項目
|
数値の区切り規則を定義する
(クラステンプレート) |