NIM PC Cross Platform SDK
nim::CallbackProxy Class Reference

Static Public Member Functions

template<typename TCallback , typename TDoCall >
static auto DoSafeCallback (const void *callback, const TDoCall &closure, bool delete_callback=false) -> decltype(closure((*(TCallback *)(callback))))
 
template<class F , class... Args, class = typename std::enable_if<!std::is_member_function_pointer<F>::value>::type>
static auto Invoke (F &&f, Args &&... args) -> decltype(f(std::forward< Args >(args)...))
 
template<class R , class C , class... DArgs, class P , class... Args>
static R Invoke (R(C::*f)(DArgs...) const, P &&p, Args &&... args)
 
template<class R , class C , class... DArgs, class P , class... Args>
static R Invoke (R(C::*f)(DArgs...), P &&p, Args &&... args)
 

Static Public Attributes

static std::function< void(const std::function< void()> &)> docallback_async_ = nullptr
 

Static Protected Member Functions

template<typename TR >
static TR Run (const CallbackProxyClosure< TR > &task)
 
template<>
void Run (const CallbackProxyClosure< void > &task)
 
template<>
void Run (const CallbackProxyClosure< void > &task)
 

The documentation for this class was generated from the following files: