Класс numpunct
Шаблон класса, описывающий объект, который может служить локальным аспектом для описания последовательностей типов CharType
, используемых для представления сведений о форматировании и препинании числовых и логических выражений.
Синтаксис
template <class CharType>
class numpunct : public locale::facet;
Параметры
CharType
Тип, используемый внутри программы для кодирования символов в языковом стандарте.
Замечания
Как и в случае любого другого аспекта языкового стандарта, начальное сохраненное значение статического идентификатора объекта равно нулю. Первая попытка получить доступ к сохраненному значению сохранит уникальное положительное значение в id.
Конструкторы
Конструктор | Description |
---|---|
numpunct | Конструктор для объектов типа numpunct . |
Определения типов
Введите имя | Description |
---|---|
char_type | Тип, используемый для описания символа, используемого языковым стандартом. |
string_type | Тип, описывающий строку, содержащую символы типа CharType . |
Функции элементов
Функция-член | Description |
---|---|
decimal_point | Возвращает элемент определенного языкового стандарта для использования в качестве десятичного разделителя. |
do_decimal_point | Защищенная виртуальная функция-член, которая вызывается, чтобы возвратить элемент определенного языкового стандарта для использования в качестве десятичного разделителя. |
do_falsename | Защищенная виртуальная функция-член, вызываемая для возврата строки, которая будет использоваться как текстовое представление значения false . |
do_grouping | Защищенная виртуальная функция-член, вызываемая для того, чтобы возвратить определенное языковым стандартом правило группирования цифр слева от любого десятичного разделителя. |
do_thousands_sep | Защищенная виртуальная функция-член, которая вызывается, чтобы возвратить элемент определенного языкового стандарта для использования в качестве разделителя тысяч. |
do_truename | Защищенная виртуальная функция-член, вызываемая для возврата строки, которая будет использоваться как текстовое представление значения true . |
falsename | Возвращает строку, которая будет использоваться как текстовое представление значения false . |
grouping | Возвращает определенное языковым стандартом правило группирования цифр слева от любого десятичного разделителя. |
thousands_sep | Возвращает элемент определенного языкового стандарта для использования в качестве разделителя тысяч. |
truename | Возвращает строку, которая будет использоваться как текстовое представление значения true . |
Требования
Заголовок:<языковой стандарт>
Пространство имен: std
numpunct::char_type
Тип, используемый для описания символа, используемого языковым стандартом.
typedef CharType char_type;
Замечания
Тип является синонимом для параметра-шаблона CharType.
numpunct::d ecimal_point
Возвращает элемент определенного языкового стандарта для использования в качестве десятичного разделителя.
CharType decimal_point() const;
Возвращаемое значение
Элемент определенного языкового стандарта для использования в качестве десятичного разделителя.
Замечания
Функция-член возвращает do_decimal_point.
Пример
// numpunct_decimal_point.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany" );
const numpunct <char> &npunct =
use_facet <numpunct <char> >( loc);
cout << loc.name( ) << " decimal point "<<
npunct.decimal_point( ) << endl;
cout << loc.name( ) << " thousands separator "
<< npunct.thousands_sep( ) << endl;
};
German_Germany.1252 decimal point ,
German_Germany.1252 thousands separator .
numpunct::d o_decimal_point
Защищенная виртуальная функция-член, которая вызывается, чтобы возвратить элемент определенного языкового стандарта для использования в качестве десятичного разделителя.
virtual CharType do_decimal_point() const;
Возвращаемое значение
Элемент определенного языкового стандарта для использования в качестве десятичного разделителя.
Пример
См. пример для decimal_point, где виртуальная функция-член вызывается из decimal_point
.
numpunct::d o_falsename
Функция защищенного виртуального члена возвращает последовательность, используемую в качестве текстового представления значения false
.
virtual string_type do_falsename() const;
Возвращаемое значение
Строка, содержащая последовательность, используемая в качестве текстового представления значения false
.
Замечания
Функция-член возвращает строку false, представляющую значение false
во всех языковых стандартах.
Пример
См. пример для falsename, где виртуальная функция-член вызывается из falsename
.
numpunct::d o_grouping
Защищенная виртуальная функция-член, вызываемая для того, чтобы возвратить определенное языковым стандартом правило группирования цифр слева от любого десятичного разделителя.
virtual string do_grouping() const;
Возвращаемое значение
Определенное языковым стандартом правило группирования цифр слева от любого десятичного разделителя.
Замечания
Защищенная виртуальная функция-член возвращает определенное языковым стандартом правило группирования цифр слева от любого десятичного разделителя. Кодирование такое же, как для lconv::grouping.
Пример
См. пример группировки, в котором вызывается grouping
функция виртуального члена.
numpunct::d o_тысяч_sep
Защищенная виртуальная функция-член, которая вызывается, чтобы возвратить элемент определенного языкового стандарта для использования в качестве разделителя тысяч.
virtual CharType do_thousands_sep() const;
Возвращаемое значение
Возвращает элемент определенного языкового стандарта для использования в качестве разделителя тысяч.
Замечания
Функция защищенного виртуального члена возвращает определенный языковой стандарт элемент типа CharType
, используемый в качестве разделителя групп слева от любой десятичной запятой.
Пример
См. пример для thousands_sep, где виртуальная функция-член вызывается из thousands_sep
.
numpunct::d o_truename
Защищенная виртуальная функция-член, вызываемая для возврата строки, которая будет использоваться как текстовое представление значения true
.
virtual string_type do_truename() const;
Замечания
Строка, используемая в качестве текстового представления значения true
.
Все языковые стандарта возвращают строку true для представления значения true
.
Пример
См. пример для truename, где виртуальная функция-член вызывается из truename
.
numpunct::falsename
Возвращает строку, которая будет использоваться как текстовое представление значения false
.
string_type falsename() const;
Возвращаемое значение
Строка, содержащая последовательность s, CharType
используемую в качестве текстового представления значения false
.
Замечания
Функция-член возвращает строку false, представляющую значение false
во всех языковых стандартах.
Функция-член возвращает do_falsename.
Пример
// numpunct_falsename.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "English" );
const numpunct <char> &npunct = use_facet <numpunct <char> >( loc );
cout << loc.name( ) << " truename "<< npunct.truename( ) << endl;
cout << loc.name( ) << " falsename "<< npunct.falsename( ) << endl;
locale loc2( "French" );
const numpunct <char> &npunct2 = use_facet <numpunct <char> >(loc2);
cout << loc2.name( ) << " truename "<< npunct2.truename( ) << endl;
cout << loc2.name( ) << " falsename "<< npunct2.falsename( ) << endl;
}
English_United States.1252 truename true
English_United States.1252 falsename false
French_France.1252 truename true
French_France.1252 falsename false
numpunct::grouping
Возвращает определенное языковым стандартом правило группирования цифр слева от любого десятичного разделителя.
string grouping() const;
Возвращаемое значение
Определенное языковым стандартом правило группирования цифр слева от любого десятичного разделителя.
Замечания
Функция-член возвращает do_grouping.
Пример
// numpunct_grouping.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany");
const numpunct <char> &npunct =
use_facet < numpunct <char> >( loc );
for (unsigned int i = 0; i < npunct.grouping( ).length( ); i++)
{
cout << loc.name( ) << " international grouping:\n the "
<< i <<"th group to the left of the radix character "
<< "is of size " << (int)(npunct.grouping ( )[i])
<< endl;
}
}
German_Germany.1252 international grouping:
the 0th group to the left of the radix character is of size 3
numpunct::numpunct
Конструктор для объектов типа numpunct
.
explicit numpunct(size_t _Refs = 0);
Параметры
_Refs
Целочисленное значение, используемое для указания типа управления памятью для объекта.
Замечания
Возможные значения параметра _Refs и их значение:
0: время существования объекта управляется языковыми стандартами, которые его содержат.
1: время существования объекта должно управляться вручную.
> 1. Эти значения не определены.
Прямые примеры привести нельзя, так как деструктор защищен.
Конструктор инициализирует базовый объект с помощью языкового стандарта::facet(_Refs
).
numpunct::string_type
Тип, который описывает строку, содержащую символы типа CharType.
typedef basic_string<CharType, Traits, Allocator> string_type;
Замечания
Тип описывает специализацию шаблона класса basic_string , объекты которых могут хранить копии последовательностей препинания.
numpunct::thousands_sep
Возвращает элемент определенного языкового стандарта для использования в качестве разделителя тысяч.
CharType thousands_sep() const;
Возвращаемое значение
Возвращает элемент определенного языкового стандарта для использования в качестве разделителя тысяч.
Замечания
Функция-член возвращает do_thousands_sep.
Пример
// numpunct_thou_sep.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany" );
const numpunct <char> &npunct =
use_facet < numpunct < char > >( loc );
cout << loc.name( ) << " decimal point "<<
npunct.decimal_point( ) << endl;
cout << loc.name( ) << " thousands separator "
<< npunct.thousands_sep( ) << endl;
};
German_Germany.1252 decimal point ,
German_Germany.1252 thousands separator .
numpunct::truename
Возвращает строку, которая будет использоваться как текстовое представление значения true
.
string_type falsename() const;
Возвращаемое значение
Строка, используемая в качестве текстового представления значения true
.
Замечания
Функция-член возвращает do_truename.
Все языковые стандарта возвращают строку true для представления значения true
.
Пример
// numpunct_truename.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "English" );
const numpunct < char> &npunct = use_facet <numpunct <char> >( loc );
cout << loc.name( ) << " truename "<< npunct.truename( ) << endl;
cout << loc.name( ) << " falsename "<< npunct.falsename( ) << endl;
locale loc2("French");
const numpunct <char> &npunct2 = use_facet <numpunct <char> >( loc2 );
cout << loc2.name( ) << " truename "<< npunct2.truename( ) << endl;
cout << loc2.name( ) << " falsename "<< npunct2.falsename( ) << endl;
}
English_United States.1252 truename true
English_United States.1252 falsename false
French_France.1252 truename true
French_France.1252 falsename false
См. также
<локаль>
Класс facet
Потокобезопасность в стандартной библиотеке C++