YSTest: WidgetIteration.h 文件参考

YSTest PreAlpha_b400_20130424 The YSLib Test Project

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

- 文件列表
- 文件成员

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

部件迭代接口。 更多...

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

浏览源代码.

## 命名空间

namespace | YSLib
namespace | YSLib::UI

## 宏定义

#define | DefSubscriptor(_q, _type,...)
| 成员下标访问操作。
#define | DefSubscriptorBase(_q, _type, _tBase, _vBaseN,...)
| 基于基类的成员下标访问操作。
#define | DefWidgetSubscriptor(...)
| 部件成员下标访问操作。
#define | DefWidgetSubscriptorBase(_tBase,...)
| 基于基类的部件成员下标访问操作。
#define | DefWidgetBegin(_tIter)
| 使用指定部件引用和索引定义迭代器起始。
#define | DefWidgetEnd(_tIter)
| 使用指定部件引用和索引定义迭代器结束。
#define | DefWidgetChildrenGetter
| 定义部件成员迭代器范围操作。
#define | DefWidgetMemberIterationOperations(_tIter)
| 定义部件成员迭代器起始、终止和范围操作。
#define | DefWidgetMemberIteration(...)
| 定义部件成员下标及部件成员迭代器起始、终止和范围操作。
#define | DefWidgetMemberIterationBase(_tBase,...)
| 定义基于基类的部件成员下标及部件成员迭代器起始、终止和范围操作。

## 详细描述

部件迭代接口。

版本
  r173

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

自从
  build 356

创建时间:
  2012-11-25 16:36:34 +0800

修改时间:
  2013-03-13 13:06 +0800

文本编码:
  UTF-8

模块名称:
  YSLib::UI::WidgetIteration

在文件 WidgetIteration.h 中定义.

## 宏定义说明

#define DefSubscriptor | ( |  | _q,
|  |  | _type,
|  |  | ...
| ) |  |

值:
_type& \
operator[](size_t idx) _q \
{ \
return std::initializer_list<std::reference_wrapper<_type>> \
{__VA_ARGS__}.begin()[idx]; \
}

成员下标访问操作。

自从
  build 356

在文件 WidgetIteration.h 第 40 行定义.

#define DefSubscriptorBase | ( |  | _q,
|  |  | _type,
|  |  | _tBase,
|  |  | _vBaseN,
|  |  | ...
| ) |  |

值:
_type& \
operator[](size_t idx) _q \
{ \
return idx < _vBaseN ? _tBase::operator[](idx) \
: std::initializer_list<std::reference_wrapper<_type>> \
{__VA_ARGS__}.begin()[idx - _vBaseN].get(); \
}

基于基类的成员下标访问操作。

自从
  build 357

在文件 WidgetIteration.h 第 52 行定义.

#define DefWidgetBegin | ( |  | _tIter | ) |

值:
_tIter \
GetBegin() \
{ \
return _tIter(*this, 0); \
}

使用指定部件引用和索引定义迭代器起始。

自从
  build 356

在文件 WidgetIteration.h 第 90 行定义.

#define DefWidgetChildrenGetter

值:
DefGetter(override, WidgetRange, Children, \
WidgetRange(GetBegin(), GetEnd()))

定义部件成员迭代器范围操作。

自从
  build 357

使用 GetBegin() 和 GetEnd() 实现 GetChildren() 。

在文件 WidgetIteration.h 第 115 行定义.

#define DefWidgetEnd | ( |  | _tIter | ) |

值:
_tIter \
GetEnd() \
{ \
return _tIter(*this, GetChildrenCount()); \
}

使用指定部件引用和索引定义迭代器结束。

自从
  build 356

在文件 WidgetIteration.h 第 101 行定义.

#define DefWidgetMemberIteration | ( |  | ... | ) |

值:
DefWidgetMemberIterationOperations(Iterator) \
DefWidgetSubscriptor(__VA_ARGS__)

定义部件成员下标及部件成员迭代器起始、终止和范围操作。

自从
  build 356

在文件 WidgetIteration.h 第 134 行定义.

#define DefWidgetMemberIterationBase | ( |  | _tBase,
|  |  | ...
| ) |  |

值:
DefWidgetMemberIterationOperations(Iterator) \
DefWidgetSubscriptorBase(_tBase, __VA_ARGS__)

定义基于基类的部件成员下标及部件成员迭代器起始、终止和范围操作。

自从
  build 357

在文件 WidgetIteration.h 第 142 行定义.

#define DefWidgetMemberIterationOperations | ( |  | _tIter | ) |

值:
DefWidgetBegin(_tIter) \
DefWidgetEnd(_tIter) \
DefWidgetChildrenGetter

定义部件成员迭代器起始、终止和范围操作。

自从
  build 356

在文件 WidgetIteration.h 第 124 行定义.

#define DefWidgetSubscriptor | ( |  | ... | ) |

值:
DefSubscriptor(ynoexcept, IWidget, __VA_ARGS__) \
DefGetter(const ynothrow, size_t, ChildrenCount, \
ystdex::sizeof_params(__VA_ARGS__))

部件成员下标访问操作。

自从
  build 356

在文件 WidgetIteration.h 第 69 行定义.

#define DefWidgetSubscriptorBase | ( |  | _tBase,
|  |  | ...
| ) |  |

值:
DefSubscriptorBase(ynoexcept, IWidget, _tBase, _tBase::GetChildrenCount(), \
__VA_ARGS__) \
DefGetter(const ynothrow, size_t, ChildrenCount, \
_tBase::GetChildrenCount() + ystdex::sizeof_params(__VA_ARGS__))

基于基类的部件成员下标访问操作。

自从
  build 357

在文件 WidgetIteration.h 第 79 行定义.