YSTest: Perprocessor Helpers

YSTest PreAlpha_b700_20160611 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

宏定义
Perprocessor Helpers

`constexpr` 特性测试宏。 更多...

## 宏定义

#define | YPP_Args(...) __VA_ARGS__
| 替换列表。 更多...
#define | YPP_Empty
| 替换为空的预处理记号。 更多...
#define | YPP_Comma ,
| 替换为逗号的预处理记号。 更多...
#define | YPP_Concat(_x, _y) _x ## _y
| 记号连接。 更多...
#define | YPP_Join(_x, _y) YPP_Concat(_x, _y)
| 带宏替换的记号连接。 更多...

## 详细描述

`constexpr` 特性测试宏。

参见
  WG21 P0096R1 3.5 和 3.6 。

自从
  build 628
  build 628

预处理器通用助手宏。

自从
  build 454

## 宏定义说明

#define YPP_Args | ( |  | ... | ) | __VA_ARGS__

替换列表。

注解
  通过括号保护，可用于传递带逗号的参数。

自从
  build 689

在文件 ydef.h 第 216 行定义.

#define YPP_Comma ,

替换为逗号的预处理记号。

注解
  可用于代替宏的实际参数中出现的逗号。

在文件 ydef.h 第 225 行定义.

#define YPP_Concat | ( |  | _x,
|  |  | _y
| ) |  | _x ## _y

记号连接。

参见
  YPP_Join

在文件 ydef.h 第 231 行定义.

#define YPP_Empty

替换为空的预处理记号。

在文件 ydef.h 第 219 行定义.

#define YPP_Join | ( |  | _x,
|  |  | _y
| ) |  | YPP_Concat(_x, _y)

带宏替换的记号连接。

参见
  WG21 N4140 16.3.3[cpp.concat]/3 。
  http://gcc.gnu.org/onlinedocs/cpp/Concatenation.html 。
  https://www.securecoding.cert.org/confluence/display/cplusplus/PRE05-CPP.+Understand+macro+replacement+when+concatenating+tokens+or+performing+stringification 。

注意 ISO C++ 未确定宏定义内 # 和 ## 操作符求值顺序。 注意宏定义内 ## 操作符修饰的形式参数为宏时，此宏不会被展开。

在文件 ydef.h 第 242 行定义.