YSTest  PreAlpha_b400_20130424
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
YSLib::GEvent< _tRet(_tParams...)> 模板类 参考

#include <yevt.hpp>

YSLib::GEvent< _tRet(_tParams...)> 的协作图:

Public 类型

typedef GHEvent< _tRet(_tParams...)> HandlerType
 
typedef HandlerType::EventArgsType EventArgsType
 
typedef HandlerType::FuncType FuncType
 
typedef multimap
< EventPriority, HandlerType,
std::greater< EventPriority > > 
ContainerType
 容器类型。
 
typedef ContainerType::size_type SizeType
 

Public 成员函数

yconstfn GEvent ()=default
 无参数构造:默认实现。
 
yconstfn GEvent (const GEvent &)=default
 复制构造:默认实现。
 
yconstfn GEvent (GEvent &&)=default
 转移构造:默认实现。
 
GEventoperator= (const GEvent &)=default
 复制赋值:默认实现。
 
GEventoperator= (GEvent &&)=default
 转移赋值:默认实现。
 
template<typename _type >
GEventoperator= (_type &&_arg)
 赋值:覆盖事件响应:使用单一构造参数指定的指定事件处理器。
 
GEventoperator+= (const HandlerType &h)
 添加事件响应:使用 const 事件处理器和优先级。
 
GEventoperator+= (HandlerType &&h)
 添加事件响应:使用事件处理器。
 
template<typename _type >
GEventoperator+= (_type &&_arg)
 添加事件响应:目标为单一构造参数指定的指定事件处理器。
 
GEventoperator-= (const HandlerType &h)
 移除事件响应:指定 const 事件处理器。
 
GEventoperator-= (HandlerType &&h)
 移除事件响应:指定非 const 事件处理器。
 
template<typename _type >
GEventoperator-= (_type &&_arg)
 移除事件响应:目标为单一构造参数指定的指定事件处理器。
 
GEventAdd (const HandlerType &h, EventPriority prior=DefaultEventPriority)
 添加事件响应:使用 const 事件处理器和优先级。
 
GEventAdd (HandlerType &&h, EventPriority prior=DefaultEventPriority)
 添加事件响应:使用非 const 事件处理器和优先级。
 
template<typename _type >
GEventAdd (_type &&_arg, EventPriority prior=DefaultEventPriority)
 添加事件响应:使用单一构造参数指定的事件处理器和优先级。
 
template<class _tObj , class _type >
GEventAdd (_tObj &obj, void(_type::*pm)(EventArgsType), EventPriority prior=DefaultEventPriority)
 添加事件响应:使用对象引用、成员函数指针和优先级。
 
template<class _tObj , class _type >
GEventRemove (_tObj &obj, void(_type::*pm)(EventArgsType))
 移除事件响应:目标为指定对象引用和成员函数指针。
 
bool Contains (const HandlerType &h) const
 判断是否包含指定事件响应。
 
template<typename _type >
bool Contains (_type &&_arg) const
 判断是否包含单一构造参数指定的事件响应。
 
SizeType operator() (_tParams...args) const
 调用事件处理器。
 
SizeType GetSize () const ynothrow
 取列表中的响应数。
 
void Clear ()
 清除:移除所有事件响应。
 
void Swap (GEvent &e) ynothrow
 

Public 属性

ContainerType List
 响应列表。
 

Private 成员函数

template<typename _tHandler >
 GEvent (_tHandler &&h)
 private 构造:添加事件处理器。
 

详细描述

template<typename _tRet, typename... _tParams>
class YSLib::GEvent< _tRet(_tParams...)>

警告
非虚析构。

在文件 yevt.hpp209 行定义.

成员类型定义说明

template<typename _tRet , typename... _tParams>
typedef multimap<EventPriority, HandlerType, std::greater<EventPriority> > YSLib::GEvent< _tRet(_tParams...)>::ContainerType

容器类型。

自从
build 294

在文件 yevt.hpp220 行定义.

