22 #ifndef _SPRINT_THREAD_bind_H
23 #define _SPRINT_THREAD_bind_H
46 template<
typename T,
typename R, R (T::*F)(
void)>
47 inline thread_function thread_bind(T * obj)
49 return thread_function( sprint::detail::embedded_mem_fun<R,T,F>, reinterpret_cast<void *>(obj));
56 inline thread_function thread_bind(R (*Proc)())
62 inline thread_function thread_bind(
void (*Proc)())
68 template<
class R,
class A1,
class P1>
69 inline thread_function thread_bind(R (*Proc)(A1), P1 p1)
74 template<
class A1,
class P1>
75 inline thread_function thread_bind(
void (*Proc)(A1), P1 p1)
81 template<
class R,
class A1,
class A2,
class P1,
class P2>
82 inline thread_function thread_bind(R (*Proc)(A1, A2), P1 p1, P2 p2)
87 template<
class A1,
class A2,
class P1,
class P2>
88 inline thread_function thread_bind(
void (*Proc)(A1, A2), P1 p1, P2 p2)
94 template<
class R,
class A1,
class A2,
class A3,
class P1,
class P2,
class P3>
95 inline thread_function thread_bind(R (*Proc)(A1, A2, A3), P1 p1, P2 p2, P3 p3)
100 template<
class A1,
class A2,
class A3,
class P1,
class P2,
class P3>
101 inline thread_function thread_bind(
void (*Proc)(A1, A2, A3), P1 p1, P2 p2, P3 p3)
107 template<
class R,
class A1,
class A2,
class A3,
class A4,
class P1,
class P2,
class P3,
class P4>
108 inline thread_function thread_bind(R (*Proc)(A1, A2, A3, A4), P1 p1, P2 p2, P3 p3, P4 p4)
113 template<
class A1,
class A2,
class A3,
class A4,
class P1,
class P2,
class P3,
class P4>
114 inline thread_function thread_bind(
void (*Proc)(A1, A2, A3, A4), P1 p1, P2 p2, P3 p3, P4 p4)
120 template<
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
121 class P1,
class P2,
class P3,
class P4,
class P5>
122 inline thread_function thread_bind(R (*Proc)(A1, A2, A3, A4, A5), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5)
124 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_5<R, P1, P2, P3, P4, P5> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5) ));
127 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class P1,
class P2,
class P3,
class P4,
class P5>
128 inline thread_function thread_bind(
void (*Proc)(A1, A2, A3, A4, A5), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5)
130 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_5<void, P1, P2, P3, P4, P5> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5) ));
134 template<
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
135 class P1,
class P2,
class P3,
class P4,
class P5,
class P6>
136 inline thread_function thread_bind(R (*Proc)(A1, A2, A3, A4, A5, A6), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
138 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_6<R, P1, P2, P3, P4, P5, P6> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6) ));
141 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class P1,
class P2,
class P3,
class P4,
class P5,
class P6>
142 inline thread_function thread_bind(
void (*Proc)(A1, A2, A3, A4, A5, A6), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
144 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_6<void, P1, P2, P3, P4, P5, P6> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6) ));
148 template<
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
149 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7>
150 inline thread_function thread_bind(R (*Proc)(A1, A2, A3, A4, A5, A6, A7), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7)
152 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_7<R, P1, P2, P3, P4, P5, P6, P7> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7) ));
155 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7>
156 inline thread_function thread_bind(
void (*Proc)(A1, A2, A3, A4, A5, A6, A7), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7)
158 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_7<void, P1, P2, P3, P4, P5, P6, P7> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7) ));
162 template<
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
163 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8>
164 inline thread_function thread_bind(R (*Proc)(A1, A2, A3, A4, A5, A6, A7, A8), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8)
166 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_8<R, P1, P2, P3, P4, P5, P6, P7, P8> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7, p8) ));
169 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8>
170 inline thread_function thread_bind(
void (*Proc)(A1, A2, A3, A4, A5, A6, A7, A8), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8)
172 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_8<void, P1, P2, P3, P4, P5, P6, P7, P8> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7, p8) ));
176 template<
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
177 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9>
178 inline thread_function thread_bind(R (*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9)
180 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_9<R, P1, P2, P3, P4, P5, P6, P7, P8, P9> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7, p8, p9) ));
183 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9>
184 inline thread_function thread_bind(
void (*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9)
186 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_9<void, P1, P2, P3, P4, P5, P6, P7, P8, P9> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7, p8, p9) ));
190 template<
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
191 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9,
class P10>
192 inline thread_function thread_bind(R (*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10)
194 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_10<R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) ));
197 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9,
class P10>
198 inline thread_function thread_bind(
void (*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10)
200 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_10<void, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) ));
204 template<
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
205 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9,
class P10,
class P11>
206 inline thread_function thread_bind(R (*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11)
208 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_11<R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) ));
211 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9,
class P10,
class P11>
212 inline thread_function thread_bind(
void (*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11)
214 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_11<void, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) ));
218 template<
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
class A12,
219 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9,
class P10,
class P11,
class P12>
220 inline thread_function thread_bind(R (*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11, P12 p12)
222 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_12<R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) ));
225 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
class A12,
class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9,
class P10,
class P11,
class P12>
226 inline thread_function thread_bind(
void (*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11, P12 p12)
228 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_12<void, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12) ));
232 template<
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
class A12,
class A13,
233 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9,
class P10,
class P11,
class P12,
class P13>
234 inline thread_function thread_bind(R (*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11, P12 p12, P13 p13)
236 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_13<R, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13) ));
239 template<
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
class A12,
class A13,
class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9,
class P10,
class P11,
class P12,
class P13>
240 inline thread_function thread_bind(
void (*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13), P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11, P12 p12, P13 p13)
242 return thread_function( sprint::detail::thread_fun<
sprint::detail::ptr_fun_13<void, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> >, reinterpret_cast<void *>( new_tuple(Proc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13) ));
249 template<
class T,
class R>
250 inline thread_function thread_bind(R (T::*Proc)(), T *_this)
254 template<
class T,
class R>
255 inline thread_function thread_bind(R (T::*Proc)()
const, T *_this)
261 template<
class T,
class R,
class A1,
class P1>
262 inline thread_function thread_bind(R (T::*Proc)(A1), T *_this, P1 p1)
266 template<
class T,
class R,
class A1,
class P1>
267 inline thread_function thread_bind(R (T::*Proc)(A1)
const, T *_this, P1 p1)
273 template<
class T,
class R,
class A1,
class A2,
class P1,
class P2>
274 inline thread_function thread_bind(R (T::*Proc)(A1, A2), T *_this, P1 p1, P2 p2)
278 template<
class T,
class R,
class A1,
class A2,
class P1,
class P2>
279 inline thread_function thread_bind(R (T::*Proc)(A1, A2)
const, T *_this, P1 p1, P2 p2)
285 template<
class T,
class R,
class A1,
class A2,
class A3,
class P1,
class P2,
class P3>
286 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3), T *_this, P1 p1, P2 p2, P3 p3)
290 template<
class T,
class R,
class A1,
class A2,
class A3,
class P1,
class P2,
class P3>
291 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3)
const, T *_this, P1 p1, P2 p2, P3 p3)
297 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class P1,
class P2,
class P3,
class P4>
298 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4), T *_this, P1 p1, P2 p2, P3 p3, P4 p4)
300 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_4<R, T, P1, P2, P3, P4> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4) ));
302 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class P1,
class P2,
class P3,
class P4>
303 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4)
const, T *_this, P1 p1, P2 p2, P3 p3, P4 p4)
305 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_4<R, T, P1, P2, P3, P4> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4) ));
309 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
310 class P1,
class P2,
class P3,
class P4,
class P5>
311 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5), T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5)
313 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_5<R, T, P1, P2, P3, P4, P5> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5) ));
315 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
316 class P1,
class P2,
class P3,
class P4,
class P5>
317 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5)
const, T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5)
319 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_5<R, T, P1, P2, P3, P4, P5> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5) ));
323 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
324 class P1,
class P2,
class P3,
class P4,
class P5,
class P6>
325 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5, A6), T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
327 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_6<R, T, P1, P2, P3, P4, P5, P6> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5, p6) ));
329 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
330 class P1,
class P2,
class P3,
class P4,
class P5,
class P6>
331 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5, A6)
const, T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
333 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_6<R, T, P1, P2, P3, P4, P5, P6> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5, p6) ));
337 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
338 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7>
339 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5, A6, A7), T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7)
341 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_7<R, T, P1, P2, P3, P4, P5, P6, P7> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5, p6, p7) ));
343 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
344 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7>
345 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5, A6, A7)
const, T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7)
347 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_7<R, T, P1, P2, P3, P4, P5, P6, P7> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5, p6, p7) ));
351 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
352 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8>
353 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5, A6, A7, A8), T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8)
355 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_8<R, T, P1, P2, P3, P4, P5, P6, P7, P8> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5, p6, p7, p8) ));
357 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
358 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8>
359 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5, A6, A7, A8)
const, T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8)
361 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_8<R, T, P1, P2, P3, P4, P5, P6, P7, P8> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5, p6, p7, p8) ));
365 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
366 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9>
367 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9), T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9)
369 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_9<R, T, P1, P2, P3, P4, P5, P6, P7, P8, P9> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5, p6, p7, p8, p9) ));
371 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
372 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9>
373 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9)
const, T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9)
375 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_9<R, T, P1, P2, P3, P4, P5, P6, P7, P8, P9> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5, p6, p7, p8, p9) ));
379 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
380 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9,
class P10>
381 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10), T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10)
383 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_10<R, T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) ));
385 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
386 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9,
class P10>
387 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
const, T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10)
389 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_10<R, T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) ));
393 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
394 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9,
class P10,
class P11>
395 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11), T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11)
397 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_11<R, T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) ));
399 template<
class T,
class R,
class A1,
class A2,
class A3,
class A4,
class A5,
class A6,
class A7,
class A8,
class A9,
class A10,
class A11,
400 class P1,
class P2,
class P3,
class P4,
class P5,
class P6,
class P7,
class P8,
class P9,
class P10,
class P11>
401 inline thread_function thread_bind(R (T::*Proc)(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
const, T *_this, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11)
403 return thread_function( sprint::detail::thread_fun<
sprint::detail::mem_fun_11<R, T, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> > , reinterpret_cast<void *>(new_tuple(Proc, _this, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11) ));
ptr fun with 9 parameters invoker
Definition: invoker.h:211
member function with 11 parameters invoker
Definition: invoker.h:517
member function with 2 parameters invoker
Definition: invoker.h:346
ptr fun with 0 parameters invoker
Definition: invoker.h:40
Definition: invoker.h:125
sprint::detail::ptr_fun_12< void, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12 > Definition: invoker.h:277
member function with 7 parameters invoker
Definition: invoker.h:441
ptr fun with 5 parameters invoker
Definition: invoker.h:135
ptr fun with 10 parameters invoker
Definition: invoker.h:230
Definition: invoker.h:163
Definition: invoker.h:220
sprint::detail::ptr_fun_11< void, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11 > Definition: invoker.h:258
member function with 3 parameters invoker
Definition: invoker.h:365
sprint::detail::ptr_fun_13< void, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13 > Definition: invoker.h:296
ptr fun with 1 parameters invoker
Definition: invoker.h:59
Definition: invoker.h:182
member function with 8 parameters invoker
Definition: invoker.h:460
ptr fun with 6 parameters invoker
Definition: invoker.h:154
member function with 4 parameters invoker
Definition: invoker.h:384
ptr fun with 2 parameters invoker
Definition: invoker.h:78
ptr fun with 11 parameters invoker
Definition: invoker.h:249
ptr fun with 13 parameters invoker
Definition: invoker.h:287
Definition: invoker.h:201
member function with 9 parameters invoker
Definition: invoker.h:479
ptr fun with 7 parameters invoker
Definition: invoker.h:173
member function with 0 parameters invoker
Definition: invoker.h:308
member function with 10 parameters invoker
Definition: invoker.h:498
member function with 5 parameters invoker
Definition: invoker.h:403
ptr fun with 3 parameters invoker
Definition: invoker.h:97
ptr fun with 12 parameters invoker
Definition: invoker.h:268
ptr fun with 8 parameters invoker
Definition: invoker.h:192
Definition: invoker.h:106
member function with 1 parameters invoker
Definition: invoker.h:327
Definition: invoker.h:144
sprint::detail::ptr_fun_10< void, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10 > Definition: invoker.h:239
methods used to wrap function calls
member function with 6 parameters invoker
Definition: invoker.h:422
ptr fun with 4 parameters invoker
Definition: invoker.h:116