YSTest: YBaseMacro.h 文件参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

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

- 文件列表
- 文件成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
宏定义
YBaseMacro.h 文件参考
Core

通用基础设施：宏定义。 更多...

`#include <ydef.h>`
YBaseMacro.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

## 宏定义

#define | DefExtendClass(_attr, _n,...)
| 定义直接派生类。 更多...
#define | PDefCvt(_t) operator _t()
#define | ImplExpr(...)
#define | ImplRet(...)
#define | ImplThrow(...)
#define | ImplUnseq(...)
#define | ImplBodyBase(_b, _n,...) ImplRet(_b::_n(__VA_ARGS__))
#define | ImplBodyMem(_m, _n,...) ImplRet((_m)._n(__VA_ARGS__))
#define | DefDeCtor(_t) _t() = default;
#define | DefDelCtor(_t) _t() = delete;
#define | DefDeCopyCtor(_t) _t(const _t&) = default;
#define | DefDelCopyCtor(_t) _t(const _t&) = delete;
#define | DefDeMoveCtor(_t) _t(_t&&) = default;
#define | DefDelMoveCtor(_t) _t(_t&&) = delete;
#define | DefDeDtor(_t) ~_t() = default;
| 定义默认析构函数。 更多...
#define | DefDelDtor(_t) ~_t() = delete;
#define | ImplEmptyDtor(_t) inline _t::DefDeDtor(_t)
#define | DefDeCopyAssignment(_t) _t& operator=(const _t&) = default;
#define | DefDelCopyAssignment(_t) _t& operator=(const _t&) = delete;
#define | DefDeMoveAssignment(_t) _t& operator=(_t&&) = default;
#define | DefDelMoveAssignment(_t) _t& operator=(_t&&) = delete;
#define | DefCvt(_q, _t,...)
#define | DefCvtBase(_q, _t, _b) DefCvt(_q, _t, _b::operator _t())
#define | DefCvtMem(_q, _t, _m) DefCvt(_q, _t, (_m).operator _t())
#define | DefPred(_q, _n,...)
#define | DefPredBase(_q, _n, _b) DefPred(_q, _n, _b::YPP_Concat(Is, _n)())
#define | DefPredMem(_q, _n, _m) DefPred(_q, _n, (_m).YPP_Concat(Is, _n)())
#define | DefGetter(_q, _t, _n,...)
#define | DefGetterBase(_q, _t, _n, _b) DefGetter(_q, _t, _n, _b::YPP_Concat(Get, _n)())
#define | DefGetterMem(_q, _t, _n, _m) DefGetter(_q, _t, _n, (_m).YPP_Concat(Get, _n)())
#define | DefSetter(_t, _n, _m)
#define | DefSetterDe(_t, _n, _m, _defv)
#define | DefSetterBase(_t, _n, _b)
#define | DefSetterBaseDe(_t, _n, _b, _defv)
#define | DefSetterMem(_t, _n, _m)
#define | DefSetterMemDe(_t, _n, _m, _defv)
#define | DefSetterEx(_t, _n, _m,...)
#define | DefSetterDeEx(_t, _n, _m, _defv,...)
#define | DefClone(_q, _t)
| 动态复制。 更多...
#define | DefFwdFn(_q, _t, _n,...)
| 传递函数。 更多...
#define | DefFwdTmpl(_q, _t, _n,...)
| 传递模板。 更多...
#define | _yInterface struct
#define | implements public
#define | _yInterfaceHead(_n)
| 定义接口类型头部。 更多...
#define | FwdDeclI(_n) _yInterface _n;
#define | DeclI(_attr, _n)
| 定义接口类型。 更多...
#define | DeclDerivedI(_attr, _n,...)
#define | ImplI(...) virtual
#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, typename std::underlying_type<_tEnum>::type)

## 详细描述

通用基础设施：宏定义。

版本
  r2569

作者
  FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  build 204

创建时间:
  2010-10-09 09:25:27 +0800

修改时间:
  2014-04-23 01:11 +0800

文本编码:
  UTF-8

模块名称:
  YBaseMacro

在文件 YBaseMacro.h 中定义.

## 宏定义说明

#define DefClone | ( |  | _q,
|  |  | _t
| ) |  |

值:
PDefH(_t*, clone, ) _q \
ImplRet(new _t(*this))
ImplRet
#define ImplRet(...)
Definition: YBaseMacro.h:97
YSLib::UI::InvalidationUpdater::PDefH
#define PDefH(_t, _n,...)
ystdex::any_ops::clone
Definition: any.h:310

动态复制。

注解
  需要在满足 `CopyConstructible` 的类的定义内。
  如需要多态复制，需要显示前置 `virtual` 或加入 `override` 等指示符。

