最終更新日時:
が更新

履歴 編集

function template
<locale>

std::use_facet

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

関連項目