- locale[meta header]
- std[meta namespace]
- class template[meta id-type]
namespace std {
template <class charT, bool International = false>
class moneypunct_byname : public moneypunct<charT, International>;
}- moneypunct[link /reference/locale/moneypunct.md]
moneypunct_bynameは、名前で指定したロケールの金額のフォーマットを提供する、moneypunctの派生クラスである。
moneypunctの仮想関数を、locale(const char*)で同じ名前を指定して構築したロケールのファセットと等価な意味論で実装する。
このクラスはmoneypunctが提供するインタフェースをそのまま継承しており、独自のメンバ関数は持たない。
| 名前 | 説明 |
|---|---|
(constructor) |
コンストラクタ |
| 名前 | 説明 |
|---|---|
(destructor) |
デストラクタ |
| 名前 | 説明 |
|---|---|
pattern |
金額のフォーマット型 money_base::pattern |
string_type |
文字列型 std::basic_string<charT> |
#include <iostream>
#include <locale>
int main()
{
// ファセットのデストラクタはprotectedであるため、
// newで確保してlocaleに所有権を渡す
std::locale loc{std::locale::classic(), new std::moneypunct_byname<char>{"C"}};
std::cout << std::boolalpha
<< std::has_facet<std::moneypunct<char>>(loc) << std::endl;
}- std::moneypunct_byname[color ff0000]
- std::locale[link locale.md]
- std::locale::classic()[link locale/classic.md]
- std::has_facet[link has_facet.md]
- std::moneypunct[link moneypunct.md]
true
- C++98