easyx_framework V1.0.0
基于easyx的c++游戏框架
 
载入中...
搜索中...
未找到
UniCastDelegate< R, Args > 模板类 参考

单播委托. 更多...

#include <Delegate.h>

Public 成员函数

void Bind (std::function< R(Args...)> callback)
 进行绑定
 
template<typename T >
void Bind (T *obj, R(T::*func)(Args...))
 
void UnBind ()
 解除绑定
 
bool IsBinded () const
 是否有绑定的函数
 
Execute (Args... args)
 单播执行
 
operator() (Args... args)
 

Private 属性

std::function< R(Args...)> callback
 这里Args...对类型参数列表进行扩展 定义的时候
 

详细描述

template<typename R = void, typename... Args>
class UniCastDelegate< R, Args >

单播委托.

UniCastDelegate<返回值类型,参数类型...>

参见
DECLARE_MULTI_PARAM_WITH_RETURN_UNICAST_DELEGATE(name,R,...)
DECLARE_NO_PARAM_WITH_RETURN_UNICAST_DELEGATE(name,R)
DECLARE_MULTI_PARAM_UNICAST_DELEGATE(name,...)
DECLARE_NO_PARAM_UNICAST_DELEGATE(name

成员函数说明

◆ Bind() [1/2]

template<typename R = void, typename... Args>
void UniCastDelegate< R, Args >::Bind ( std::function< R(Args...)> callback)
inline

进行绑定

参数
[in]callback[lambda函数]

◆ Bind() [2/2]

template<typename R = void, typename... Args>
template<typename T >
void UniCastDelegate< R, Args >::Bind ( T * obj,
R(T::* func )(Args...) )
inline
参数
[in]obj函数对象
[in]func函数指针

◆ Execute()

template<typename R , typename ... Args>
R UniCastDelegate< R, Args >::Execute ( Args... args)
inline

单播执行

参数
[in]args需要的参数

◆ IsBinded()

template<typename R = void, typename... Args>
bool UniCastDelegate< R, Args >::IsBinded ( ) const
inline

是否有绑定的函数

◆ operator()()

template<typename R = void, typename... Args>
R UniCastDelegate< R, Args >::operator() ( Args... args)
inline
参数
[in]args需要的参数

◆ UnBind()

template<typename R = void, typename... Args>
void UniCastDelegate< R, Args >::UnBind ( )
inline

解除绑定

类成员变量说明

◆ callback

template<typename R = void, typename... Args>
std::function<R(Args...)> UniCastDelegate< R, Args >::callback
private

这里Args...对类型参数列表进行扩展 定义的时候