Partager via


locale, classe

Classe qui décrit un objet de paramètres régionaux encapsulant des informations spécifiques à la culture sous la forme d'un ensemble de facettes qui définissent collectivement un environnement localisé spécifique.

class locale;

Notes

Une facette est un pointeur vers un objet d'une classe dérivée de la classe facet qui contient un objet public au format suivant :

static locale::id id;

Vous pouvez définir un ensemble ouvert de ces facettes. Vous pouvez également créer un objet de paramètres régionaux qui désigne un nombre arbitraire de facettes.

Les groupes prédéfinis de ces facettes correspondent aux catégories de paramètres régionaux traditionnellement gérées dans la bibliothèque C standard par la fonction setlocale.

La catégorie collate (LC_COLLATE) comprend les facettes suivantes :

collate<char>
collate<wchar_t>

La catégorie ctype (LC_CTYPE) comprend les facettes suivantes :

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 catégorie monetary (LC_MONETARY) comprend les facettes suivantes :

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 catégorie numeric (LC_NUMERIC) comprend les facettes suivantes :

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 catégorie time (LC_TIME) comprend les facettes suivantes :

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 catégorie messages (LC_MESSAGES) comprend les facettes suivantes :

messages<char>
messages<wchar_t>

La dernière catégorie est requise par Posix, mais pas par le C standard.

Certaines de ces facettes prédéfinies sont utilisées par les classes iostreams pour contrôler la conversion des valeurs numériques en séquences de texte, et inversement.

Un objet de la classe de paramètres régionaux stocke également un nom de paramètres régionaux en tant qu'objet de la classe string. L'utilisation d'un nom de paramètres régionaux non valide pour construire une facette de paramètres régionaux ou un objet de paramètres régionaux entraîne la levée d'un objet de la classe runtime_error. Le nom de paramètres régionaux stocké est "*" si l'objet de paramètres régionaux ne peut pas avoir la garantie que les paramètres régionaux de style C correspondent exactement à ceux représentés par l'objet. Sinon, vous pouvez créer des paramètres régionaux correspondants dans la bibliothèque C standard pour l'objet de paramètres régionaux _Loc, en appelant setlocale(LC_ALL, _Loc.name().c_str()).

Dans cette implémentation, vous pouvez également appeler la fonction membre statique :

static locale empty( );

pour construire un objet de paramètres régionaux sans facette. Il s'agit également de paramètres régionaux transparents. Si les fonctions de modèle has_facet et use_facet ne trouvent pas la facette demandée dans les paramètres régionaux transparents, elles consultent d'abord les paramètres régionaux globaux, puis, s'ils sont transparents, les paramètres régionaux classiques. Par conséquent, vous pouvez écrire :

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

Les insertions suivantes dans cout sont atténuées par l'état actuel des paramètres régionaux globaux. Vous pouvez même écrire :

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

Les règles de mise en forme numérique pour les insertions suivantes dans cout restent les mêmes que dans les paramètres régionaux du langage C, même lorsque les paramètres régionaux globaux fournissent des règles différentes d'insertion de dates et de valeurs monétaires.

Constructeurs

paramètres régionaux

Crée des paramètres régionaux, une copie de paramètres régionaux ou une copie de paramètres régionaux où une facette ou une catégorie a été remplacée par une facette, ou une catégorie provenant d'autres paramètres régionaux.

Typedef

category

Type entier qui fournit des valeurs de masque de bits pour indiquer des familles de facettes standard.

Fonctions membres

combine

Insère une facette à partir des paramètres régionaux spécifiés dans les paramètres régionaux cibles.

name

Retourne le nom des paramètres régionaux stocké.

Fonctions statiques

classic

La fonction membre statique retourne un objet de paramètres régionaux qui représente les paramètres régionaux classiques du langage C.

global

Réinitialise les paramètres régionaux par défaut du programme.

Opérateurs

operator!=

Vérifie l'inégalité de deux ensembles de paramètres régionaux.

operator( )

Compare deux objets basic_string.

operator==

Vérifie l'égalité de deux ensembles de paramètres régionaux.

Classes

facet

Classe qui sert de classe de base pour toutes les facettes de paramètres régionaux.

id

La classe membre fournit un ID unique de facette utilisé comme index pour rechercher les facettes de paramètres régionaux.

Configuration requise

En-tête : <locale>

Espace de noms : std

Voir aussi

Référence

<locale>

Pages de codes

Chaînes relatives aux noms, aux langues, au pays et à la région

Sécurité des threads dans la bibliothèque standard C++