我熟悉使用std :: has_facet(loc)来确定特定构面是否已加载到区域设置中。
if ( ! std::has_facet<custom_facet_t>(std::cout.getloc()) ) {
/* load facet in to locale */
}
有没有办法获取当前加载的所有方面的列表? 鉴于语言环境的性质,我相当肯定它会违反所有类型的规则......但我不得不问:)。
答案 0 :(得分:0)
我相信(正如你所推测的)答案是否定的。 locale
类支持构造,赋值,名称检索,比较(或仅限等式和不等式)和函数调用。唯一(必需的)免费功能是use_facet
和has_facet
,以及is*
和to*
便利接口。
没有任何东西可以支持枚举/遍历/迭代。