Classe numpunct

Um modelo de classe que descreve um objeto que pode servir como uma faceta de local para descrever as sequências do tipo CharType usadas para representar informações sobre a formatação e pontuação de expressões numéricas e boolianas.

Sintaxe

template <class CharType>
class numpunct : public locale::facet;

Parâmetros

CharType
O tipo usado em um programa para codificar caracteres em uma localidade.

Comentários

Como qualquer faceta de localidade, a ID de objeto estático tem um valor armazenado inicial de zero. A primeira tentativa de acessar seu valor armazenado armazena um valor positivo exclusivo na id.

Construtores

Construtor Descrição
numpunct O construtor para objetos do tipo numpunct.

Typedefs

Nome do tipo Descrição
char_type Um tipo que é usado para descrever um caractere usado por uma localidade.
string_type Um tipo que descreve uma cadeia de caracteres que contém caracteres do tipo CharType.

Funções de membro

Função de membro Descrição
decimal_point Retorna um elemento específico de localidade a ser usado como uma vírgula decimal.
do_decimal_point Uma função membro virtual protegida que é chamada para retornar um elemento específico de localidade a ser usado como uma vírgula decimal.
do_falsename Uma função membro virtual protegida que é chamada para retornar uma cadeia de caracteres a ser usada como uma representação de texto do valor false.
do_grouping Uma função membro virtual protegida que é chamada para retornar uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal.
do_thousands_sep Uma função membro virtual protegida que é chamada para retornar um elemento específico de localidade a ser usado como um separador de milhares.
do_truename Uma função membro virtual protegida que é chamada para retornar uma cadeia de caracteres a ser usada como uma representação de texto do valor true.
falsename Retorna uma cadeia de caracteres a ser usada como uma representação de texto do valor false.
grouping Retorna uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal.
thousands_sep Retorna um elemento específico de localidade a ser usado como um separador de milhares.
truename Retorna uma cadeia de caracteres a ser usada como uma representação de texto do valor true.

Requisitos

Cabeçalho:<locale>

Namespace: std

numpunct::char_type

Um tipo que é usado para descrever um caractere usado por uma localidade.

typedef CharType char_type;

Comentários

O tipo é um sinônimo do parâmetro de modelo CharType.

numpunct::d ponto_ecimal

Retorna um elemento específico de localidade a ser usado como uma vírgula decimal.

CharType decimal_point() const;

Valor de retorno

Um elemento específico de localidade a ser usado como uma vírgula decimal.

Comentários

A função membro retorna do_decimal_point.

Exemplo

// 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_ponto_decimal

Uma função membro virtual protegida que é chamada para retornar um elemento específico de localidade a ser usado como uma vírgula decimal.

virtual CharType do_decimal_point() const;

Valor de retorno

Um elemento específico de localidade a ser usado como uma vírgula decimal.

Exemplo

Veja o exemplo de decimal_point, em que a função membro virtual é chamada por decimal_point.

numpunct::d o_falsename

A função membro virtual protegida retorna uma cadeia de caracteres a ser usada como uma representação de texto do valor false.

virtual string_type do_falsename() const;

Valor de retorno

Uma cadeia de caracteres que contém uma sequência a ser usada como uma representação de texto do valor false.

Comentários

A função membro retorna a cadeia de caracteres “false” para representar o valor false em todas as localidades.

Exemplo

Veja o exemplo de falsename, em que a função membro virtual é chamada por falsename.

numpunct::d o_grouping

Uma função membro virtual protegida que é chamada para retornar uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal.

virtual string do_grouping() const;

Valor de retorno

Uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal.

Comentários

A função membro virtual protegida retorna uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal. A codificação é a mesma usada para lconv::grouping.

Exemplo

Veja o exemplo de grouping, em que a função membro virtual é chamada por grouping.

numpunct::d o_thousands_sep

Uma função membro virtual protegida que é chamada para retornar um elemento específico de localidade a ser usado como um separador de milhares.

virtual CharType do_thousands_sep() const;

Valor de retorno

Retorna um elemento específico de localidade a ser usado como um separador de milhares.

Comentários

A função membro virtual protegida retorna um elemento específico de localidade do tipo CharType para ser usado como separador de grupo à esquerda da vírgula decimal.

Exemplo

Veja o exemplo de thousands_sep, em que a função membro virtual é chamada por thousands_sep.

numpunct::d o_truename

Uma função membro virtual protegida que é chamada para retornar uma cadeia de caracteres a ser usada como uma representação de texto do valor true.

virtual string_type do_truename() const;

Comentários

Uma cadeia de caracteres a ser usada como uma representação de texto do valor true.

Todas as localidades retornam uma cadeia de caracteres “true” para representar o valor true.

Exemplo

Veja o exemplo de truename, em que a função membro virtual é chamada por truename.

numpunct::falsename

Retorna uma cadeia de caracteres a ser usada como uma representação de texto do valor false.

string_type falsename() const;

Valor de retorno

Uma cadeia de caracteres que contém uma sequência de CharTypes a ser usada como uma representação de texto do valor false.

Comentários

A função membro retorna a cadeia de caracteres “false” para representar o valor false em todas as localidades.

A função de membro retorna do_falsename.

Exemplo

// 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::agrupamento

Retorna uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal.

string grouping() const;

Valor de retorno

Uma regra específica de localidade para determinar como os dígitos são agrupados à esquerda de qualquer vírgula decimal.

Comentários

A função membro retorna do_grouping.

Exemplo

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

O construtor para objetos do tipo numpunct.

explicit numpunct(size_t _Refs = 0);

Parâmetros

_Refs
Valor inteiro usado para especificar o tipo de gerenciamento de memória do objeto.

Comentários

Os valores possíveis para o parâmetro _Refs e sua significância são:

  • 0: o tempo de vida do objeto é gerenciado pelas localidades que o contêm.

  • 1: o tempo de vida do objeto deve ser gerenciado manualmente.

  • > 1: esses valores não estão definidos.

Nenhum exemplo direto é possível, pois o destruidor está protegido.

O construtor inicializa seu objeto base com locale::facet( _Refs).

numpunct::string_type

Um tipo que descreve uma cadeia de caracteres que contém caracteres do tipo CharType.

typedef basic_string<CharType, Traits, Allocator> string_type;

Comentários

O tipo descreve uma especialização do modelo de classe basic_string cujos objetos podem armazenar cópias das sequências de pontuação.

numpunct::thousands_sep

Retorna um elemento específico de localidade a ser usado como um separador de milhares.

CharType thousands_sep() const;

Valor de retorno

Um elemento específico de localidade a ser usado como um separador de milhares.

Comentários

A função membro retorna do_thousands_sep.

Exemplo

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

Retorna uma cadeia de caracteres a ser usada como uma representação de texto do valor true.

string_type falsename() const;

Valor de retorno

Uma cadeia de caracteres a ser usada como uma representação de texto do valor true.

Comentários

A função de membro retorna do_truename.

Todas as localidades retornam uma cadeia de caracteres “true” para representar o valor true.

Exemplo

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

Confira também

<locale>
Classe facet
Acesso Thread-Safe na Biblioteca Padrão C++