YSTest: YSLib::GEvent< _tRet(_tParams...)> 模板类 参考

YSTest PreAlpha_b400_20130424 The YSLib Test Project

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

- 类列表
- 类索引
- 类继承关系
- 类成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 类型 | Public 成员函数 | Public 属性 | Private 成员函数 | 所有成员列表
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
| 转移构造：默认实现。
GEvent & | operator= (const GEvent &)=default
| 复制赋值：默认实现。
GEvent & | operator= (GEvent &&)=default
| 转移赋值：默认实现。
template<typename _type >
GEvent & | operator= (_type &&_arg)
| 赋值：覆盖事件响应：使用单一构造参数指定的指定事件处理器。
GEvent & | operator+= (const HandlerType &h)
| 添加事件响应：使用 const 事件处理器和优先级。
GEvent & | operator+= (HandlerType &&h)
| 添加事件响应：使用事件处理器。
template<typename _type >
GEvent & | operator+= (_type &&_arg)
| 添加事件响应：目标为单一构造参数指定的指定事件处理器。
GEvent & | operator-= (const HandlerType &h)
| 移除事件响应：指定 const 事件处理器。
GEvent & | operator-= (HandlerType &&h)
| 移除事件响应：指定非 const 事件处理器。
template<typename _type >
GEvent & | operator-= (_type &&_arg)
| 移除事件响应：目标为单一构造参数指定的指定事件处理器。
GEvent & | Add (const HandlerType &h, EventPriority prior=DefaultEventPriority)
| 添加事件响应：使用 const 事件处理器和优先级。
GEvent & | Add (HandlerType &&h, EventPriority prior=DefaultEventPriority)
| 添加事件响应：使用非 const 事件处理器和优先级。
template<typename _type >
GEvent & | Add (_type &&_arg, EventPriority prior=DefaultEventPriority)
| 添加事件响应：使用单一构造参数指定的事件处理器和优先级。
template<class _tObj , class _type >
GEvent & | Add (_tObj &obj, void(_type::*pm)(EventArgsType), EventPriority prior=DefaultEventPriority)
| 添加事件响应：使用对象引用、成员函数指针和优先级。
template<class _tObj , class _type >
GEvent & | Remove (_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.hpp 第 209 行定义.

## 成员类型定义说明

template<typename _tRet , typename... _tParams>

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

容器类型。

自从
  build 294

在文件 yevt.hpp 第 220 行定义.

template<typename _tRet , typename... _tParams>

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

在文件 yevt.hpp 第 213 行定义.

template<typename _tRet , typename... _tParams>

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

在文件 yevt.hpp 第 214 行定义.

template<typename _tRet , typename... _tParams>

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

在文件 yevt.hpp 第 212 行定义.

template<typename _tRet , typename... _tParams>

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

在文件 yevt.hpp 第 221 行定义.

## 构造及析构函数说明

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.hpp 第 250 行定义.

参考 h , 以及 yforward.

## 成员函数说明

template<typename _tRet , typename... _tParams>

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

inline

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

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

自从
  build 294

在文件 yevt.hpp 第 343 行定义.

参考自 YSLib::AddUnique().

这是这个函数的调用关系图:
template<typename _tRet , typename... _tParams>

GEvent& YSLib::GEvent< _tRet(_tParams...)>::Add | ( | HandlerType && | h,
|  | EventPriority | prior = `DefaultEventPriority`
| ) |  |

inline

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

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

自从
  build 294

在文件 yevt.hpp 第 354 行定义.

参考 h.

template<typename _tRet , typename... _tParams>
template<typename _type >

GEvent& YSLib::GEvent< _tRet(_tParams...)>::Add | ( | _type && | _arg,
|  | EventPriority | prior = `DefaultEventPriority`
| ) |  |

inline

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

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

自从
  build 294

在文件 yevt.hpp 第 366 行定义.

参考 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.hpp 第 377 行定义.

template<typename _tRet , typename... _tParams>

void YSLib::GEvent< _tRet(_tParams...)>::Clear | ( |  | ) |

inline

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

在文件 yevt.hpp 第 447 行定义.

template<typename _tRet , typename... _tParams>

bool YSLib::GEvent< _tRet(_tParams...)>::Contains | ( | const HandlerType & | h | ) | const

inline

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

在文件 yevt.hpp 第 398 行定义.

参考 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.hpp 第 411 行定义.

参考 Contains() , 以及 yforward.

函数调用图:
template<typename _tRet , typename... _tParams>

SizeType YSLib::GEvent< _tRet(_tParams...)>::GetSize | ( |  | ) | const

inline

取列表中的响应数。

在文件 yevt.hpp 第 442 行定义.

template<typename _tRet , typename... _tParams>

SizeType YSLib::GEvent< _tRet(_tParams...)>::operator() | ( | _tParams... | args | ) | const

inline

调用事件处理器。

返回
  成功调用的事件处理器个数。

异常

  std::bad_function_call | 以外异常中立。

在文件 yevt.hpp 第 422 行定义.

参考 yforward.

template<typename _tRet , typename... _tParams>

GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator+= | ( | const HandlerType & | h | ) |

inline

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

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

在文件 yevt.hpp 第 281 行定义.

template<typename _tRet , typename... _tParams>

GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator+= | ( | HandlerType && | h | ) |

inline

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

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

在文件 yevt.hpp 第 290 行定义.

参考 h.

template<typename _tRet , typename... _tParams>
template<typename _type >

GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator+= | ( | _type && | _arg | ) |

inline

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

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

在文件 yevt.hpp 第 300 行定义.

参考 yforward.

template<typename _tRet , typename... _tParams>

GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator-= | ( | const HandlerType & | h | ) |

inline

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

在文件 yevt.hpp 第 309 行定义.

参考 h.

template<typename _tRet , typename... _tParams>

GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator-= | ( | HandlerType && | h | ) |

inline

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

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

在文件 yevt.hpp 第 322 行定义.

参考 h.

template<typename _tRet , typename... _tParams>
template<typename _type >

GEvent& YSLib::GEvent< _tRet(_tParams...)>::operator-= | ( | _type && | _arg | ) |

inline

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

自从
  build 293

在文件 yevt.hpp 第 332 行定义.

参考 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.hpp 第 271 行定义.

参考 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.hpp 第 389 行定义.

template<typename _tRet , typename... _tParams>

void YSLib::GEvent< _tRet(_tParams...)>::Swap | ( | GEvent< _tRet(_tParams...)> & | e | ) |

inline

在文件 yevt.hpp 第 453 行定义.

## 类成员变量说明

template<typename _tRet , typename... _tParams>

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

响应列表。

自从
  build 294

在文件 yevt.hpp 第 227 行定义.

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

- yevt.hpp