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 CharType
s 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++