Пространства имён
Варианты
Действия

std::use_facet

Материал из cppreference.com
 
 
Библиотека локализации
Локали и фасеты
Локали
Базовые классы категорий фасетов
фасеты ctype
числовые фасеты
фасеты сопоставления
фасеты времени
денежные фасеты
фасеты сообщений
Классификация и преобразование символов
Классификация символов
Преобразование
(C++11/17*)
(C++11/17*)
Фасеты преобразования кода
(C++11/17*)
(C++11/17*)    
(C++11/17*)
Локаль C
 
<tbody> </tbody>
Определено в заголовочном файле <locale>
template< class Facet > const Facet& use_facet( const std::locale& loc );

Получает ссылку на фасет, реализованный локалью loc.

Параметры

loc запрашиваемый объект локали

Возвращаемое значение

Возвращает ссылку на фасет. Ссылка, возвращаемая этой функцией, является действительной до тех пор, пока существует любой объект std::locale, реализующий этот фасет Facet.

Исключения

std::bad_cast, если std::has_facet<Facet>(loc) == false.

Пример

Отображает 3-буквенное название валюты, используемое в предпочитаемой пользователем локали.

#include <iostream>
#include <locale>

int main()
{
    std::locale loc = std::locale(""); // предпочитаемая пользователем локаль
    std::cout << "Название вашей валюты равно "
              << std::use_facet<std::moneypunct<char, true>>(loc).curr_symbol() << '\n';
}

Вывод:

Название вашей валюты равно USD

Смотрите также

набор полиморфных фасетов, инкапсулирующих культурные различия
(класс) [править]
проверяет, реализует ли локаль определённый фасет
(шаблон функции) [править]