2017-09-29 67 views
0

我熟悉使用std :: has_facet(loc)来确定是否已将某个特定方面加载到区域设置中。有没有办法查询当前安装的所有facet列表的std :: locale?

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

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

回答

0

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

没有看起来像它可以支持枚举/遍历/迭代。

相关问题