YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
WidgetIteration.h 文件参考

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

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

浏览源代码.

命名空间

 YSLib
 
 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   DefGetter(override, WidgetRange, Children, WidgetRange(begin(), end()))
 定义部件成员迭代器范围操作。 更多...
 
#define DefWidgetMemberIterationOperations(_tIter)
 定义部件成员迭代器起始、终止和范围操作。 更多...
 
#define DefWidgetMemberIteration(...)
 定义部件成员下标及部件成员迭代器起始、终止和范围操作。 更多...
 
#define DefWidgetMemberIterationBase(_tBase,...)
 定义基于基类的部件成员下标及部件成员迭代器起始、终止和范围操作。 更多...
 

详细描述

部件迭代接口。

版本
r202
作者
FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com
自从
build 356
创建时间:
2012-11-25 16:36:34 +0800
修改时间:
2014-04-26 19:29 +0800
文本编码:
UTF-8
模块名称:
YSLib::UI::WidgetIteration

在文件 WidgetIteration.h 中定义.

宏定义说明

#define DefSubscriptor (   _q,
  _type,
  ... 
)
值:
_type& \
operator[](size_t idx) _q \
{ \
return ystdex::forward_as_array<std::reference_wrapper<_type>>( \
__VA_ARGS__).begin()[idx]; \
}

成员下标访问操作。

自从
build 356

在文件 WidgetIteration.h42 行定义.

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

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

自从
build 357

在文件 WidgetIteration.h54 行定义.

#define DefWidgetBegin (   _tIter)
值:
PDefH(_tIter, begin, ) \
ImplRet(_tIter(*this, 0))
#define ImplRet(...)
Definition: YBaseMacro.h:97
#define PDefH(_t, _n,...)

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

自从
build 356

在文件 WidgetIteration.h93 行定义.

#define DefWidgetChildrenGetter   DefGetter(override, WidgetRange, Children, WidgetRange(begin(), end()))

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

自从
build 357

使用 begin() 和 end() 实现 GetChildren() 。

在文件 WidgetIteration.h113 行定义.

#define DefWidgetEnd (   _tIter)
值:
PDefH(_tIter, end, ) \
ImplRet(_tIter(*this, GetChildrenCount()))
#define ImplRet(...)
Definition: YBaseMacro.h:97
#define PDefH(_t, _n,...)

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

自从
build 356

在文件 WidgetIteration.h102 行定义.

#define DefWidgetMemberIteration (   ...)
值:
#define DefWidgetMemberIterationOperations(_tIter)
定义部件成员迭代器起始、终止和范围操作。
#define DefWidgetSubscriptor(...)
部件成员下标访问操作。

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

自从
build 356

在文件 WidgetIteration.h131 行定义.

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

#define DefWidgetMemberIterationBase (   _tBase,
  ... 
)
值:
DefWidgetSubscriptorBase(_tBase, __VA_ARGS__)
#define DefWidgetMemberIterationOperations(_tIter)
定义部件成员迭代器起始、终止和范围操作。
#define DefWidgetSubscriptorBase(_tBase,...)
基于基类的部件成员下标访问操作。

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

自从
build 357

在文件 WidgetIteration.h139 行定义.

#define DefWidgetMemberIterationOperations (   _tIter)
值:
#define DefWidgetChildrenGetter
定义部件成员迭代器范围操作。
#define DefWidgetBegin(_tIter)
使用指定部件引用和索引定义迭代器起始。
#define DefWidgetEnd(_tIter)
使用指定部件引用和索引定义迭代器结束。

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

自从
build 356

在文件 WidgetIteration.h121 行定义.

#define DefWidgetSubscriptor (   ...)
值:
DefSubscriptor(ynoexcept, IWidget, __VA_ARGS__) \
DefGetter(const ynothrow, size_t, ChildrenCount, \
ystdex::sizeof_params(__VA_ARGS__))
#define DefGetter(_q, _t, _n,...)
Definition: YBaseMacro.h:180
#define DefSubscriptor(_q, _type,...)
成员下标访问操作。
#define ynothrow
YSLib 无异常抛出保证:若支持 noexcept 关键字, 指定特定的 noexcept 异常规范。
Definition: ydef.h:514
size_t sizeof_params(_tParams &&...)
统计函数参数列表中的参数个数。
Definition: functional.hpp:62
#define ynoexcept(...)
YSLib 无异常抛出保证:指定特定的异常规范。
Definition: ydef.h:526

部件成员下标访问操作。

自从
build 356

在文件 WidgetIteration.h72 行定义.

#define DefWidgetSubscriptorBase (   _tBase,
  ... 
)
值:
DefSubscriptorBase(ynoexcept, IWidget, _tBase, _tBase::GetChildrenCount(), \
__VA_ARGS__) \
DefGetter(const ynothrow, size_t, ChildrenCount, \
_tBase::GetChildrenCount() + ystdex::sizeof_params(__VA_ARGS__))
#define DefGetter(_q, _t, _n,...)
Definition: YBaseMacro.h:180
#define ynothrow
YSLib 无异常抛出保证:若支持 noexcept 关键字, 指定特定的 noexcept 异常规范。
Definition: ydef.h:514
size_t sizeof_params(_tParams &&...)
统计函数参数列表中的参数个数。
Definition: functional.hpp:62
#define DefSubscriptorBase(_q, _type, _tBase, _vBaseN,...)
基于基类的成员下标访问操作。
#define ynoexcept(...)
YSLib 无异常抛出保证:指定特定的异常规范。
Definition: ydef.h:526

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

自从
build 357

在文件 WidgetIteration.h82 行定义.