std::locale::id
Определено в заголовке <locale> | ||
|---|---|---|
class locale::id; |
Класс std::locale::id предоставляет идентификацию, специфичную для реализации, для объекта локализации. Каждый объект facet имеет общедоступный статический член, названный id типа std::locale::id, и каждый объект std::locale хранит список реализованных им объектов facet, индексированных по их id.
Объекты facet с одинаковыми id относятся к одной категории и заменяют друг друга при добавлении в объект локализации.
Члены-функции
| создаёт новый идентификатор (общедоступная функция-член) |
|
| operator= | оператор присваивания копирования удалён (общедоступная функция-член) |
Пример
Следующий пример демонстрирует создание минимального пользовательского объекта facet.
#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<myfacet>(myloc) returns " << std::boolalpha
<< std::has_facet<myfacet>(myloc) << '\n';
}Вывод:
has_facet<myfacet>(myloc) returns true
См. также
| базовый класс для всех категорий facet: каждый facet любой категории наследуется от этого типа (класс) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/locale/locale/id