Sdílet prostřednictvím


locale – třída

Třída, která popisuje místní objekt, který zapouzdří informace specifické pro jazykovou verzi jako sadu omezujících vlastností, jež společně definují určité lokalizované prostředí.

class locale;

Poznámky

Omezující vlastnost je ukazatel na objekt třídy odvozené od třídy omezující vlastnost, která má veřejný objekt formuláře:

static locale::id id;

Můžete definovat neuzavřenou množinu těchto omezujících vlastností.Můžete také sestavit objekt národního prostředí, který určuje libovolný počet omezujících vlastností.

Předdefinované skupiny těchto omezujících vlastností představují kategorie národního prostředí tradičně spravované ve standardní knihovně jazyka C funkcí setlocale.

Kategorie collate (LC_COLLATE) obsahuje omezující vlastnosti:

collate<char>
collate<wchar_t>

Kategorie ctype (LC_CTYPE) obsahuje omezující vlastnosti:

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 monetary (LC_MONETARY) obsahuje omezující vlastnosti:

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) obsahuje omezující vlastnosti:

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 time (LC_TIME) obsahuje omezující vlastnosti:

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 messages (LC_MESSAGES) obsahuje omezující vlastnosti:

messages<char>
messages<wchar_t>

(Poslední kategorie je vyžadována knihovnou Posix, ale nikoli standardní knihovnou jazyka C.)

Některé z těchto předdefinovaných omezujících vlastností jsou používány třídami iostreams k řízení převodu číselných hodnot z a na sekvence textu.

Objekt třídy národního prostředí také obsahuje název národního prostředí jako objekt třídy string.Použití neplatného názvu národního prostředí k vytvoření omezující vlastnosti nebo objektu národního prostředí vyvolá objekt třídy runtime_error.Uložený název národního prostředí je "*", pokud si objekt národního prostředí není jistý, že národní prostředí stylu C přesně odpovídá národnímu prostředí reprezentovanému objektem.Jinak je možné vytvořit odpovídající národní prostředí v rámci standardní knihovny jazyka C pro objekt národního prostředí _Loc voláním setlocale(LC_ALL, _Loc.name().c_str()).

V této implementaci můžete také volat statickou členskou funkci:

static locale empty( );

k vytvoření objektu národního prostředí, který nemá žádné omezující vlastnostiJe to také transparentní národní prostředí; pokud funkce šablony has_facet a use_facet nemohou najít požadovanou omezující vlastnost v transparentním národním prostředí, mohou konzultovat nejdříve globální národní prostředí a potom, pokud je transparentní, klasické národní prostředí.Lze tedy psát:

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

Následná vložení do cout jsou zprostředkována aktuálním stavem globálního národního prostředí.Lze dokonce psát:

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

Pravidla číselného formátování pro následná vložení do cout zůstávají stejná jako v národním prostředí jazyka C, i když globální národní prostředí poskytne jiná pravidla pro vkládání dat a peněžních částek.

Konstruktory

locale

Vytvoří národní prostředí nebo kopii národního prostředí či kopii národního prostředí, kde byla omezující vlastnost nebo kategorie nahrazena omezující vlastností nebo kategorií z jiného národního prostředí.

Typedefs

category

Typ integer, který poskytuje hodnoty bitové masky pro skupiny standardních omezujících vlastností.

Členské funkce

combine

Vloží omezující vlastnost ze zadaného národního prostředí do cílového národního prostředí.

name

Vrátí název uloženého národního prostředí.

Statické funkce

classic

Statická funkce členu vrátí objekt národního prostředí, který představuje klasické národní prostředí jazyka C.

global

Obnoví výchozí národní prostředí pro program.

Operátory

operator!=

Testuje dvě národní prostředí na nerovnost.

operator( )

Porovná dva objekty basic_string.

operator==

Testuje dvě národní prostředí na rovnost.

Třídy

omezující vlastnost

Třída, která slouží jako základní třída pro všechny omezující vlastnosti národního prostředí.

id

Třída členu poskytuje jedinečnou identifikaci omezující podmínky, která se používá jako index při vyhledávání omezujících vlastností v národním prostředí.

Požadavky

Hlavička: <locale>

Obor názvů: std

Viz také

Referenční dokumentace

<locale>

Znakové stránky

Řetězce s názvy národních prostředí, jazyků a zemí/oblastí

Bezpečný přístup z více vláken ve standardní knihovně C++