32 #include "../System/exception.h"
41 template <
typename RetVal,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
49 virtual RetVal
invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
const = 0;
53 template <
typename RetVal,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
62 RetVal
invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
const
71 template <
typename RetVal,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename UserData>
81 RetVal
invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
const
92 template <
typename RetVal,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename InstanceClass>
97 RetVal (InstanceClass::*
member_func)(P1, P2, P3, P4, P5, P6))
98 : instance(instance), member_func(member_func)
102 RetVal
invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
const
104 return (instance->*member_func)(p1, p2, p3, p4, p5, p6);
109 RetVal (InstanceClass::*member_func)(P1, P2, P3, P4, P5, P6);
113 template <
typename RetVal,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename InstanceClass,
typename UserData>
119 : instance(instance), member_func(member_func), user_data(user_data)
123 RetVal
invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
const
125 return (instance->*member_func)(p1, p2, p3, p4, p5, p6,
user_data);
130 RetVal (InstanceClass::*member_func)(P1, P2, P3, P4, P5, P6,
UserData);
136 template <
typename RetVal,
class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class Functor>
145 RetVal
invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
const
147 return functor(p1, p2, p3, p4, p5, p6);
155 template <
typename RetVal,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
178 template<
typename UserData>
184 template<
class InstanceClass>
185 Callback_6(InstanceClass *instance, RetVal (InstanceClass::*
function)(P1, P2, P3, P4, P5, P6))
190 template<
class InstanceClass,
typename UserData>
192 : impl(new
Callback_Impl_6_member_user<RetVal, P1, P2, P3, P4, P5, P6, InstanceClass,
UserData>(instance, function, user_data))
196 void set(RetVal (*
function)(P1, P2, P3, P4, P5, P6))
198 impl = std::shared_ptr< Callback_Impl_6<RetVal, P1, P2, P3, P4, P5, P6> >(
new Callback_Impl_6_static<RetVal, P1, P2, P3, P4, P5, P6>(
function));
201 template<
typename UserData>
204 impl = std::shared_ptr< Callback_Impl_6<RetVal, P1, P2, P3, P4, P5, P6> >(
new Callback_Impl_6_static_user<RetVal, P1, P2, P3, P4, P5, P6, UserData>(
function, user_data));
207 template<
class InstanceClass>
208 void set(InstanceClass *instance, RetVal (InstanceClass::*
function)(P1, P2, P3, P4, P5, P6))
210 impl = std::shared_ptr< Callback_Impl_6<RetVal, P1, P2, P3, P4, P5, P6> >(
new Callback_Impl_6_member<RetVal, P1, P2, P3, P4, P5, P6, InstanceClass>(instance,
function));
213 template<
class InstanceClass,
typename UserData>
214 void set(InstanceClass *instance, RetVal (InstanceClass::*
function)(P1, P2, P3, P4, P5, P6,
UserData),
const UserData &user_data)
216 impl = std::shared_ptr< Callback_Impl_6<RetVal, P1, P2, P3, P4, P5, P6> >(
new Callback_Impl_6_member_user<RetVal, P1, P2, P3, P4, P5, P6, InstanceClass, UserData>(instance,
function, user_data));
221 impl = std::shared_ptr< Callback_Impl_6<RetVal, P1, P2, P3, P4, P5, P6> >();
224 RetVal
invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
const
226 return impl->invoke(p1, p2, p3, p4, p5, p6);
235 std::shared_ptr< Callback_Impl_6<RetVal, P1, P2, P3, P4, P5, P6> > impl;
240 template <
typename RetVal,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
249 :
Callback_6<RetVal, P1, P2, P3, P4, P5, P6>(copy)
253 template<
class Functor>
255 :
Callback_6<RetVal, P1, P2, P3, P4, P5, P6>(new
Callback_Impl_6_functor<RetVal, P1, P2, P3, P4, P5, P6, Functor>(functor))
RetVal invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) const
Definition: callback_6.h:145
virtual RetVal invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) const =0
Callback_6(RetVal(*function)(P1, P2, P3, P4, P5, P6, UserData), const UserData &user_data)
Definition: callback_6.h:179
RetVal(InstanceClass::* member_func)(P1, P2, P3, P4, P5, P6, UserData)
Definition: callback_6.h:130
Callback_Impl_6_functor(Functor functor)
Definition: callback_6.h:140
RetVal invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) const
Definition: callback_6.h:62
Callback_6(Callback_Impl_6< RetVal, P1, P2, P3, P4, P5, P6 > *impl)
Definition: callback_6.h:168
(Internal ClanLib Class)
Definition: callback_6.h:93
void set(InstanceClass *instance, RetVal(InstanceClass::*function)(P1, P2, P3, P4, P5, P6, UserData), const UserData &user_data)
Definition: callback_6.h:214
Callback_Impl_6_static_user(RetVal(*static_func)(P1, P2, P3, P4, P5, P6, UserData), const UserData &user_data)
Definition: callback_6.h:75
(Internal ClanLib Class)
Definition: callback_6.h:72
UserData user_data
Definition: callback_6.h:132
RetVal invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) const
Definition: callback_6.h:224
virtual ~Callback_Impl_6()
Definition: callback_6.h:45
InstanceClass * instance
Definition: callback_6.h:107
Functor functor
Definition: callback_6.h:150
Callback_6_functor()
Definition: callback_6.h:244
Callback_6.
Definition: callback_6.h:156
void set(RetVal(*function)(P1, P2, P3, P4, P5, P6))
Definition: callback_6.h:196
Callback_Impl_6_static(RetVal(*static_func)(P1, P2, P3, P4, P5, P6))
Definition: callback_6.h:57
Callback_6(InstanceClass *instance, RetVal(InstanceClass::*function)(P1, P2, P3, P4, P5, P6))
Definition: callback_6.h:185
Definition: userdata.h:47
Callback_6_functor(const Callback_6_functor ©)
Definition: callback_6.h:248
(Internal ClanLib Class)
Definition: callback_6.h:114
Callback_6_functor(Functor functor)
Definition: callback_6.h:254
RetVal(* static_func)(P1, P2, P3, P4, P5, P6, UserData)
Definition: callback_6.h:86
InstanceClass * instance
Definition: callback_6.h:128
Callback_6(InstanceClass *instance, RetVal(InstanceClass::*function)(P1, P2, P3, P4, P5, P6, UserData), const UserData &user_data)
Definition: callback_6.h:191
(Internal ClanLib Class)
Definition: callback_6.h:137
UserData user_data
Definition: callback_6.h:88
bool is_null() const
Definition: callback_6.h:229
Callback_Impl_6_member(InstanceClass *instance, RetVal(InstanceClass::*member_func)(P1, P2, P3, P4, P5, P6))
Definition: callback_6.h:96
Callback_6(RetVal(*function)(P1, P2, P3, P4, P5, P6))
Definition: callback_6.h:173
Callback_6_functor.
Definition: callback_6.h:241
void set(RetVal(*function)(P1, P2, P3, P4, P5, P6, UserData), const UserData &user_data)
Definition: callback_6.h:202
Callback_6()
Definition: callback_6.h:159
Callback_Impl_6_member_user(InstanceClass *instance, RetVal(InstanceClass::*member_func)(P1, P2, P3, P4, P5, P6, UserData), const UserData &user_data)
Definition: callback_6.h:117
RetVal invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) const
Definition: callback_6.h:123
RetVal(* static_func)(P1, P2, P3, P4, P5, P6)
Definition: callback_6.h:67
(Internal ClanLib Class)
Definition: callback_6.h:54
Callback_6(const Callback_6 ©)
Definition: callback_6.h:163
RetVal invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) const
Definition: callback_6.h:102
RetVal invoke(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) const
Definition: callback_6.h:81
(Internal ClanLib Class)
Definition: callback_6.h:42
void clear()
Definition: callback_6.h:219
void set(InstanceClass *instance, RetVal(InstanceClass::*function)(P1, P2, P3, P4, P5, P6))
Definition: callback_6.h:208
RetVal(InstanceClass::* member_func)(P1, P2, P3, P4, P5, P6)
Definition: callback_6.h:109