Sdílet prostřednictvím


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 groupingvirtuá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 CharTypes, 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++