32 #include "../System/exception.h"
41 template <
typename RetVal>
49 virtual RetVal
invoke()
const = 0;
53 template <
typename RetVal>
71 template <
typename RetVal,
typename UserData>
92 template <
typename RetVal,
typename InstanceClass>
98 : instance(instance), member_func(member_func)
104 return (instance->*member_func)();
109 RetVal (InstanceClass::*member_func)();
113 template <
typename RetVal,
typename InstanceClass,
typename UserData>
119 : instance(instance), member_func(member_func), user_data(user_data)
125 return (instance->*member_func)(
user_data);
136 template <
typename RetVal,
class Functor>
155 template <
typename RetVal>
178 template<
typename UserData>
184 template<
class InstanceClass>
185 Callback_0(InstanceClass *instance, RetVal (InstanceClass::*
function)())
190 template<
class InstanceClass,
typename UserData>
196 void set(RetVal (*
function)())
201 template<
typename UserData>
207 template<
class InstanceClass>
208 void set(InstanceClass *instance, RetVal (InstanceClass::*
function)())
213 template<
class InstanceClass,
typename UserData>
221 impl = std::shared_ptr< Callback_Impl_0<RetVal> >();
226 return impl->invoke();
235 std::shared_ptr< Callback_Impl_0<RetVal> > impl;
240 template <
typename RetVal>
253 template<
class Functor>
Functor functor
Definition: callback_0.h:150
RetVal invoke() const
Definition: callback_0.h:224
(Internal ClanLib Class)
Definition: callback_0.h:42
Callback_Impl_0_member_user(InstanceClass *instance, RetVal(InstanceClass::*member_func)(UserData), const UserData &user_data)
Definition: callback_0.h:117
Callback_Impl_0_static(RetVal(*static_func)())
Definition: callback_0.h:57
RetVal(InstanceClass::* member_func)(UserData)
Definition: callback_0.h:130
RetVal invoke() const
Definition: callback_0.h:145
InstanceClass * instance
Definition: callback_0.h:107
virtual ~Callback_Impl_0()
Definition: callback_0.h:45
Callback_0_functor.
Definition: callback_0.h:241
(Internal ClanLib Class)
Definition: callback_0.h:93
Callback_0_functor(const Callback_0_functor ©)
Definition: callback_0.h:248
Callback_Impl_0_static_user(RetVal(*static_func)(UserData), const UserData &user_data)
Definition: callback_0.h:75
bool is_null() const
Definition: callback_0.h:229
UserData user_data
Definition: callback_0.h:88
(Internal ClanLib Class)
Definition: callback_0.h:72
RetVal invoke() const
Definition: callback_0.h:81
virtual RetVal invoke() const =0
(Internal ClanLib Class)
Definition: callback_0.h:137
void set(RetVal(*function)())
Definition: callback_0.h:196
Callback_0.
Definition: callback_0.h:156
Callback_0_functor(Functor functor)
Definition: callback_0.h:254
RetVal(InstanceClass::* member_func)()
Definition: callback_0.h:109
Callback_0(const Callback_0 ©)
Definition: callback_0.h:163
InstanceClass * instance
Definition: callback_0.h:128
Definition: userdata.h:47
Callback_0(RetVal(*function)())
Definition: callback_0.h:173
Callback_0_functor()
Definition: callback_0.h:244
(Internal ClanLib Class)
Definition: callback_0.h:114
void set(InstanceClass *instance, RetVal(InstanceClass::*function)())
Definition: callback_0.h:208
Callback_0(InstanceClass *instance, RetVal(InstanceClass::*function)(UserData), const UserData &user_data)
Definition: callback_0.h:191
RetVal(* static_func)(UserData)
Definition: callback_0.h:86
Callback_0(RetVal(*function)(UserData), const UserData &user_data)
Definition: callback_0.h:179
RetVal(* static_func)()
Definition: callback_0.h:67
RetVal invoke() const
Definition: callback_0.h:123
Callback_Impl_0_functor(Functor functor)
Definition: callback_0.h:140
void set(InstanceClass *instance, RetVal(InstanceClass::*function)(UserData), const UserData &user_data)
Definition: callback_0.h:214
Callback_0(InstanceClass *instance, RetVal(InstanceClass::*function)())
Definition: callback_0.h:185
(Internal ClanLib Class)
Definition: callback_0.h:54
void clear()
Definition: callback_0.h:219
UserData user_data
Definition: callback_0.h:132
RetVal invoke() const
Definition: callback_0.h:102
void set(RetVal(*function)(UserData), const UserData &user_data)
Definition: callback_0.h:202
Callback_0(Callback_Impl_0< RetVal > *impl)
Definition: callback_0.h:168
Callback_0()
Definition: callback_0.h:159
Callback_Impl_0_member(InstanceClass *instance, RetVal(InstanceClass::*member_func)())
Definition: callback_0.h:96
RetVal invoke() const
Definition: callback_0.h:62