Classe locale
A classe que descreve um objeto de localidade que encapsula informações específicas à cultura como um conjunto de facetas que definem coletivamente um ambiente localizado específico.
class locale;
Comentários
Uma faceta é um ponteiro para um objeto de uma classe derivada da classe facet que tem um objeto público da forma:
static locale::id id;
Você pode definir um conjunto de final aberto dessas facetas. Também é possível construir um objeto de localidade que designa um número arbitrário de facetas.
Os grupos predefinidos dessas facetas representam as categorias de localidade normalmente gerenciadas na Biblioteca C Padrão pela função setlocale.
A categoria collate (LC_COLLATE) inclui as facetas:
collate<char>
collate<wchar_t>
A categoria ctype (LC_CTYPE) inclui as facetas:
ctype<char>
ctype<wchar_t>
codecvt<char, char, mbstate_t>
codecvt<wchar_t, char, mbstate_t>
codecvt<char16_t, char, mbstate_t>
codecvt<char32_t, char, mbstate_t>
A categoria monetary (LC_MONETARY) inclui as facetas:
moneypunct<char, false>
moneypunct<wchar_t, false>
moneypunct<char, true>
moneypunct<wchar_t, true>
money_get<char, istreambuf_iterator<char> >
money_get<wchar_t, istreambuf_iterator<wchar_t> >
money_put<char, ostreambuf_iterator<char> >
money_put<wchar_t, ostreambuf_iterator<wchar_t> >
A categoria numeric (LC_NUMERIC) inclui as facetas:
num_get<char, istreambuf_iterator<char> >
num_get<wchar_t, istreambuf_iterator<wchar_t> >
num_put<char, ostreambuf_iterator<char> >
num_put<wchar_t, ostreambuf_iterator<wchar_t> >
numpunct<char>
numpunct<wchar_t>
A categoria time (LC_TIME) inclui as facetas:
time_get<char, istreambuf_iterator<char> >
time_get<wchar_t, istreambuf_iterator<wchar_t> >
time_put<char, ostreambuf_iterator<char> >
time_put<wchar_t, ostreambuf_iterator<wchar_t> >
A categoria messages (LC_MESSAGES) inclui as facetas:
messages<char>
messages<wchar_t>
(A última categoria é exigida pela Posix, mas não pelo C Standard.)
Algumas dessas facetas predefinidas são usadas por classes iostreams para controlar a conversão bidirecional de valores numéricos das sequências de texto.
Um objeto da localidade de classe também armazena um nome de localidade como um objeto da classe string. Usar um nome inválido de localidade para construir uma faceta ou um objeto de localidade lançará um objeto da classe runtime_error. O nome da localidade armazenado será "*" se o objeto de localidade não puder ter certeza de que uma localidade de estilo C corresponde exatamente àquela representada pelo objeto. Caso contrário, você pode estabelecer uma localidade correspondente na Biblioteca C Padrão, para o objeto de localidade _Loc, chamando setlocale(LC_ALL, _Loc.name().c_str()).
Nessa implementação, também é possível chamar a função membro estática:
static locale empty( );
para construir um objeto de localidade que não tenha nenhuma faceta. Ela também é uma localidade transparente; se as funções de modelo has_facet e use_facet não puderem encontrar a faceta solicitada em uma localidade transparente, elas consultarão primeiro a localidade global e, em seguida, se for transparente, a localidade clássica. Desse modo, você pode escrever:
cout.imbue(locale::empty( ));
As inserções subsequentes em cout serão mediadas pelo estado atual da localidade global. Você ainda pode escrever:
locale loc(locale::empty( ), locale::classic( ),
locale::numeric);
cout.imbue(loc);
As regras de formatação numérica para inserções subsequentes em cout permanecem iguais as da localidade C, mesmo que a localidade global forneça regras que se modificam para inserção de valores monetários e de data.
Construtores
Cria uma localidade, ou uma cópia de uma localidade, ou uma cópia da localidade em que uma faceta ou uma categoria foi substituída por uma faceta ou categoria de outra localidade. |
Typedefs
Um tipo de inteiro que fornece valores de bitmask para denotar famílias padrão de facetas. |
Funções membro
Insere uma faceta de uma localidade especificada em uma localidade de destino. |
|
Retorna o nome da localidade armazenado. |
Funções estáticas
A função membro estática retorna um objeto de localidade que representa a localidade C clássica. |
|
Redefine o local padrão do programa. |
Operadores
Testa a desigualdade de duas localidades. |
|
Compara dois objetos basic_string. |
|
Testa a igualdade de duas localidades. |
Classes
Uma classe que serve como a classe base para todas as facetas de localidade. |
|
A classe do membro fornece uma identificação exclusiva da faceta usada como um índice para procurar facetas em uma localidade. |
Requisitos
Cabeçalho: <locale>
Namespace: std
Consulte também
Referência
Nomes de localidades, idiomas e cadeias de caracteres de país/região