自从
  build 409

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

#define DefCvt | ( |  | _q,
|  |  | _t,
|  |  | ...
| ) |  |

值:
operator _t() _q \
ImplRet(__VA_ARGS__)
ImplRet
#define ImplRet(...)
Definition: YBaseMacro.h:97

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

#define DefCvtBase | ( |  | _q,
|  |  | _t,
|  |  | _b
| ) |  | DefCvt(_q, _t, _b::operator _t())

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

#define DefCvtMem | ( |  | _q,
|  |  | _t,
|  |  | _m
| ) |  | DefCvt(_q, _t, (_m).operator _t())

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

#define DefDeCopyAssignment | ( |  | _t | ) | _t& operator=(const _t&) = default;

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

#define DefDeCopyCtor | ( |  | _t | ) | _t(const _t&) = default;

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

#define DefDeCtor | ( |  | _t | ) | _t() = default;

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

#define DefDeDtor | ( |  | _t | ) | ~_t() = default;

定义默认析构函数。

注解
  CWG defect 906 的解决禁止显式默认虚函数，但 CWG defect 1135 的解决撤销了这一限制。 ISO C++11 最终没有此限制。
  ISO C++11 不需要显式使用异常规范，可自动推导（参见 ISO C++11 12.4/3 ）。 显式异常规范导致使用隐式继承需要保证成员函数的异常规范限制。

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

#define DefDelCopyAssignment | ( |  | _t | ) | _t& operator=(const _t&) = delete;

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

#define DefDelCopyCtor | ( |  | _t | ) | _t(const _t&) = delete;

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

#define DefDelCtor | ( |  | _t | ) | _t() = delete;

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

#define DefDelDtor | ( |  | _t | ) | ~_t() = delete;

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

#define DefDelMoveAssignment | ( |  | _t | ) | _t& operator=(_t&&) = delete;

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

#define DefDelMoveCtor | ( |  | _t | ) | _t(_t&&) = delete;

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

#define DefDeMoveAssignment | ( |  | _t | ) | _t& operator=(_t&&) = default;

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

#define DefDeMoveCtor | ( |  | _t | ) | _t(_t&&) = default;

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

#define DefFwdFn | ( |  | _q,
|  |  | _t,
|  |  | _n,
|  |  | ...
| ) |  |

值:
inline _t \
_n() _q \
{ \
return (__VA_ARGS__); \
}

传递函数。

自从
  build 266

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

#define DefFwdTmpl | ( |  | _q,
|  |  | _t,
|  |  | _n,
|  |  | ...
| ) |  |

值:
template<typename... _tParams> \
inline _t \
_n(_tParams&&... args) _q \
{ \
return (__VA_ARGS__); \
}
YSLib::UI::args
yconstfn const string _tParams && args
Definition: Loader.h:111

传递模板。

自从
  build 266

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

#define DefGetter | ( |  | _q,
|  |  | _t,
|  |  | _n,
|  |  | ...
| ) |  |

值:
_t YPP_Concat(Get, _n)() _q \
ImplRet(__VA_ARGS__)
YPP_Concat
#define YPP_Concat(x, y)
Definition: ydef.h:163
ImplRet
#define ImplRet(...)
Definition: YBaseMacro.h:97

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

参考自 YSLib::UI::DeclDelegate() , 以及 YSLib::DeclI().

#define DefGetterBase | ( |  | _q,
|  |  | _t,
|  |  | _n,
|  |  | _b
| ) |  | DefGetter(_q, _t, _n, _b::YPP_Concat(Get, _n)())

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

#define DefGetterMem | ( |  | _q,
|  |  | _t,
|  |  | _n,
|  |  | _m
| ) |  | DefGetter(_q, _t, _n, (_m).YPP_Concat(Get, _n)())

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

#define DefPred | ( |  | _q,
|  |  | _n,
|  |  | ...
| ) |  |

值:
bool YPP_Concat(Is, _n)() _q \
ImplRet(__VA_ARGS__)
YPP_Concat
#define YPP_Concat(x, y)
Definition: ydef.h:163
ImplRet
#define ImplRet(...)
Definition: YBaseMacro.h:97

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

参考自 YSLib::UI::DeclDelegate().

#define DefPredBase | ( |  | _q,
|  |  | _n,
|  |  | _b
| ) |  | DefPred(_q, _n, _b::YPP_Concat(Is, _n)())

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

#define DefPredMem | ( |  | _q,
|  |  | _n,
|  |  | _m
| ) |  | DefPred(_q, _n, (_m).YPP_Concat(Is, _n)())

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

#define DefSetter | ( |  | _t,
|  |  | _n,
|  |  | _m
| ) |  |

