std::numpunct<CharT>:: truename, do_truename, falsename, do_falsename
From cppreference.net
C++
Text processing library
| Localization library | |||||||||||||||||||||||||
| Regular expressions library (C++11) | |||||||||||||||||||||||||
| Formatting library (C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
Localization library
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::numpunct
| Member functions | ||||
|
numpunct::truename
numpunct::do_truename
numpunct::falsename
numpunct::do_falsename
|
|
Определено в заголовочном файле
<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)
Публичная функция-член, вызывает функции-члены
do_truename
и
do_falsename
самого производного класса соответственно.
3)
Возвращает строку, которая будет использоваться в качестве представления логического значения
true
.
4)
Возвращает строку, которая будет использоваться в качестве представления логического значения
false
.
Возвращаемое значение
1,3)
Объект типа
string_type
, используемый в качестве представления
true
. Стандартные специализации
std::numpunct
возвращают
"true"
и
L
"true"
.
2,4)
Объект типа
string_type
для использования в качестве представления
false
. Стандартные специализации
std::numpunct
возвращают
"false"
и
L
"false"
.
Пример
Запустить этот код
#include <iomanip> #include <iostream> #include <locale> 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; // вывод boolalpha по умолчанию std::cout << "Локаль по умолчанию,\n" " boolalpha true: " << true << "\n" " boolalpha false: " << false << "\n\n"; // с применением custom_tf к локали std::cout.imbue(std::locale(std::cout.getloc(), new custom_tf)); std::cout << "Локаль с модифицированным numpunct,\n" " boolalpha true: " << true << "\n" " boolalpha false: " << false << '\n'; }
Вывод:
Default locale, boolalpha true: true boolalpha false: false Locale with modified numpunct, boolalpha true: t boolalpha false: f