std::locale::id
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <locale>
|
||
class locale::id; |
||
Класс std::locale::id обеспечивает зависимую от реализации идентификацию фасета локали. Каждый класс, унаследованный от std::locale::facet, должен иметь открытый статический член типа std::locale::id, а каждый объект std::locale ведёт список реализующих его фасетов, индексированный по их id.
Функции-члены
| создаёт новый идентификатор (public функция-элемент) | |
operator= |
оператор копирующего присваивания удалён (public функция-элемент) |
Пример
В следующем примере показано, как сконструировать минимальный пользовательский фасет.
Запустить этот код
#include <iostream>
#include <locale>
#include <iostream>
#include <locale>
struct myfacet : std::locale::facet
{
myfacet(std::size_t refs=0) : facet(refs) {}
static std::locale::id id;
};
std::locale::id myfacet::id;
int main()
{
std::locale myloc(std::locale(), new myfacet);
std::cout << "has_facet<myloc, myfacet> возвращает " << std::boolalpha
<< std::has_facet<myfacet>(myloc) << '\n';
}
Вывод:
has_facet<myloc, myfacet> возвращает true
Смотрите также
| базовый класс для всех категорий фасетов: каждый фасет любой категории наследуется от этого типа (класс) |