template<typename _tRet , typename... _tParams>
typedef HandlerType::EventArgsType YSLib::GEvent< _tRet(_tParams...)>::EventArgsType

在文件 yevt.hpp213 行定义.

template<typename _tRet , typename... _tParams>
typedef HandlerType::FuncType YSLib::GEvent< _tRet(_tParams...)>::FuncType

在文件 yevt.hpp214 行定义.

template<typename _tRet , typename... _tParams>
typedef GHEvent<_tRet(_tParams...)> YSLib::GEvent< _tRet(_tParams...)>::HandlerType

在文件 yevt.hpp212 行定义.

template<typename _tRet , typename... _tParams>
typedef ContainerType::size_type YSLib::GEvent< _tRet(_tParams...)>::SizeType

在文件 yevt.hpp221 行定义.

构造及析构函数说明

template<typename _tRet , typename... _tParams>
yconstfn YSLib::GEvent< _tRet(_tParams...)>::GEvent ( )
default

无参数构造:默认实现。

注解
得到空实例。
template<typename _tRet , typename... _tParams>
yconstfn YSLib::GEvent< _tRet(_tParams...)>::GEvent ( const GEvent< _tRet(_tParams...)> &  )
default

复制构造:默认实现。

注解
深复制。
template<typename _tRet , typename... _tParams>
yconstfn YSLib::GEvent< _tRet(_tParams...)>::GEvent ( GEvent< _tRet(_tParams...)> &&  )
default

转移构造:默认实现。

template<typename _tRet , typename... _tParams>
template<typename _tHandler >
YSLib::GEvent< _tRet(_tParams...)>::GEvent ( _tHandler &&  h)
inlineprivate

private 构造:添加事件处理器。

自从
build 293

在文件 yevt.hpp250 行定义.

参考 h , 以及 yforward.

成员函数说明

template<typename _tRet , typename... _tParams>
GEvent& YSLib::GEvent< _tRet(_tParams...)>::Add ( const HandlerType h,
EventPriority  prior = DefaultEventPriority 
)
inline

添加事件响应:使用 const 事件处理器和优先级。

注解
不检查是否已经在列表中。
自从
build 294

在文件 yevt.hpp343 行定义.

参考自 YSLib::AddUnique().

这是这个函数的调用关系图:

template<typename _tRet , typename... _tParams>
GEvent& YSLib::GEvent< _tRet(_tParams...)>::Add ( HandlerType &&  h,
EventPriority  prior = DefaultEventPriority 
)
inline

添加事件响应:使用非 const 事件处理器和优先级。

注解
不检查是否已经在列表中。
自从
build 294

在文件 yevt.hpp354 行定义.

参考 h.

template<typename _tRet , typename... _tParams>
template<typename _type >
GEvent& YSLib::GEvent< _tRet(_tParams...)>::Add ( _type &&  _arg,
EventPriority  prior = DefaultEventPriority 
)
inline

添加事件响应:使用单一构造参数指定的事件处理器和优先级。

注解
不检查是否已经在列表中。
自从
build 294

在文件 yevt.hpp366 行定义.

参考 yforward.