值:
void YPP_Concat(Set, _n)(_t _tempArgName) \
ImplExpr((_m) = _tempArgName)
YPP_Concat
#define YPP_Concat(x, y)
Definition: ydef.h:163
ImplExpr
#define ImplExpr(...)
Definition: YBaseMacro.h:93

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

#define DefSetterBase | ( |  | _t,
|  |  | _n,
|  |  | _b
| ) |  |

值:
void YPP_Concat(Set, _n)(_t _tempArgName) \
ImplExpr(_b::YPP_Concat(Set, _n)(_tempArgName))
YPP_Concat
#define YPP_Concat(x, y)
Definition: ydef.h:163
ImplExpr
#define ImplExpr(...)
Definition: YBaseMacro.h:93

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

#define DefSetterBaseDe | ( |  | _t,
|  |  | _n,
|  |  | _b,
|  |  | _defv
| ) |  |

值:
void YPP_Concat(Set, _n)(_t _tempArgName = _defv) \
ImplExpr(_b::YPP_Concat(Set, _n)(_tempArgName))
YPP_Concat
#define YPP_Concat(x, y)
Definition: ydef.h:163
ImplExpr
#define ImplExpr(...)
Definition: YBaseMacro.h:93

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

#define DefSetterDe | ( |  | _t,
|  |  | _n,
|  |  | _m,
|  |  | _defv
| ) |  |

值:
void YPP_Concat(Set, _n)(_t _tempArgName = _defv) \
ImplExpr((_m) = _tempArgName)
YPP_Concat
#define YPP_Concat(x, y)
Definition: ydef.h:163
ImplExpr
#define ImplExpr(...)
Definition: YBaseMacro.h:93

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

#define DefSetterDeEx | ( |  | _t,
|  |  | _n,
|  |  | _m,
|  |  | _defv,
|  |  | ...
| ) |  |

值:
void YPP_Concat(Set, _n)(_t _tempArgName = _defv) \
ImplExpr((_m) = (__VA_ARGS__))
YPP_Concat
#define YPP_Concat(x, y)
Definition: ydef.h:163
ImplExpr
#define ImplExpr(...)
Definition: YBaseMacro.h:93

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

#define DefSetterEx | ( |  | _t,
|  |  | _n,
|  |  | _m,
|  |  | ...
| ) |  |

值:
void YPP_Concat(Set, _n)(_t _tempArgName) \
ImplExpr((_m) = (__VA_ARGS__))
YPP_Concat
#define YPP_Concat(x, y)
Definition: ydef.h:163
ImplExpr
#define ImplExpr(...)
Definition: YBaseMacro.h:93

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

#define DefSetterMem | ( |  | _t,
|  |  | _n,
|  |  | _m
| ) |  |

值:
void YPP_Concat(Set, _n)(_t _tempArgName) \
ImplExpr((_m).YPP_Concat(Set, _n)(_tempArgName))
YPP_Concat
#define YPP_Concat(x, y)
Definition: ydef.h:163
ImplExpr
#define ImplExpr(...)
Definition: YBaseMacro.h:93

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

#define DefSetterMemDe | ( |  | _t,
|  |  | _n,
|  |  | _m,
|  |  | _defv
| ) |  |

值:
void YPP_Concat(Set, _n)(_t _tempArgName = _defv) \
ImplExpr((_m).YPP_Concat(Set, _n)(_tempArgName))
YPP_Concat
#define YPP_Concat(x, y)
Definition: ydef.h:163
ImplExpr
#define ImplExpr(...)
Definition: YBaseMacro.h:93

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

#define ImplBodyBase | ( |  | _b,
|  |  | _n,
|  |  | ...
| ) |  | ImplRet(_b::_n(__VA_ARGS__))

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

#define ImplBodyMem | ( |  | _m,
|  |  | _n,
|  |  | ...
| ) |  | ImplRet((_m)._n(__VA_ARGS__))

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

#define ImplEmptyDtor | ( |  | _t | ) | inline _t::DefDeDtor(_t)

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

#define ImplExpr | ( |  | ... | ) |

值:
{ \
(__VA_ARGS__), void(); \
}

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

#define ImplRet | ( |  | ... | ) |

值:
{ \
return __VA_ARGS__; \
}

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

#define ImplThrow | ( |  | ... | ) |

值:
{ \
throw __VA_ARGS__; \
}

自从
  build 477

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

#define ImplUnseq | ( |  | ... | ) |

值:
{ \
yunused(yunseq(__VA_ARGS__)); \
}
yunused
#define yunused(...)
标记未使用的表达式。
Definition: ydef.h:697
yunseq
#define yunseq
无序列依赖表达式组求值。
Definition: ydef.h:748

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

#define PDefCvt | ( |  | _t | ) | operator _t()

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