Udostępnij za pośrednictwem


locale — Klasa

Klasa opisująca obiekt ustawień regionalnych, który hermetyzuje informacje specyficzne dla kultury jako zbiór zestawu reguł, które wspólnie definiują specyficzne środowisko zlokalizowane.

class locale;

Uwagi

Zestaw reguł jest wskaźnikiem do obiektu klasy pochodzącej od klasy facet, która ma obiekt publiczny w postaci:

static locale::id id;

Można zdefiniować nieograniczony zbiór tych zestawów reguł.Można także skonstruować obiekt ustawień regionalnych, który wyznacza dowolną liczbę zestawów reguł.

Wstępnie zdefiniowane grupy tych zestawów reguł reprezentują kategorie ustawień regionalnych, tradycyjnie zarządzanych w standardowej bibliotece C przez funkcję setlocale.

Kategoria collate (LC_COLLATE) obejmuje zestawy reguł:

collate<char>
collate<wchar_t>

Kategoria ctype (LC_CTYPE) obejmuje zestawy reguł:

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>

Kategoria monetary (LC_MONETARY) obejmuje zestawy reguł:

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

Kategoria numeric (LC_NUMERIC) obejmuje zestawy reguł:

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>

Kategoria time (LC_TIME) obejmuje zestawy reguł:

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

Kategoria messages (LC_MESSAGES) obejmuje zestawy reguł:

messages<char>
messages<wchar_t>

(Ostatnia kategoria jest wymagana przez Posix, ale nie przez standard C).

Niektóre z tych wstępnie zdefiniowanych zestawów reguł są używane przez klasy iostreams w celu kontroli konwersji wartości numerycznych do i z sekwencji tekstowych.

Obiekt klasy locale również przechowuje nazwy ustawień regionalnych jako obiekt klasy string.Użycie nieprawidłowej nazwy ustawień regionalnych do skonstruowania zestawu reguł ustawień regionalnych lub obiektu ustawień regionalnych zgłasza obiekt klasy runtime_error.Przechowywana nazwa ustawień regionalnych to "*", jeśli obiekt ustawień regionalnych nie może mieć pewności, że ustawienia regionalne stylu C odpowiadają dokładnie tym reprezentowanym przez obiekt.W przeciwnym razie można ustalić pasujące ustawienia regionalne w ramach standardowej biblioteki C, dla obiektu ustawień regionalnych _Loc, wywołując setlocale(LC_ALL, _Loc.nazwa().c_str()).

W tej implementacji można również wywołać funkcję statycznego elementu członkowskiego:

static locale empty( );

do konstruowania obiektu ustawień regionalnych, który ma nie zestawu reguł.Są to również przezroczyste ustawienia regionalne; jeśli funkcje szablonu has_facet i use_facet nie mogą odnaleźć żądanego zestawu reguł w przezroczystych ustawieniach regionalnych, sprawdzają najpierw globalne ustawienia regionalne, a następnie, jeśli są przezroczyste, klasyczne ustawienia regionalne.W ten sposób można napisać:

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

Kolejne wstawienia do cout są za pośrednictwem bieżącego stanu globalnych ustawień regionalnych.Można nawet napisać:

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

Reguły formatowania numerycznego dla kolejnych wstawień do cout pozostają takie same, jak ustawienia regionalne C, nawet jeśli globalne ustawienia regionalne dostarczają zmieniających zasad wstawiania dat i kwot pieniężnych.

Konstruktory

locale

Tworzy ustawienia regionalne lub kopię ustawień regionalnych, lub kopię ustawień regionalnych, w której zestaw reguł lub kategoria zostały zastąpione przez zestaw reguł lub kategorię z innych ustawień regionalnych.

Typedefs

category

Typ całkowitoliczbowy, który zawiera wartości masek bitowych dla oznaczenia standardowych rodzin zestawów reguł.

Funkcje elementów członkowskich

combine

Wstawia zestaw reguł z określonych ustawień regionalnych do docelowych ustawień regionalnych.

nazwa

Zwraca przechowywaną nazwę ustawień regionalnych.

Funkcje statyczne

classic

Funkcja statycznego elementu członkowskiego zwraca obiekt ustawień regionalnych, który reprezentuje klasyczne ustawienia regionalne C.

global

Resetuje domyślne ustawienia lokalne dla programu.

Operatory

operator!=

Testuje dwa ustawienia lokalne pod kątem nierówności.

operator( )

Porównuje dwa obiekty basic_string.

operator==

Testuje dwa ustawienia lokalne pod kątem równości.

Klasy

facet

Klasa, która służy jako klasa podstawowa dla wszystkich zestawów reguł ustawień regionalnych.

identyfikator

Klasa elementu członkowskiego zapewnia unikatową identyfikację zestawu reguł używaną jako indeks do wyszukiwania zestawów reguł w ustawieniach regionalnych.

Wymagania

Nagłówek: <locale>

Przestrzeń nazw: std

Zobacz też

Informacje

<locale>

Strony kodowe

Nazwy lokalne, języki i ciągi kraj/region

Bezpieczeństwo wątku w standardowej bibliotece C++