locale Class
Třídy, který popisuje objekt národního prostředí, které zapouzdřuje specifické informace jak fasetami, které společně definují zvláštní lokalizované prostředí.
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();
};
Poznámky
Podmínka je ukazatel na objekt třídy odvozené od třídy Podmínka veřejné objekt ve formuláři, který má:
static locale::id id;
Můžete definovat zprostředkovává množinou tyto charakteristiky.Můžete také vytvořit objekt národního prostředí, který označuje libovolný počet charakteristiky.
Předdefinované skupiny tyto charakteristiky představují kategorie národního prostředí tradičně spravované v knihovně c standardní funkce setlocale.
Kategorie kompletování (LC_COLLATE) nezaručuje zahrnuje:
collate<char>
collate<wchar_t>
Kategorie ctype (LC_CTYPE) obsahuje nezaručuje:
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 měnové (LC_MONETARY) obsahuje nezaručuje:
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> >
Numerické kategorie (LC_NUMERIC) obsahuje nezaručuje:
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 času (LC_TIME) obsahuje nezaručuje:
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 zpráv (LC_MESSAGES) obsahuje nezaručuje:
messages<char>
messages<wchar_t>
(Poslední kategorie je vyžadováno Posix, ale není c standardní.)
Některé z těchto předdefinovaných fasetami používají třídy iostreams k převodu číselné hodnoty z řad textu a řízení.
Objekt třídy národního prostředí také ukládá název národního prostředí jako objekt třídy řetězec.Jméno neplatné národní prostředí pomocí sestavit národní podmínka nebo objekt národního prostředí vyvolá objekt třídy runtime_error.Název uložené národního prostředí je "*" objektu locale nelze určité národní prostředí c styl odpovídá přesně na které jsou reprezentovány tímto objektem.Jinak můžete vytvořit odpovídající národní prostředí v rámci standardní knihovny c pro národní prostředí objekt _Loc, voláním setlocale(LC_ALL, _Loc.název().c_str()).
V této implementaci můžete také volat statické členské funkce:
static locale empty( );
vytvořit objekt národního prostředí, který nemá žádné charakteristiky.Je také průhledné národního prostředí; Pokud funkce šablony has_facet a use_facet nelze najít požadované podmínka v průhledných národního konzultovaly první globální národního prostředí a pokud průhledné, klasické národního prostředí.Lze tedy zapsat:
cout.imbue(locale::empty( ));
Následné vložení do Cour jsou pachatelem podle aktuálního stavu globální národního prostředí.Dokonce můžete psát:
locale loc(locale::empty( ), locale::classic( ),
locale::numeric);
cout.imbue(loc);
Numerická pravidla formátování pro následné vložení do cout zůstávají stejné jako v c národní i globální národního prostředí poskytuje změny pravidel pro vkládání dat a peněžní částky.
Konstruktory
Vytvoří národního prostředí, nebo národní prostředí kopie nebo kopie národního prostředí, kde podmínka nebo kategorie byla nahrazena podmínka nebo kategorie z jiného národního prostředí. |
Funkce TypeDef
Typ integer obsahuje hodnoty maskování bitů pro standardní podmínky rodin. |
Funkce členů
Vloží podmínka národní cíl ze zadané národní prostředí. |
|
Vrátí název uložené národního prostředí. |
Statická funkce
Vrátí statický člen národního prostředí objekt, který představuje klasické c národní prostředí. |
|
Obnoví výchozí místní programu. |
Operátory
Národní prostředí nerovnost pro testy. |
|
Porovnává dva basic_string objektů. |
|
Testy národní prostředí pro rovnost. |
Třídy
Třída, která slouží jako základní třída pro všechny charakteristiky národního prostředí. |
|
Třída člen poskytuje podmínka jedinečné identifikace použít jako index pro vyhledávání charakteristiky v národní prostředí. |
Požadavky
Záhlaví: <locale>
Obor názvů: std
Viz také
Referenční dokumentace
Bezpečnostní vlákno v Standardní knihovna C++