numpunct – třída
Šablona třídy popisující objekt, který může sloužit jako místní omezující vlastnost, která popisuje sekvence typu CharType
, které představují informace o formátování a interpunkci číselných a logických výrazů.
Syntaxe
template <class CharType>
class numpunct : public locale::facet;
Parametry
CharType
Typ používaný v rámci programu ke kódování znaků v národním prostředí.
Poznámky
Stejně jako u omezující vlastnosti národního prostředí má ID statického objektu počáteční uloženou hodnotu nula. První pokus o přístup k uložené hodnotě ukládá jedinečnou kladnou hodnotu v ID.
Konstruktory
Konstruktor | Popis |
---|---|
numpunct | Konstruktor pro objekty typu numpunct . |
Typedefs
Název typu | Popis |
---|---|
char_type | Typ, který se používá k popisu znaku používaného národním prostředním. |
string_type | Typ, který popisuje řetězec obsahující znaky typu CharType . |
Členské funkce
Členová funkce | Popis |
---|---|
decimal_point | Vrátí prvek specifický pro národní prostředí, který se použije jako desetinná čárka. |
do_decimal_point | Chráněná virtuální členská funkce, která je volána k vrácení prvku specifického pro národní prostředí, který se použije jako desetinná čárka. |
do_falsename | Chráněná virtuální členová funkce, která je volána k vrácení řetězce, který se použije jako textová reprezentace hodnoty false . |
do_grouping | Chráněná virtuální členská funkce, která je volána k vrácení pravidla specifického pro národní prostředí k určení způsobu seskupení číslic vlevo od desetinné čárky. |
do_thousands_sep | Chráněná virtuální členská funkce, která je volána k vrácení prvku specifického pro národní prostředí, který se použije jako oddělovač tisíců. |
do_truename | Chráněná virtuální členová funkce, která je volána k vrácení řetězce, který se použije jako textová reprezentace hodnoty true . |
falsename | Vrátí řetězec, který se použije jako textová reprezentace hodnoty false . |
seskupení | Vrátí pravidlo specifické pro národní prostředí určující způsob seskupení číslic nalevo od desetinné čárky. |
thousands_sep | Vrátí prvek specifický pro národní prostředí, který se použije jako oddělovač tisíců. |
truename | Vrátí řetězec, který se použije jako textová reprezentace hodnoty true . |
Požadavky
Záhlaví:<národní prostředí>
Obor názvů: std
numpunct::char_type
Typ, který se používá k popisu znaku používaného národním prostředním.
typedef CharType char_type;
Poznámky
Typ je synonymem parametru šablony CharType.
numpunct::d ecimal_point
Vrátí prvek specifický pro národní prostředí, který se použije jako desetinná čárka.
CharType decimal_point() const;
Návratová hodnota
Prvek specifický pro národní prostředí, který se má použít jako desetinná čárka.
Poznámky
Členová funkce vrátí do_decimal_point.
Příklad
// 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
Chráněná virtuální členská funkce, která je volána k vrácení prvku specifického pro národní prostředí, který se použije jako desetinná čárka.
virtual CharType do_decimal_point() const;
Návratová hodnota
Prvek specifický pro národní prostředí, který se má použít jako desetinná čárka.
Příklad
Podívejte se na příklad decimal_point, kde je virtuální členová funkce volána decimal_point
.
numpunct::d o_falsename
Chráněná virtuální členová funkce vrátí posloupnost, která se použije jako textová reprezentace hodnoty false
.
virtual string_type do_falsename() const;
Návratová hodnota
Řetězec obsahující posloupnost, která se má použít jako textová reprezentace hodnoty false
.
Poznámky
Členová funkce vrátí řetězec "false", který představuje hodnotu false
ve všech národních prostředích.
Příklad
Podívejte se na příklad falsename, kde virtuální člen funkce je volána falsename
.
numpunct::d o_grouping
Chráněná virtuální členská funkce, která je volána k vrácení pravidla specifického pro národní prostředí k určení způsobu seskupení číslic vlevo od desetinné čárky.
virtual string do_grouping() const;
Návratová hodnota
Pravidlo specifické pro národní prostředí pro určení způsobu seskupení číslic vlevo od libovolné desetinné čárky.
Poznámky
Chráněná virtuální členská funkce, která vrátí pravidlo specifické pro národní prostředí k určení způsobu seskupení číslic vlevo od desetinné čárky. Kódování je stejné jako u lconv::grouping.
Příklad
Podívejte se na příklad seskupení, kde je volána grouping
virtuální členová funkce .
numpunct::d o_thousands_sep
Chráněná virtuální členská funkce, která je volána k vrácení prvku specifického pro národní prostředí, který se použije jako oddělovač tisíců.
virtual CharType do_thousands_sep() const;
Návratová hodnota
Vrátí prvek specifický pro národní prostředí, který se použije jako oddělovač tisíců.
Poznámky
Chráněná virtuální členová funkce vrátí prvek typu specifický pro národní prostředí CharType
, který se použije jako oddělovač skupin vlevo od libovolné desetinné čárky.
Příklad
Podívejte se na příklad thousands_sep, kde je virtuální členová funkce volána thousands_sep
.
numpunct::d o_truename
Chráněná virtuální členová funkce, která je volána k vrácení řetězce, který se použije jako textová reprezentace hodnoty true
.
virtual string_type do_truename() const;
Poznámky
Řetězec, který se má použít jako textová reprezentace hodnoty true
.
Všechna národní prostředí vrací řetězec "true", který představuje hodnotu true
.
Příklad
Viz příklad pro truename, kde virtuální člen funkce je volána truename
.
numpunct::falsename
Vrátí řetězec, který se použije jako textová reprezentace hodnoty false
.
string_type falsename() const;
Návratová hodnota
Řetězec obsahující posloupnost CharType
s, která se má použít jako textová reprezentace hodnoty false
.
Poznámky
Členová funkce vrátí řetězec "false", který představuje hodnotu false
ve všech národních prostředích.
Členová funkce vrátí do_falsename.
Příklad
// 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
Vrátí pravidlo specifické pro národní prostředí určující způsob seskupení číslic nalevo od desetinné čárky.
string grouping() const;
Návratová hodnota
Pravidlo specifické pro národní prostředí pro určení způsobu seskupení číslic vlevo od libovolné desetinné čárky.
Poznámky
Členová funkce vrátí do_grouping.
Příklad
// 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
Konstruktor pro objekty typu numpunct
.
explicit numpunct(size_t _Refs = 0);
Parametry
_Refs
Celočíselná hodnota použitá k určení typu správy paměti pro objekt.
Poznámky
Možné hodnoty pro parametr _Refs a jejich významnost jsou:
0: Životnost objektu je spravována národními prostředími, které ho obsahují.
1: Životnost objektu musí být spravována ručně.
> 1: Tyto hodnoty nejsou definovány.
Nejsou možné žádné přímé příklady, protože destruktor je chráněn.
Konstruktor inicializuje svůj základní objekt s národním prostředím ::facet(_Refs
).
numpunct::string_type
Typ, který popisuje řetězec obsahující znaky typu CharType.
typedef basic_string<CharType, Traits, Allocator> string_type;
Poznámky
Typ popisuje specializaci šablony třídy basic_string , jejichž objekty mohou ukládat kopie interpunkčních sekvencí.
numpunct::thousands_sep
Vrátí prvek specifický pro národní prostředí, který se použije jako oddělovač tisíců.
CharType thousands_sep() const;
Návratová hodnota
Prvek specifický pro národní prostředí, který se má použít jako oddělovač tisíců.
Poznámky
Členová funkce vrátí do_thousands_sep.
Příklad
// 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
Vrátí řetězec, který se použije jako textová reprezentace hodnoty true
.
string_type falsename() const;
Návratová hodnota
Řetězec, který se má použít jako textová reprezentace hodnoty true
.
Poznámky
Členová funkce vrátí do_truename.
Všechna národní prostředí vrací řetězec "true", který představuje hodnotu true
.
Příklad
// 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
Viz také
<locale>
facet – třída
Bezpečný přístup z více vláken ve standardní knihovně C++