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

std::use_facet

Материал из cppreference.com
< cpp‎ | locale
Определено в заголовочном файле <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

[править] Смотрите также

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