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

#include <yevt.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...))
 构造:使用对象引用和成员函数指针。 更多...
 

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 _tRet, typename... _tParams>
class YSLib::GHEvent< _tRet(_tParams...)>

警告
非虚析构。

在文件 yevt.hpp65 行定义.

成员类型定义说明

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

在文件 yevt.hpp71 行定义.

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

比较函数类型。

在文件 yevt.hpp75 行定义.

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

在文件 yevt.hpp70 行定义.

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

在文件 yevt.hpp69 行定义.

构造及析构函数说明

template<typename _tRet , typename... _tParams>
yconstfn YSLib::GHEvent< _tRet(_tParams...)>::GHEvent ( FuncType f)
inline

构造:使用函数指针。

自从
build 351

在文件 yevt.hpp111 行定义.

template<typename _tRet , 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

在文件 yevt.hpp120 行定义.

template<typename _tRet , 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
待办事项:
推断比较相等操作。

在文件 yevt.hpp131 行定义.

template<typename _tRet , typename... _tParams>
template<class _type >
yconstfn YSLib::GHEvent< _tRet(_tParams...)>::GHEvent ( _type &  obj,
_tRet(_type::*)(_tParams...)  pm 
)
inline

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

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

在文件 yevt.hpp143 行定义.

参考 YSLib::UI::args , 以及 yforward.

成员函数说明

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

在文件 yevt.hpp191 行定义.

template<typename _tRet , typename... _tParams>
template<typename _type >
static yconstfn Comparer YSLib::GHEvent< _tRet(_tParams...)>::GetComparer ( _type &  x,
_type &  y,
decltype(x==y)  = {} 
)
inlinestaticprivate
自从
build 319

在文件 yevt.hpp179 行定义.

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

在文件 yevt.hpp185 行定义.

类成员变量说明

template<typename _tRet , typename... _tParams>
Comparer YSLib::GHEvent< _tRet(_tParams...)>::comp_eq
private

比较函数:相等关系。

在文件 yevt.hpp103 行定义.


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