c++-gtk-utils
Public Member Functions
Cgu::Callback::Callback_function< FreeArgs > Class Template Reference

#include <callback.h>

Inheritance diagram for Cgu::Callback::Callback_function< FreeArgs >:
Cgu::Callback::CallbackArg< FreeArgs...>

List of all members.

Public Member Functions

void dispatch (typename Cgu::Param< FreeArgs >::ParamType...free_args) const
 Callback_function (const std::function< void(FreeArgs...)> &f_)
 Callback_function (std::function< void(FreeArgs...)> &&f_)
- Public Member Functions inherited from Cgu::Callback::CallbackArg< FreeArgs...>
 CallbackArg ()
virtual ~CallbackArg ()

Constructor & Destructor Documentation

template<class... FreeArgs>
Cgu::Callback::Callback_function< FreeArgs >::Callback_function ( const std::function< void(FreeArgs...)> &  f_)
inline
template<class... FreeArgs>
Cgu::Callback::Callback_function< FreeArgs >::Callback_function ( std::function< void(FreeArgs...)> &&  f_)
inline

Member Function Documentation

template<class... FreeArgs>
void Cgu::Callback::Callback_function< FreeArgs >::dispatch ( typename Cgu::Param< FreeArgs >::ParamType...  args) const
inlinevirtual

This will execute the referenced function or class method encapsulated by this class. It will only throw if the dispatched function or class method throws, or if the copy constructor of the free or a bound argument throws and it is not a reference argument. It is thread safe if the referenced function or class method is thread safe.

Parameters:
argsThe unbound arguments to be passed to the referenced function or class method, if any.
Note:
We use dispatch() to execute the callback, because the callback would normally be invoked through a base class pointer. To invoke it through operator()(), use the FunctorArg wrapper class.

Implements Cgu::Callback::CallbackArg< FreeArgs...>.


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