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

YSTest PreAlpha_b700_20160611 The YSLib Test Project

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

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

类 | Public 类型 | Public 成员函数 | Private 类型 | Private 属性 | 所有成员列表
YSLib::GHEvent< _tRet(_tParams...)> 模板类 参考

事件处理器接口模板。 更多...

`#include <YEvent.hpp>`

类 YSLib::GHEvent< _tRet(_tParams...)> 继承关系图:
[图例]
YSLib::GHEvent< _tRet(_tParams...)> 的协作图:
[图例]

## 类

struct | GEquality

## Public 类型

using | TupleType = tuple< _tParams... >
using | FuncType = _tRet(_tParams...)
using | BaseType = std::function< FuncType >

## Public 成员函数

yconstfn | GHEvent (FuncType *f={})
| 构造：使用函数指针。 更多...
template<class _fCallable >
yconstfn | GHEvent (_fCallable f, ystdex::enable_if_t< std::is_constructible< BaseType, _fCallable >::value, int >=0)
| 使用函数对象。 更多...
template<class _fCallable >
yconstfn | GHEvent (_fCallable &&f, ystdex::enable_if_t< !std::is_constructible< BaseType, _fCallable >::value, int >=0)
| 使用扩展函数对象。 更多...
template<class _type >
yconstfn | GHEvent (_type &obj, _tRet(_type::*pm)(_tParams...))
| 构造：使用对象引用和成员函数指针。 更多...
| DefDeCopyMoveCtorAssignment (GHEvent) friend yconstfn bool operator

## Private 类型

using | Comparer = bool(*)(const GHEvent &, const GHEvent &)
| 比较函数类型。 更多...

## 静态 Private 成员函数

template<typename _type >
static yconstfn Comparer | GetComparer (_type &x, _type &y, decltype(x==y)={}) ynothrow
template<typename _type , typename _tUnused >
static yconstfn Comparer | GetComparer (_type &, _tUnused &) ynothrow
static yconstfn bool | AreAlwaysEqual (const GHEvent &, const GHEvent &) ynothrow

## Private 属性

Comparer | comp_eq
| 比较函数：相等关系。 更多...

## 详细描述

### template<typename... _tParams>
class YSLib::GHEvent< _tRet(_tParams...)>

事件处理器接口模板。

自从
  build 333
  build 409

标准事件处理器模板。

注解
  若使用仿函数，可以不满足 `EqualityComparable` 的接口，即 可使用返回 `bool` 的 `operator==` ，但此模板类无法检查其语义正确性。

自从
  build 333

警告
  非虚析构。

在文件 YEvent.hpp 第 71 行定义.

## 成员类型定义说明

template<typename... _tParams>

using YSLib::GHEvent< _tRet(_tParams...)>::BaseType = std::function<FuncType>

在文件 YEvent.hpp 第 79 行定义.

template<typename... _tParams>

using YSLib::GHEvent< _tRet(_tParams...)>::Comparer = bool(*)(const GHEvent&, const GHEvent&)

private

比较函数类型。

在文件 YEvent.hpp 第 83 行定义.

template<typename... _tParams>

using YSLib::GHEvent< _tRet(_tParams...)>::FuncType = _tRet(_tParams...)

在文件 YEvent.hpp 第 78 行定义.

template<typename... _tParams>

using YSLib::GHEvent< _tRet(_tParams...)>::TupleType = tuple<_tParams...>

在文件 YEvent.hpp 第 77 行定义.

## 构造及析构函数说明

template<typename... _tParams>

yconstfn YSLib::GHEvent< _tRet(_tParams...)>::GHEvent | ( | FuncType * | f = `{}` | ) |

inline

构造：使用函数指针。

自从
  build 516

在文件 YEvent.hpp 第 116 行定义.

template<typename... _tParams>
template<class _fCallable >

yconstfn YSLib::GHEvent< _tRet(_tParams...)>::GHEvent | ( | _fCallable | f,
|  | ystdex::enable_if_t< std::is_constructible< BaseType, _fCallable >::value, int > | = `0`
| ) |  |

inline

使用函数对象。

自从
  build 494

在文件 YEvent.hpp 第 125 行定义.

template<typename... _tParams>
template<class _fCallable >

yconstfn YSLib::GHEvent< _tRet(_tParams...)>::GHEvent | ( | _fCallable && | f,
|  | ystdex::enable_if_t< !std::is_constructible< BaseType, _fCallable >::value, int > | = `0`
| ) |  |

inline

使用扩展函数对象。

自从
  build 447

待办事项:
  推断比较相等操作。

在文件 YEvent.hpp 第 136 行定义.

template<typename... _tParams>
template<class _type >

yconstfn YSLib::GHEvent< _tRet(_tParams...)>::GHEvent | ( | _type & | obj,
|  | _tRet(_type::*)(_tParams...) | pm
| ) |  |

inline

构造：使用对象引用和成员函数指针。

警告
  使用空成员指针构造的函数对象调用引起未定义行为。

自从
  build 413

在文件 YEvent.hpp 第 148 行定义.

参考 CHRLib::args , 以及 yforward.

## 成员函数说明

template<typename... _tParams>

static yconstfn bool YSLib::GHEvent< _tRet(_tParams...)>::AreAlwaysEqual | ( | const GHEvent< _tRet(_tParams...)> & | ,
|  | const GHEvent< _tRet(_tParams...)> & |
| ) |  |

inlinestaticprivate

在文件 YEvent.hpp 第 193 行定义.

template<typename... _tParams>

YSLib::GHEvent< _tRet(_tParams...)>::DefDeCopyMoveCtorAssignment | ( | GHEvent< _tRet(_tParams...)> |  | ) | const

自从
  build 520

template<typename... _tParams>
template<typename _type >

static yconstfn Comparer YSLib::GHEvent< _tRet(_tParams...)>::GetComparer | ( | _type & | x,
|  | _type & | y,
|  | decltype(x==y) | = `{}`
| ) |  |

inlinestaticprivate

自从
  build 319

在文件 YEvent.hpp 第 181 行定义.

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

static yconstfn Comparer YSLib::GHEvent< _tRet(_tParams...)>::GetComparer | ( | _type & | ,
|  | _tUnused & |
| ) |  |

inlinestaticprivate

在文件 YEvent.hpp 第 187 行定义.

## 类成员变量说明

template<typename... _tParams>

Comparer YSLib::GHEvent< _tRet(_tParams...)>::comp_eq

private

比较函数：相等关系。

在文件 YEvent.hpp 第 108 行定义.

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

- YEvent.hpp