名前空間
変種
操作

std::numpunct<CharT>::truename, do_truename, falsename, do_falsename

提供: cppreference.com
< cpp‎ | locale‎ | numpunct
 
 
 
 
ヘッダ <locale> で定義
public:
string_type truename() const;
(1)
public:
string_type falsename() const;
(2)
protected:
virtual string_type do_truename() const;
(3)
protected:
virtual string_type do_falsename() const;
(4)
1-2) public メンバ関数。 それぞれ最も派生したクラスのメンバ関数 do_truename および do_falsename を呼びます。
3) ブーリアン値 true の表現として使用される文字列を返します。
4) ブーリアン値 false の表現として使用される文字列を返します。

[編集] 戻り値

1,3) true の表現として使用する string_type 型のオブジェクト。 std::numpunct の標準の特殊化は "true" および L"true" を返します。
2,4) false の表現として使用する string_type 型のオブジェクト。 std::numpunct の標準の特殊化は "false" および L"false" を返します。

[編集]

#include <iostream>
#include <locale>
#include <iomanip>
 
struct custom_tf : std::numpunct<char> {
    std::string do_truename()  const { return "t"; }
    std::string do_falsename() const { return "f"; }
};
 
int main()
{
    std::cout << std::boolalpha;
    std::cout << "default locale: " << true << true << false << false << '\n';
    std::cout.imbue(std::locale(std::cout.getloc(), new custom_tf));
    std::cout << "locale with modified numpunct: " 
              << true << true << false << false << '\n';
}

出力:

default locale: truetruefalsefalse
locale with modified numpunct: ttff