Spec-Zone.ru › C++

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: каждый facet любой категории наследуется от этого типа
(класс)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/locale/locale/id

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API