aether::closure< R(Args...)> Class Template Reference

#include <closure.hh>

Public Types

using result_type = R
 

Public Member Functions

 closure ()=default
 
template<typename Lambda , typename... SuppliedArgs>
 closure (const Lambda &lambda, SuppliedArgs &&...args)
 
template<typename... FunctionArgs, typename... SuppliedArgs>
 closure (result_type(*function_)(FunctionArgs...), SuppliedArgs &&...args)
 
result_type operator() (Args &&...args) const
 
template<typename SD >
void serde_visit (SD &sd)
 

Member Typedef Documentation

template<typename R , typename... Args>
using aether::closure< R(Args...)>::result_type = R

Constructor & Destructor Documentation

template<typename R , typename... Args>
aether::closure< R(Args...)>::closure ( )
default
template<typename R , typename... Args>
template<typename Lambda , typename... SuppliedArgs>
aether::closure< R(Args...)>::closure ( const Lambda &  lambda,
SuppliedArgs &&...  args 
)
inline
template<typename R , typename... Args>
template<typename... FunctionArgs, typename... SuppliedArgs>
aether::closure< R(Args...)>::closure ( result_type(*)(FunctionArgs...)  function_,
SuppliedArgs &&...  args 
)
inline

Member Function Documentation

template<typename R , typename... Args>
result_type aether::closure< R(Args...)>::operator() ( Args &&...  args) const
inline
template<typename R , typename... Args>
template<typename SD >
void aether::closure< R(Args...)>::serde_visit ( SD &  sd)
inline