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