namespace std {
template <class Facet>
const Facet& use_facet(const locale& loc);
}
概要
ロケールlocが保持している、テンプレート引数で指定した型Facetのファセットへの参照を取得する。
戻り値
ロケールlocが保持している型Facetのファセットへの参照。
返される参照、およびそれが指すファセットは、少なくともlocとそのコピーが存在する間は有効である。
例外
has_facet<Facet>(loc)がfalseの場合、std::bad_cast例外を送出する。
例
#include <locale>
#include <iostream>
int main()
{
std::locale l = std::locale::classic();
// "C"ロケールのctype<char>ファセットを取得し、大文字変換する
const std::ctype<char>& ct = std::use_facet<std::ctype<char>>(l);
std::cout << ct.toupper('a') << std::endl;
}
出力
A
バージョン
言語
- C++03
処理系
- Clang: 3.0 ✅
- GCC: 4.3.6 ✅
- Visual C++: 2003 ✅, 2005 ✅, 2008 ✅, 2010 ✅, 2012 ✅