如何检查技术规格(TS)是否可用?

时间:2015-10-11 13:31:50

标签: c++

许多新的C ++功能(如模块或概念)很可能不会出现在下一个标准C ++ 17中,而是成为Technical Specification的一部分。

我们如何检查这样的TS是否可用? 是否会有标准方式?

1 个答案:

答案 0 :(得分:2)

每个技术规范都有其自己的(一组)功能测试宏。

例如,文件系统TS(n4100/2014)为此在标头__cpp_lib_experimental_filesystem上指定宏<experimental/filesystem>

  

5.2功能测试宏[fs.req.macros]

     

2标头<experimental/filesystem>应提供以下宏定义:

     

#define __cpp_lib_experimental_filesystem 201406

为方便起见,

p0096r5对所有这些宏都有很好的选择。

不过,您可能需要事先使用__has_include检查必要的标题。