Namespaces
Variants

std:: numpunct_byname

From cppreference.net
Определено в заголовочном файле <locale>
template < class CharT >
class numpunct_byname : public std:: numpunct < CharT > ;

std::numpunct_byname представляет собой фасет std::numpunct , который инкапсулирует предпочтения в числовой пунктуации для локали, указанной при его создании.

Содержание

Специализации

Стандартная библиотека гарантированно предоставляет следующие специализации:

Определено в заголовочном файле <locale>
std :: numpunct_byname < char > Локализованный std::numpunct аспект для ввода-вывода узких символов
std :: numpunct_byname < wchar_t > Локализованный std::numpunct аспект для ввода-вывода широких символов

Вложенные типы

Тип Определение
char_type CharT
string_type std:: basic_string < CharT >

Функции-члены

(constructor)
создает новый numpunct_byname фасет
(публичная функция-член)
(destructor)
уничтожает numpunct_byname фасет
(защищенная функция-член)

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 ) ;
(since C++11)

Создает новый фасет std::numpunct_byname для локали с именем name .

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> )

Защищённые функции-члены

предоставляет символ для использования в качестве десятичной точки
(виртуальная защищённая функция-член std::numpunct<CharT> )
предоставляет символ для использования в качестве разделителя тысяч
(виртуальная защищённая функция-член std::numpunct<CharT> )
[virtual]
предоставляет количество цифр между каждой парой разделителей тысяч
(виртуальная защищённая функция-член std::numpunct<CharT> )
предоставляет строку для использования в качестве имени булевых значений 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

Смотрите также

определяет правила числовой пунктуации
(шаблон класса)