locale (Clase)

La clase que describe un objeto de configuración regional que encapsula la información específica de la configuración regional como un conjunto de facetas que definen colectivamente un entorno traducido y adaptado concreto.

class locale;

Comentarios

Una faceta es un puntero a un objeto de una clase derivada de la clase facet que tiene un objeto público con el formato:

static locale::id id;

Puede definir un conjunto abierto de estas facetas. También puede crear un objeto de configuración regional que designe un número arbitrario de facetas.

Los grupos predefinidos de estas facetas representan las categorías de configuración regional administradas tradicionalmente en la biblioteca estándar de C por la función setlocale.

La categoría collate (LC_COLLATE) incluye las facetas:

collate<char>
collate<wchar_t>

La categoría ctype (LC_CTYPE) incluye las 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>

La categoría monetary (LC_MONETARY) incluye las 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> >

La categoría numeric (LC_NUMERIC) incluye las 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>

La categoría time (LC_TIME) incluye las 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> >

La categoría messages (LC_MESSAGES) incluye las facetas:

messages<char>
messages<wchar_t>

(La última categoría es necesaria para Posix, pero no para el estándar de C).

Las clases iostreams usan algunas de estas facetas predefinidas para controlar la conversión de valores numéricos a y desde secuencias de texto.

Un objeto de clase locale clase también almacena un nombre de configuración regional como un objeto de la clase string. El uso de un nombre no válido de configuración regional para construir una faceta o un objeto de configuración regional produce un objeto de la clase runtime_error. El nombre almacenado de la configuración regional es "*" si el objeto de configuración regional no puede estar seguro de que una configuración regional de estilo C corresponde exactamente a la representada por el objeto. De lo contrario, puede establecer una configuración regional coincidente dentro de la biblioteca estándar de C para el objeto de configuración regional _Loc llamando a setlocale(LC_ALL, _Loc.name().c_str()).

En esta implementación, también puede llamar a la función miembro estática:

static locale empty( );

para construir un objeto de configuración regional que no tiene ninguna faceta. También es una configuración regional transparente; si las funciones de plantilla has_facet y use_facet no encuentran la faceta solicitada en una configuración regional transparente, consultan primero la configuración regional global y después, si es transparente, la configuración regional clásica. Así, puede escribir:

cout.imbue(locale::empty( ));

Las inserciones posteriores a cout se realizan según el estado actual de la configuración regional global. Incluso puede escribir:

locale loc(locale::empty( ), locale::classic( ),
    locale::numeric);
cout.imbue(loc);

Las reglas de formato numérico para las inserciones posteriores a cout son las mismas que en la configuración regional de C, incluso aunque la configuración regional global proporcione reglas que cambian para insertar fechas y cantidades monetarias.

Constructores

configuración regional

Crea una configuración regional, una copia de una configuración regional o una copia de la configuración regional donde una faceta o una categoría se ha reemplazado por una faceta o una categoría de otra configuración regional.

Typedefs

category

Tipo entero que proporciona valores de máscara de bits para denotar familias de facetas estándar.

Funciones miembro

combine

Inserta una faceta de una configuración regional especificada en una configuración regional de destino.

name

Devuelve el nombre de configuración regional almacenado.

Funciones estáticas

classic

La función miembro static devuelve un objeto de configuración regional que representa la configuración regional clásica de C.

global

Restablece la configuración regional predeterminada del programa.

Operadores

operator!=

Comprueba si dos configuraciones regionales son distintas.

operator( )

Compara dos objetos basic_string.

operator==

Comprueba si dos configuraciones regionales son iguales.

Clases

facet

Clase que actúa como clase base para todas las facetas de configuración regional.

id

La clase miembro proporciona un identificador único de faceta que se usa como índice para buscar facetas en una configuración regional.

Requisitos

Encabezado: <locale>

Espacio de nombres: std

Vea también

Referencia

<locale>

Páginas de códigos

Nombres de configuración regional, idiomas y cadenas de país/región

Seguridad para subprocesos en la biblioteca estándar de C++