34 #include "../System/exception.h"
35 #include "../System/sharedptr.h"
46 virtual void invoke()
const = 0;
69 template <
typename UserData>
91 template <
typename InstanceClass>
97 : instance(instance), member_func(member_func)
108 void (InstanceClass::*member_func)();
113 template <
typename InstanceClass,
typename UserData>
119 : instance(instance), member_func(member_func), user_data(user_data)
130 void (InstanceClass::*member_func)(UserData);
137 template <
class Functor>
179 template<
typename UserData>
185 template<
class InstanceClass>
191 template<
class InstanceClass,
typename UserData>
192 CL_Callback_v0(InstanceClass *instance,
void (InstanceClass::*
function)(UserData),
const UserData &user_data)
197 void set(
void (*
function)())
202 template<
typename UserData>
203 void set(
void (*
function)(UserData),
const UserData &user_data)
208 template<
class InstanceClass>
209 void set(InstanceClass *instance,
void (InstanceClass::*
function)())
214 template<
class InstanceClass,
typename UserData>
215 void set(InstanceClass *instance,
void (InstanceClass::*
function)(UserData),
const UserData &user_data)
222 impl = CL_SharedPtr< CL_Callback_Impl_v0 >();
236 CL_SharedPtr< CL_Callback_Impl_v0 > impl;
254 template<
class Functor>