Partager via


locale Class

La classe qui décrit un objet de paramètres régionaux qui encapsule des informations spécifiques à la culture comme un ensemble de facettes qui définissent un environnement localisé spécifique.

class locale {
public:
    class facet;
    class id;
    typedef int category;
    static const category none, collate, ctype, monetary,
        numeric, time, messages, all;
    locale();
    explicit locale(
        const char *_Locname
);
    explicit locale(
        const string& _Locname
);
    locale(
        const locale& _Loc, 
        const locale& _Other,
        category cat
    );
    locale(
        const locale& _Loc, 
        const char *_Locname, 
        category cat
    );
    locale(
        const locale& _Loc, 
        const string& _Locname, 
        category _Cat
    );
    template<class Facet>
        locale(
            const locale& _Loc, 
            Facet *_Fac
        );
    template<class Facet>
        locale combine(
            const locale& _Loc
) const;
    template<class Elem, class Tr, class Alloc>
        bool operator()(
            const basic_string<Elem, Tr, Alloc>& _Left,
            const basic_string<Elem, Tr, Alloc>& _Right
        ) const;
    string name() const;
    bool operator== (
        const locale& _Right
    ) const;
    bool operator!=(
        const locale& _Right
    ) const;
    static locale global(
        const locale& _Right
    );
    static const locale& classic();
    };

Notes

Une facette est un pointeur vers un objet d'une classe dérivée de la classe facette qui a un objet public du formulaire :

static locale::id id;

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

Groupes prédéfinis de ces facettes représentent la des catégories de paramètres régionaux traditionnellement gérés dans la bibliothèque C Standard par la fonction setlocale.

Catégorie collate (LC_COLLATE) comprend les facettes :

collate<char>
collate<wchar_t>

Catégorie ctype (LC_CTYPE) comprend les facettes :

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>

Catégorie monétaire (LC_MONETARY) comprend les facettes :

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

Numérique de catégorie (LC_NUMERIC) comprend les facettes :

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>

Catégorie heure (LC_TIME) comprend les facettes :

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

Messages de la catégorie (LC_MESSAGES) inclut les facettes :

messages<char>
messages<wchar_t>

(La dernière catégorie est obligatoire par Posix, mais pas le Standard C).

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

Un objet de paramètres régionaux classe stocke également un nom de paramètre régional comme un objet de classe chaîne.À l'aide d'un nom de variable locale non valide pour construire une facette de paramètres régionaux ou un objet locale lève un objet de classe runtime_error.Le nom des paramètres régionaux stockées est "*" si l'objet de paramètres régionaux ne peut pas être certain que les paramètres régionaux de style c correspond exactement à représentée par l'objet.Sinon, vous pouvez établir des paramètres régionaux correspondant au sein de la bibliothèque C Standard, pour l'objet de paramètres régionaux _Loc, en appelant setlocale(LC_ALL, _Loc.nom().c_str()).

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

static locale empty( );

pour construire un objet locale qui n'a aucune facettes.Il est également un paramètre régional transparent ; Si les fonctions du modèle has_facet et use_facet Impossible de trouver la facette demandée dans les paramètres régionaux transparent, ils, consultez tout d'abord les paramètres régionaux globaux, puis, si c'est transparent, les paramètres régionaux classique.Par conséquent, vous pouvez écrire :

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

Insertions ultérieures à cout sont induites par l'état actuel de paramètres régionaux globaux.Vous pouvez même écrire :

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

Mise en forme de règles pour les insertions ultérieures à Numeric cout restent les mêmes que dans les paramètres régionaux C, alors même que les paramètres régionaux globaux fournit les règles de modifications pour insérer des dates et des montants monétaires.

1w3527e2.collapse_all(fr-fr,VS.110).gifConstructeurs

paramètres régionaux

Crée un paramètre régional, ou une copie de paramètres régionaux ou une copie des paramètres régionaux où une facette ou une catégorie a été remplacée par une facette ou une catégorie à partir d'un autre paramètre régional.

1w3527e2.collapse_all(fr-fr,VS.110).gifTypedef

Catégorie

Un type entier qui fournit les valeurs de masque de bits pour désigner les familles de facette standard.

1w3527e2.collapse_all(fr-fr,VS.110).gifFonctions membres

combine

Insère une facette de paramètres régionaux spécifié dans une langue cible.

name

Renvoie le nom des paramètres régionaux stockées.

1w3527e2.collapse_all(fr-fr,VS.110).gifFonctions statiques

classique

La fonction membre statique renvoie un objet locale représentant le paramètre régional c classique.

global

Réinitialise la valeur par défaut est local pour le programme.

1w3527e2.collapse_all(fr-fr,VS.110).gifOpérateurs

opérateur! =

Teste les deux paramètres régionaux d'inégalité.

opérateur)

Compare deux objets basic_string.

opérateur ==

Teste les deux paramètres régionaux pour l'égalité.

1w3527e2.collapse_all(fr-fr,VS.110).gifClasses

Facette

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

id

La classe membre fournit une identification unique facette utilisée comme un index de recherche des facettes dans les paramètres régionaux.

Configuration requise

En-tête : <locale>

Espace de noms : std

Voir aussi

Référence

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

Autres ressources

membres de paramètres régionaux

<locale> membres