template<typename _tRet , typename... _tParams>
template<class _tObj , class _type >
GEvent& YSLib::GEvent< _tRet(_tParams...)>::Add ( _tObj &  obj,
void(_type::*)(EventArgsType pm,
EventPriority  prior = DefaultEventPriority 
)
inline

添加事件响应:使用对象引用、成员函数指针和优先级。

注解
不检查是否已经在列表中。
自从
build 294

在文件 yevt.hpp377 行定义.

template<typename _tRet , typename... _tParams>
void YSLib::GEvent< _tRet(_tParams...)>::Clear ( )
inline

清除:移除所有事件响应。

在文件 yevt.hpp447 行定义.

template<typename _tRet , typename... _tParams>
bool YSLib::GEvent< _tRet(_tParams...)>::Contains ( const HandlerType h) const
inline

判断是否包含指定事件响应。

在文件 yevt.hpp398 行定义.

参考 ystdex::get_value , 以及 h.

template<typename _tRet , typename... _tParams>
template<typename _type >
bool YSLib::GEvent< _tRet(_tParams...)>::Contains ( _type &&  _arg) const
inline

判断是否包含单一构造参数指定的事件响应。

自从
build 293

在文件 yevt.hpp411 行定义.

参考 Contains() , 以及 yforward.

函数调用图:

template<typename _tRet , typename... _tParams>
SizeType YSLib::GEvent< _tRet(_tParams...)>::GetSize ( ) const
inline

取列表中的响应数。

在文件 yevt.hpp442 行定义.

template<typename _tRet , typename... _tParams>
SizeType YSLib::GEvent< _tRet(_tParams...)>::operator() ( _tParams...  args) const
inline

调用事件处理器。

返回
成功调用的事件处理器个数。
异常
std::bad_function_call以外异常中立。

在文件 yevt.hpp422 行定义.

参考 yforward.

template<typename _tRet , typename... _tParams>
GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator+= ( const HandlerType h)
inline

添加事件响应:使用 const 事件处理器和优先级。

注解
不检查是否已经在列表中。

在文件 yevt.hpp281 行定义.

template<typename _tRet , typename... _tParams>
GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator+= ( HandlerType &&  h)
inline

添加事件响应:使用事件处理器。

注解
不检查是否已经在列表中。

在文件 yevt.hpp290 行定义.

参考 h.

template<typename _tRet , typename... _tParams>
template<typename _type >
GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator+= ( _type &&  _arg)
inline

添加事件响应:目标为单一构造参数指定的指定事件处理器。

注解
不检查是否已经在列表中。

在文件 yevt.hpp300 行定义.

参考 yforward.

template<typename _tRet , typename... _tParams>
GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator-= ( const HandlerType h)
inline

移除事件响应:指定 const 事件处理器。

在文件 yevt.hpp309 行定义.

参考 h.

template<typename _tRet , typename... _tParams>
GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator-= ( HandlerType &&  h)
inline

移除事件响应:指定非 const 事件处理器。

注解
防止模板 operator-= 递归。

在文件 yevt.hpp322 行定义.

参考 h.

template<typename _tRet , typename... _tParams>
template<typename _type >
GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator-= ( _type &&  _arg)
inline

移除事件响应:目标为单一构造参数指定的指定事件处理器。

自从
build 293

在文件 yevt.hpp332 行定义.

参考 yforward.

template<typename _tRet , typename... _tParams>
GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator= ( const GEvent< _tRet(_tParams...)> &  )
default

复制赋值:默认实现。

template<typename _tRet , typename... _tParams>
GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator= ( GEvent< _tRet(_tParams...)> &&  )
default

转移赋值:默认实现。

template<typename _tRet , typename... _tParams>
template<typename _type >
GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator= ( _type &&  _arg)
inline

赋值:覆盖事件响应:使用单一构造参数指定的指定事件处理器。

自从
build 293

在文件 yevt.hpp271 行定义.

参考 yforward.

template<typename _tRet , typename... _tParams>
template<class _tObj , class _type >
GEvent& YSLib::GEvent< _tRet(_tParams...)>::Remove ( _tObj &  obj,
void(_type::*)(EventArgsType pm 
)
inline

移除事件响应:目标为指定对象引用和成员函数指针。

自从
build 276

在文件 yevt.hpp389 行定义.

template<typename _tRet , typename... _tParams>
void YSLib::GEvent< _tRet(_tParams...)>::Swap ( GEvent< _tRet(_tParams...)> &  e)
inline

在文件 yevt.hpp453 行定义.

类成员变量说明

template<typename _tRet , typename... _tParams>
ContainerType YSLib::GEvent< _tRet(_tParams...)>::List

响应列表。

自从
build 294

在文件 yevt.hpp227 行定义.


该类的文档由以下文件生成: