有没有办法查询std :: locale以获取当前安装的所有方面的列表?

时间:2017-09-29 14:22:47

标签: c++ c++11 c++14 locale

我熟悉使用std :: has_facet(loc)来确定特定构面是否已加载到区域设置中。

if ( ! std::has_facet<custom_facet_t>(std::cout.getloc()) ) {
   /* load facet in to locale */
}

有没有办法获取当前加载的所有方面的列表? 鉴于语言环境的性质,我相当肯定它会违反所有类型的规则......但我不得不问:)。

1 个答案:

答案 0 :(得分:0)

我相信(正如你所推测的)答案是否定的。 locale类支持构造,赋值,名称检索,比较(或仅限等式和不等式)和函数调用。唯一(必需的)免费功能是use_facethas_facet,以及is*to*便利接口。

没有任何东西可以支持枚举/遍历/迭代。