std:: messages_byname
|
Определено в заголовочном файле
<locale>
|
||
|
template
<
class
CharT
>
class messages_byname : public std:: messages < CharT > ; |
||
std::messages_byname
— это фасет
std::messages
, который инкапсулирует извлечение строк из каталогов сообщений локали, указанной при его создании.
Содержание |
Специализации
Стандартная библиотека гарантированно предоставляет следующие специализации:
|
Определено в заголовке
<locale>
|
|
| std :: messages_byname < char > | доступ к каталогу сообщений для узких/многобайтовых строк |
| std :: messages_byname < wchar_t > | доступ к каталогу сообщений для широких строк |
Вложенные типы
| Тип | Определение |
catalog
|
std:: messages_base < CharT > :: catalog |
string_type
|
std:: basic_string < CharT > |
Функции-члены
|
(constructor)
|
создает новый
messages_byname
фацет
(публичная функция-член) |
|
(destructor)
|
уничтожает
messages_byname
фацет
(защищенная функция-член) |
std::messages_byname:: messages_byname
|
explicit
messages_byname
(
const
char
*
name,
std::
size_t
refs
=
0
)
;
|
||
|
explicit
messages_byname
(
const
std::
string
&
name,
std::
size_t
refs
=
0
)
;
|
(начиная с C++11) | |
Создает новый фасет
std::messages_byname
для локали с именем
name
.
refs используется для управления ресурсами: если refs == 0 , реализация уничтожает фасет, когда уничтожается последний объект std::locale , который его содержит. В противном случае объект не уничтожается.
Параметры
| name | - | имя локали |
| refs | - | количество ссылок, связывающих фасет |
std::messages_byname:: ~messages_byname
|
protected
:
~messages_byname ( ) ; |
||
Уничтожает фасет.
Унаследовано от std:: messages
Вложенные типы
| Тип | Определение |
char_type
|
CharT
|
string_type
|
std:: basic_string < CharT > |
Члены данных
| Член | Описание |
std::locale::id
id
[static]
|
идентификатор аспекта |
Функции-члены
вызывает
do_open
(публичная функция-член
std::messages<CharT>
)
|
|
вызывает
do_get
(публичная функция-член
std::messages<CharT>
)
|
|
вызывает
do_close
(публичная функция-член
std::messages<CharT>
)
|
Защищённые функции-члены
|
[virtual]
|
открывает именованный каталог сообщений
(виртуальная защищённая функция-член
std::messages<CharT>
)
|
|
[virtual]
|
извлекает сообщение из открытого каталога сообщений
(виртуальная защищённая функция-член
std::messages<CharT>
)
|
|
[virtual]
|
закрывает каталог сообщений
(виртуальная защищённая функция-член
std::messages<CharT>
)
|
Унаследовано от std:: messages_base
Вложенные типы
| Тип | Определение |
catalog
|
неопределённый знаковый целочисленный тип |
Пример
#include <iostream> #include <locale> void try_with(const std::locale& loc) { const std::messages<char>& facet = std::use_facet<std::messages<char>>(loc); std::messages<char>::catalog cat = facet.open("sed", std::cout.getloc()); if (cat < 0) std::cout << "Could not open \"sed\" message catalog\n"; else std::cout << "\"No match\" " << facet.get(cat, 0, 0, "No match") << '\n' << "\"Memory exhausted\" " << facet.get(cat, 0, 0, "Memory exhausted") << '\n'; facet.close(cat); } int main() { std::locale loc("en_US.utf8"); std::cout.imbue(loc); try_with(std::locale(loc, new std::messages_byname<char>("de_DE.utf8"))); try_with(std::locale(loc, new std::messages_byname<char>("fr_FR.utf8"))); try_with(std::locale(loc, new std::messages_byname<char>("ja_JP.utf8"))); }
Возможный вывод:
"No match" Keine Übereinstimmung "Memory exhausted" Speicher erschöpft "No match" Pas de concordance "Memory exhausted" Mémoire épuisée "No match" 照合しません "Memory exhausted" メモリーが足りません
Смотрите также
|
реализует извлечение строк из каталогов сообщений
(шаблон класса) |