Freigeben über


locale Class

Die Klasse, die ein Gebietsschema-Objekt beschreibt, die kulturabhängige Informationen als einen Satz von Facets kapselt, die gemeinsam eine bestimmte lokalisierte Umgebung definieren.

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();
    };

Hinweise

Eine Facet ist ein Zeiger auf ein Objekt einer Klasse abgeleitet Klasse Facet , hat eine public-Objekt des Formulars:

static locale::id id;

Sie können eine offene Reihe von diese Facetten definieren.Sie können auch ein Gebietsschema-Objekt erstellen, die eine beliebige Anzahl von Facets bezeichnet.

Vordefinierte Gruppen diese Facetten repräsentieren die Kategorien traditionell in der C-Standardbibliothek von der Funktion verwalteten setlocale.

Kategorie sortieren (LC_COLLATE) enthält die Facets:

collate<char>
collate<wchar_t>

Kategorie Ctype (LC_CTYPE) enthält die Facets:

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>

Kategorie Währung (LC_MONETARY) enthält die Facets:

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

Kategorie Numeric (LC_NUMERIC) enthält die Facets:

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>

Kategorie enthält (LC_TIME) die Facets:

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

Kategorie-Meldungen (LC_MESSAGES) enthält die Facets:

messages<char>
messages<wchar_t>

(Die letzte Kategorie ist Posix, aber nicht die C Standard erforderlich.)

Einiger dieser vordefinierten Facetten der Iostreams-Klassen dienen zur Steuerung der Konvertierungs von numerischen Werten in und aus Text-Sequenzen.

Ein Objekt der Klasse Locale speichert auch einen Locale-Namen als ein Objekt der Klasse String.Mit einem Ungültiges Gebietsschema-Namen zum Erstellen einer Gebietsschema-Facet oder ein Gebietsschema-Objekt löst ein Objekt der Klasse Runtime_error.Der Gebietsschemaname der gespeicherten ist "*" Wenn das Gebietsschema-Objekt sicher sein kann, dass ein C-Stil-Gebietsschema genau entspricht, die vom Objekt dargestellt.Andernfalls können Sie eine entsprechende Gebietsschema innerhalb der C-Standardbibliothek, für die Gebietsschema-Objekt einrichten _Loc, durch Aufrufen von setlocale(LC_ALL, _Loc.Name().c_str()).

In dieser Implementierung können Sie auch die statische Memberfunktion aufrufen:

static locale empty( );

ein Gebietsschemaobjekt erstellt hat, die keine Facetten.Es ist auch ein Gebietsschema transparent; Wenn Template-Funktionen Has_facet und Use_facet nicht angeforderte Facets finden in einem transparenten Gebietsschema, konsultieren sie zunächst globale Gebietsschema und dann, wenn, die transparent ist, das klassische Gebietsschema.So können Sie Folgendes schreiben:

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

Nachfolgende Einfügungen in Cout sind von den aktuellen Zustand der globale Gebietsschema vermittelt.Sie können sogar schreiben:

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

Formatierungsregeln für nachfolgende Einfügungen in numerische cout bleiben dieselben wie in der Sprachumgebung C selbst als globale Gebietsschema ändernde Regeln für das Einfügen von Datumsangaben und Geldbeträge bereitstellt.

1w3527e2.collapse_all(de-de,VS.110).gifKonstruktoren

Gebietsschema

Erstellt ein Gebietsschema oder eine Kopie ein Gebietsschema oder eine Kopie des Gebietsschema, in denen ein Facet oder eine Kategorie von ein Facet oder eine Kategorie aus einem anderen Gebietsschema ersetzt wurde.

1w3527e2.collapse_all(de-de,VS.110).gifTypedefs

Kategorie

Ein Integer-Typ, der Bitmaskenwerte standard Facet Familien kennzeichnen bereitstellt.

1w3527e2.collapse_all(de-de,VS.110).gifMember-Funktionen

combine

Fügt eine Facet aus einem angegebenen Gebietsschema ein Zielgebietsschema.

name

Gibt den Gebietsschemanamen gespeicherte zurück.

1w3527e2.collapse_all(de-de,VS.110).gifStatische Funktionen

Classic

Statische Member-Funktion gibt ein Gebietsschemaobjekt, das klassische C Gebietsschema darstellt.

globales Element

Setzt den Standard für das Programm lokale zurück.

1w3527e2.collapse_all(de-de,VS.110).gifOperatoren

Operator! =

Testet zwei Gebietsschemas auf Ungleichheit.

Operator)

Vergleicht zwei basic_string-Objekte.

Operator ==

Testet zwei Gebietsschemas auf Gleichheit.

1w3527e2.collapse_all(de-de,VS.110).gifKlassen

Facet

Eine Klasse, die als Basisklasse für alle Gebietsschemas Facets dient.

id

Die Memberklasse stellt eine eindeutige Facet-ID als Index für nachschlagen Facets in einem Gebietsschema verwendet.

Anforderungen

Header: <locale>

Namespace: std

Siehe auch

Referenz

Threadsicherheit in der C++-Standardbibliothek

Weitere Ressourcen

Gebietsschema Member

<locale> Member