#include <callback.h>
|
typedef void(T::* | MemFunc) (BoundArg1, BoundArg2, BoundArg3, BoundArg4, BoundArg5, FreeArgs...) |
|
|
void | dispatch (typename Cgu::Param< FreeArgs >::ParamType... free_args) const |
|
template<class Arg1 , class Arg2 , class Arg3 , class Arg4 , class Arg5 > |
| Callback5 (T &obj_, MemFunc func_, Arg1 &&arg1_, Arg2 &&arg2_, Arg3 &&arg3_, Arg4 &&arg4_, Arg5 &&arg5_) |
|
| CallbackArg () |
|
virtual | ~CallbackArg () |
|
◆ MemFunc
template<bool unref, class T , class BoundArg1 , class BoundArg2 , class BoundArg3 , class BoundArg4 , class BoundArg5 , class... FreeArgs>
typedef void(T::* Cgu::Callback::Callback5< unref, T, BoundArg1, BoundArg2, BoundArg3, BoundArg4, BoundArg5, FreeArgs >::MemFunc) (BoundArg1, BoundArg2, BoundArg3, BoundArg4, BoundArg5, FreeArgs...) |
◆ Callback5()
template<bool unref, class T , class BoundArg1 , class BoundArg2 , class BoundArg3 , class BoundArg4 , class BoundArg5 , class... FreeArgs>
template<class Arg1 , class Arg2 , class Arg3 , class Arg4 , class Arg5 >
Cgu::Callback::Callback5< unref, T, BoundArg1, BoundArg2, BoundArg3, BoundArg4, BoundArg5, FreeArgs >::Callback5 |
( |
T & |
obj_, |
|
|
MemFunc |
func_, |
|
|
Arg1 && |
arg1_, |
|
|
Arg2 && |
arg2_, |
|
|
Arg3 && |
arg3_, |
|
|
Arg4 && |
arg4_, |
|
|
Arg5 && |
arg5_ |
|
) |
| |
|
inline |
◆ dispatch()
template<bool unref, class T , class BoundArg1 , class BoundArg2 , class BoundArg3 , class BoundArg4 , class BoundArg5 , class... FreeArgs>
void Cgu::Callback::Callback5< unref, T, BoundArg1, BoundArg2, BoundArg3, BoundArg4, BoundArg5, FreeArgs >::dispatch |
( |
typename Cgu::Param< FreeArgs >::ParamType... |
args | ) |
const |
|
inlinevirtual |
This will execute the referenced function, callable object or class method encapsulated by this class. It will only throw if the dispatched function, callable object or class method throws, or if the copy constructor of a free or 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
-
args | The unbound arguments to be passed to the referenced function, callable object 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 or SafeFunctorArg wrapper class.
Implements Cgu::Callback::CallbackArg< FreeArgs... >.
The documentation for this class was generated from the following file: