34 #include "../api_core.h"
63 template<
class SigClass>
64 void connect(SigClass &sig,
void (*func)())
66 slots.push_back(sig.connect(func));
70 template<
class SigClass,
class Class>
71 void connect(SigClass &sig, Class *
self,
void(Class::*func)())
73 slots.push_back(sig.connect(
self, func));
78 template<
class SigClass,
class UserData>
79 void connect(SigClass &sig,
void(*func)(UserData), UserData user_data)
81 slots.push_back(sig.connect(func, user_data));
86 template<
class SigClass,
class Class,
class UserData>
87 void connect(SigClass &sig, Class *
self,
void(Class::*func)(UserData), UserData user_data)
89 slots.push_back(sig.connect(
self, func, user_data));
93 template<
class SigClass,
class Param1>
94 void connect(SigClass &sig,
void(*func)(Param1))
96 slots.push_back(sig.connect(func));
100 template<
class SigClass,
class Class,
class Param1>
101 void connect(SigClass &sig, Class *
self,
void(Class::*func)(Param1))
103 slots.push_back(sig.connect(
self, func));
108 template<
class SigClass,
class Param1,
class UserData>
109 void connect(SigClass &sig,
void(*func)(Param1, UserData), UserData user_data)
111 slots.push_back(sig.connect(func, user_data));
116 template<
class SigClass,
class Class,
class Param1,
class UserData>
117 void connect(SigClass &sig, Class *
self,
void(Class::*func)(Param1, UserData), UserData user_data)
119 slots.push_back(sig.connect(
self, func, user_data));
123 template<
class SigClass,
class Param1,
class Param2>
124 void connect(SigClass &sig,
void(*func)(Param1, Param2))
126 slots.push_back(sig.connect(func));
130 template<
class SigClass,
class Class,
class Param1,
class Param2>
131 void connect(SigClass &sig, Class *
self,
void(Class::*func)(Param1, Param2))
133 slots.push_back(sig.connect(
self, func));
138 template<
class SigClass,
class Param1,
class Param2,
class UserData>
139 void connect(SigClass &sig,
void(*func)(Param1, Param2, UserData), UserData user_data)
141 slots.push_back(sig.connect(func, user_data));
146 template<
class SigClass,
class Class,
class Param1,
class Param2,
class UserData>
147 void connect(SigClass &sig, Class *
self,
void(Class::*func)(Param1, Param2, UserData), UserData user_data)
149 slots.push_back(sig.connect(
self, func, user_data));
153 template<
class SigClass,
class Param1,
class Param2,
class Param3>
154 void connect(SigClass &sig,
void(*func)(Param1, Param2, Param3))
156 slots.push_back(sig.connect(func));
160 template<
class SigClass,
class Class,
class Param1,
class Param2,
class Param3>
161 void connect(SigClass &sig, Class *
self,
void(Class::*func)(Param1, Param2, Param3))
163 slots.push_back(sig.connect(
self, func));
168 template<
class SigClass,
class Param1,
class Param2,
class Param3,
class UserData>
169 void connect(SigClass &sig,
void(*func)(Param1, Param2, Param3, UserData), UserData user_data)
171 slots.push_back(sig.connect(func, user_data));
176 template<
class SigClass,
class Class,
class Param1,
class Param2,
class Param3,
class UserData>
177 void connect(SigClass &sig, Class *
self,
void(Class::*func)(Param1, Param2, Param3, UserData), UserData user_data)
179 slots.push_back(sig.connect(
self, func, user_data));
183 template<
class SigClass,
class Param1,
class Param2,
class Param3,
class Param4>
184 void connect(SigClass &sig,
void(*func)(Param1, Param2, Param3, Param4))
186 slots.push_back(sig.connect(func));
190 template<
class SigClass,
class Class,
class Param1,
class Param2,
class Param3,
class Param4>
191 void connect(SigClass &sig, Class *
self,
void(Class::*func)(Param1, Param2, Param3, Param4))
193 slots.push_back(sig.connect(
self, func));
198 template<
class SigClass,
class Param1,
class Param2,
class Param3,
class Param4,
class UserData>
199 void connect(SigClass &sig,
void(*func)(Param1, Param2, Param3, Param4, UserData user_data), UserData user_data)
201 slots.push_back(sig.connect(func, user_data));
206 template<
class SigClass,
class Class,
class Param1,
class Param2,
class Param3,
class Param4,
class UserData>
207 void connect(SigClass &sig, Class *
self,
void(Class::*func)(Param1, Param2, Param3, Param4, UserData user_data), UserData user_data)
209 slots.push_back(sig.connect(
self, func, user_data));
213 template<
class SigClass,
class Param1,
class Param2,
class Param3,
class Param4,
class Param5>
214 void connect(SigClass &sig,
void(*func)(Param1, Param2, Param3, Param4, Param5))
216 slots.push_back(sig.connect(func));
220 template<
class SigClass,
class Class,
class Param1,
class Param2,
class Param3,
class Param4,
class Param5>
221 void connect(SigClass &sig, Class *
self,
void(Class::*func)(Param1, Param2, Param3, Param4, Param5))
223 slots.push_back(sig.connect(
self, func));
228 template<
class SigClass,
class Param1,
class Param2,
class Param3,
class Param4,
class Param5,
class UserData>
229 void connect(SigClass &sig,
void(*func)(Param1, Param2, Param3, Param4, Param5, UserData user_data), UserData user_data)
231 slots.push_back(sig.connect(func, user_data));
236 template<
class SigClass,
class Class,
class Param1,
class Param2,
class Param3,
class Param4,
class Param5,
class UserData>
237 void connect(SigClass &sig, Class *
self,
void(Class::*func)(Param1, Param2, Param3, Param4, Param5, UserData user_data), UserData user_data)
239 slots.push_back(sig.connect(
self, func, user_data));
243 template<
class SigClass,
class Functor>
246 slots.push_back(sig.connect_functor(functor));
250 std::vector<CL_Slot> slots;