YSTest: Interface Type Macros

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

宏定义
Interface Type Macros
Macros For Code Compressing

接口类型宏。 更多...

Interface Type Macros 的协作图:

## 宏定义

#define | YInterface(_attr, _n) struct _attr _n
#define | implements public
#define | YInterfaceHead(_n)
| 定义接口类型头部。 更多...
#define | FwdDeclI(_n) YInterface(, _n);
#define | DeclI(_attr, _n)
| 定义接口类型。 更多...
#define | DeclDerivedI(_attr, _n, ...)
#define | ImplI(...) override
#define | ImplA(...)
| 抽象实现：保留接口供派生类实现（可以提供接口函数的默认实现）。 更多...
#define | DeclIEntry(_sig) virtual _sig = 0;
#define | EndDecl };
#define | DeclSEntry(...)
| 静态接口。 更多...
#define | ImplS(...)
| 静态接口实现。 更多...
#define | DefBitmaskAnd(_tBitmask, _tInt)
| 位掩码类型操作。 更多...
#define | DefBitmaskOr(_tBitmask, _tInt)
#define | DefBitmaskXor(_tBitmask, _tInt)
#define | DefBitmaskNot(_tBitmask, _tInt)
#define | DefBitmaskAndAssignment(_tBitmask, _tInt)
#define | DefBitmaskOrAssignment(_tBitmask, _tInt)
#define | DefBitmaskXorAssignment(_tBitmask, _tInt)
#define | DefBitmaskOperations(_tBitmask, _tInt)
#define | DefBitmaskEnum(_tEnum) DefBitmaskOperations(_tEnum, std::underlying_type<_tEnum>::type)

## 详细描述

接口类型宏。

自从
  build 161

## 宏定义说明

#define DeclDerivedI | ( |  | _attr,
|  |  | _n,
|  |  | ...
| ) |  |

值:
YInterface(_attr, _n) : __VA_ARGS__ \
YInterfaceHead(_n) \
~_n() ImplI(__VA_ARGS__);
YInterfaceHead
#define YInterfaceHead(_n)
定义接口类型头部。
Definition: YBaseMacro.h:358
ImplI
#define ImplI(...)
Definition: YBaseMacro.h:388
YInterface
#define YInterface(_attr, _n)
Definition: YBaseMacro.h:350

在文件 YBaseMacro.h 第 382 行定义.

#define DeclI | ( |  | _attr,
|  |  | _n
| ) |  |

值:
YInterface(_attr, _n) \
YInterfaceHead(_n) \
virtual \
~_n();
YInterfaceHead
#define YInterfaceHead(_n)
定义接口类型头部。
Definition: YBaseMacro.h:358
YInterface
#define YInterface(_attr, _n)
Definition: YBaseMacro.h:350

定义接口类型。

自从
  build 362

在文件 YBaseMacro.h 第 371 行定义.

#define DeclIEntry | ( |  | _sig | ) | virtual _sig = 0;

在文件 YBaseMacro.h 第 396 行定义.

#define DeclSEntry | ( |  | ... | ) |

静态接口。

自从
  build 266

在文件 YBaseMacro.h 第 405 行定义.

#define DefBitmaskAnd | ( |  | _tBitmask,
|  |  | _tInt
| ) |  |

值:
yconstfn PDefHOp(_tBitmask, &, _tBitmask _x, _tBitmask _y) ynothrow \
ImplRet(static_cast<_tBitmask>( \
static_cast<_tInt>(_x) & static_cast<_tInt>(_y)))
yconstfn
#define yconstfn
指定编译时常量函数。
Definition: ydef.h:680
YSLib::Drawing::Size::PDefHOp
#define PDefHOp(_t, _op,...)
比较：屏幕区域大小相等关系。

位掩码类型操作。

前置条件
  _tBitmask 是掩码类型， _tInt 是整数类型。

注解
  参见 ISO C++11 17.5.2.1.3[bitmask.types] 。

自从
  build 270

在文件 YBaseMacro.h 第 434 行定义.

#define DefBitmaskAndAssignment | ( |  | _tBitmask,
|  |  | _tInt
| ) |  |

值:
yconstfn_relaxed PDefHOp(_tBitmask&, &=, _tBitmask& _x, _tBitmask _y) \
ynothrow \
ImplRet(_x = _x & _y)
yconstfn_relaxed
#define yconstfn_relaxed
指定编译时没有 C++11 限制和隐式成员 const 的常量函数。
Definition: ydef.h:692
YSLib::Drawing::Size::PDefHOp
#define PDefHOp(_t, _op,...)
比较：屏幕区域大小相等关系。

在文件 YBaseMacro.h 第 453 行定义.

#define DefBitmaskEnum | ( |  | _tEnum | ) | DefBitmaskOperations(_tEnum, std::underlying_type<_tEnum>::type)

自从
  build 421

注解
  不在类作用域内使用，因此不在类型名前使用 `typename` 。

在文件 YBaseMacro.h 第 481 行定义.

#define DefBitmaskNot | ( |  | _tBitmask,
|  |  | _tInt
| ) |  |

值:
yconstfn PDefHOp(_tBitmask, ~, _tBitmask _x) ynothrow \
ImplRet(static_cast<_tBitmask>(~static_cast<_tInt>(_x)))
yconstfn
#define yconstfn
指定编译时常量函数。
Definition: ydef.h:680
YSLib::Drawing::Size::PDefHOp
#define PDefHOp(_t, _op,...)
比较：屏幕区域大小相等关系。

在文件 YBaseMacro.h 第 449 行定义.

#define DefBitmaskOperations | ( |  | _tBitmask,
|  |  | _tInt
| ) |  |

值:
DefBitmaskAnd(_tBitmask, _tInt) \
DefBitmaskOr(_tBitmask, _tInt) \
DefBitmaskXor(_tBitmask, _tInt) \
DefBitmaskNot(_tBitmask, _tInt) \
DefBitmaskAndAssignment(_tBitmask, _tInt) \
DefBitmaskOrAssignment(_tBitmask, _tInt) \
DefBitmaskXorAssignment(_tBitmask, _tInt)
DefBitmaskAnd
#define DefBitmaskAnd(_tBitmask, _tInt)
位掩码类型操作。
Definition: YBaseMacro.h:434
DefBitmaskOr
#define DefBitmaskOr(_tBitmask, _tInt)
Definition: YBaseMacro.h:439
DefBitmaskAndAssignment
#define DefBitmaskAndAssignment(_tBitmask, _tInt)
Definition: YBaseMacro.h:453
DefBitmaskOrAssignment
#define DefBitmaskOrAssignment(_tBitmask, _tInt)
Definition: YBaseMacro.h:458
DefBitmaskNot
#define DefBitmaskNot(_tBitmask, _tInt)
Definition: YBaseMacro.h:449
DefBitmaskXor
#define DefBitmaskXor(_tBitmask, _tInt)
Definition: YBaseMacro.h:444
DefBitmaskXorAssignment
#define DefBitmaskXorAssignment(_tBitmask, _tInt)
Definition: YBaseMacro.h:463

在文件 YBaseMacro.h 第 468 行定义.

#define DefBitmaskOr | ( |  | _tBitmask,
|  |  | _tInt
| ) |  |

值:
yconstfn PDefHOp(_tBitmask, |, _tBitmask _x, _tBitmask _y) ynothrow \
ImplRet(static_cast<_tBitmask>( \
static_cast<_tInt>(_x) | static_cast<_tInt>(_y)))
yconstfn
#define yconstfn
指定编译时常量函数。
Definition: ydef.h:680
YSLib::Drawing::Size::PDefHOp
#define PDefHOp(_t, _op,...)
比较：屏幕区域大小相等关系。

在文件 YBaseMacro.h 第 439 行定义.

#define DefBitmaskOrAssignment | ( |  | _tBitmask,
|  |  | _tInt
| ) |  |

值:
yconstfn_relaxed PDefHOp(_tBitmask&, |=, _tBitmask& _x, _tBitmask _y) \
ynothrow \
ImplRet(_x = _x | _y)
yconstfn_relaxed
#define yconstfn_relaxed
指定编译时没有 C++11 限制和隐式成员 const 的常量函数。
Definition: ydef.h:692
YSLib::Drawing::Size::PDefHOp
#define PDefHOp(_t, _op,...)
比较：屏幕区域大小相等关系。

在文件 YBaseMacro.h 第 458 行定义.

#define DefBitmaskXor | ( |  | _tBitmask,
|  |  | _tInt
| ) |  |

值:
yconstfn PDefHOp(_tBitmask, ^, _tBitmask _x, _tBitmask _y) ynothrow \
ImplRet(static_cast<_tBitmask>( \
static_cast<_tInt>(_x) ^ static_cast<_tInt>(_y)))
yconstfn
#define yconstfn
指定编译时常量函数。
Definition: ydef.h:680
YSLib::Drawing::Size::PDefHOp
#define PDefHOp(_t, _op,...)
比较：屏幕区域大小相等关系。

在文件 YBaseMacro.h 第 444 行定义.

#define DefBitmaskXorAssignment | ( |  | _tBitmask,
|  |  | _tInt
| ) |  |

值:
yconstfn_relaxed PDefHOp(_tBitmask&, ^=, _tBitmask& _x, _tBitmask _y) \
ynothrow \
ImplRet(_x = _x ^ _y)
yconstfn_relaxed
#define yconstfn_relaxed
指定编译时没有 C++11 限制和隐式成员 const 的常量函数。
Definition: ydef.h:692
YSLib::Drawing::Size::PDefHOp
#define PDefHOp(_t, _op,...)
比较：屏幕区域大小相等关系。

在文件 YBaseMacro.h 第 463 行定义.

#define EndDecl };

在文件 YBaseMacro.h 第 398 行定义.

#define FwdDeclI | ( |  | _n | ) | YInterface(, _n);

在文件 YBaseMacro.h 第 365 行定义.

#define ImplA | ( |  | ... | ) |

抽象实现：保留接口供派生类实现（可以提供接口函数的默认实现）。

注解
  ImplA = Implements Abstractly 。

在文件 YBaseMacro.h 第 394 行定义.

#define implements public

在文件 YBaseMacro.h 第 352 行定义.

参考自 YSLib::DeclI().

#define ImplI | ( |  | ... | ) | override

注解
  ImplI = Implements Interface 。

在文件 YBaseMacro.h 第 388 行定义.

#define ImplS | ( |  | ... | ) |

静态接口实现。

自从
  build 266

在文件 YBaseMacro.h 第 410 行定义.

#define YInterface | ( |  | _attr,
|  |  | _n
| ) |  | struct _attr _n

自从
  build 662

在文件 YBaseMacro.h 第 350 行定义.

#define YInterfaceHead | ( |  | _n | ) |

值:
{ \
protected: \
DefDeCtor(_n) \
DefDeCopyCtor(_n) \
\
public:
DefDeCtor
#define DefDeCtor(_t)
简单通用成员函数定义。
Definition: YBaseMacro.h:157
DefDeCopyCtor
#define DefDeCopyCtor(_t)
Definition: YBaseMacro.h:162

定义接口类型头部。

自从
  build 562

在文件 YBaseMacro.h 第 358 行定义.