66 template <
typename P1>
84 template <
typename P1,
typename P2>
104 template <
typename P1,
typename P2,
typename P3>
126 template <
typename P1,
typename P2,
typename P3,
typename P4>
150 template <
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
176 template <
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
204 template <
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
229 template <
typename CallType,
typename R,
class TList>
struct FunctorCall;
230 template <
typename CallType,
typename R>
240 return ((*pobj).*memfun)();
253 template <
typename CallType,
typename R,
typename P1>
259 return fun(trUtil::GetH<0>(parms).value);
261 template <
class PObj>
static inline R
Call(PObj
const& pobj, CallType memfun,
ParmsListType& parms)
263 return ((*pobj).*memfun)(trUtil::GetH<0>(parms).value);
277 template <
typename CallType,
typename R,
typename P1,
typename P2>
284 trUtil::GetH<0>(parms).value,
285 trUtil::GetH<1>(parms).value);
287 template <
class PObj>
static inline R
Call(PObj
const& pobj, CallType memfun,
ParmsListType& parms)
289 return ((*pobj).*memfun)(
290 trUtil::GetH<0>(parms).value,
291 trUtil::GetH<1>(parms).value);
306 template <
typename CallType,
typename R,
typename P1,
typename P2,
typename P3>
313 trUtil::GetH<0>(parms).value,
314 trUtil::GetH<1>(parms).value,
315 trUtil::GetH<2>(parms).value);
317 template <
class PObj>
static inline R
Call(PObj
const& pobj, CallType memfun,
ParmsListType& parms)
319 return ((*pobj).*memfun)(
320 trUtil::GetH<0>(parms).value,
321 trUtil::GetH<1>(parms).value,
322 trUtil::GetH<2>(parms).value);
338 template <
typename CallType,
typename R,
typename P1,
typename P2,
typename P3,
typename P4>
345 trUtil::GetH<0>(parms).value,
346 trUtil::GetH<1>(parms).value,
347 trUtil::GetH<2>(parms).value,
348 trUtil::GetH<3>(parms).value);
350 template <
class PObj>
static inline R
Call(PObj
const& pobj, CallType memfun,
ParmsListType& parms)
352 return ((*pobj).*memfun)(
353 trUtil::GetH<0>(parms).value,
354 trUtil::GetH<1>(parms).value,
355 trUtil::GetH<2>(parms).value,
356 trUtil::GetH<3>(parms).value);
373 template <
typename CallType,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5>
380 trUtil::GetH<0>(parms).value,
381 trUtil::GetH<1>(parms).value,
382 trUtil::GetH<2>(parms).value,
383 trUtil::GetH<3>(parms).value,
384 trUtil::GetH<4>(parms).value);
386 template <
class PObj>
static inline R
Call(PObj
const& pobj, CallType memfun,
ParmsListType& parms)
388 return ((*pobj).*memfun)(
389 trUtil::GetH<0>(parms).value,
390 trUtil::GetH<1>(parms).value,
391 trUtil::GetH<2>(parms).value,
392 trUtil::GetH<3>(parms).value,
393 trUtil::GetH<4>(parms).value);
411 template <
typename CallType,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6>
418 trUtil::GetH<0>(parms).value,
419 trUtil::GetH<1>(parms).value,
420 trUtil::GetH<2>(parms).value,
421 trUtil::GetH<3>(parms).value,
422 trUtil::GetH<4>(parms).value,
423 trUtil::GetH<5>(parms).value);
425 template <
class PObj>
static inline R
Call(PObj
const& pobj, CallType memfun,
ParmsListType& parms)
427 return ((*pobj).*memfun)(
428 trUtil::GetH<0>(parms).value,
429 trUtil::GetH<1>(parms).value,
430 trUtil::GetH<2>(parms).value,
431 trUtil::GetH<3>(parms).value,
432 trUtil::GetH<4>(parms).value,
433 trUtil::GetH<5>(parms).value);
452 template <
typename CallType,
typename R,
typename P1,
typename P2,
typename P3,
typename P4,
typename P5,
typename P6,
typename P7>
459 trUtil::GetH<0>(parms).value,
460 trUtil::GetH<1>(parms).value,
461 trUtil::GetH<2>(parms).value,
462 trUtil::GetH<3>(parms).value,
463 trUtil::GetH<4>(parms).value,
464 trUtil::GetH<5>(parms).value,
465 trUtil::GetH<6>(parms).value);
467 template <
class PObj>
static inline R
Call(PObj
const& pobj, CallType memfun,
ParmsListType& parms)
469 return ((*pobj).*memfun)(
470 trUtil::GetH<0>(parms).value,
471 trUtil::GetH<1>(parms).value,
472 trUtil::GetH<2>(parms).value,
473 trUtil::GetH<3>(parms).value,
474 trUtil::GetH<4>(parms).value,
475 trUtil::GetH<5>(parms).value,
476 trUtil::GetH<6>(parms).value);
static ParmsListType Make(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7)
static R Call(PObj const &pobj, CallType memfun, ParmsListType &parms)
static ParmsListType Make(P1 p1, P2 p2, P3 p3, P4 p4)
#define TYPELIST_3(T1, T2, T3)
static R Call(PObj const &pobj, CallType memfun, ParmsListType &parms)
#define TYPELIST_5(T1, T2, T3, T4, T5)
static R Call(PObj const &pobj, CallType memfun, ParmsListType &parms)
static ParmsListType Make(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5)
static R Call(Fun const &fun, ParmsListType &parms)
#define TYPELIST_4(T1, T2, T3, T4)
static R Call(PObj const &pobj, CallType memfun, ParmsListType &parms)
#define TYPELIST_7(T1, T2, T3, T4, T5, T6, T7)
static ParmsListType Make(P1 p1, P2 p2, P3 p3)
#define TYPELIST_6(T1, T2, T3, T4, T5, T6)
static R Call(Fun const &fun, ParmsListType &parms)
static R Call(PObj const &pobj, CallType memfun, ParmsListType &parms)
static R Call(Fun const &fun, ParmsListType &parms)
#define TYPELIST_0()
Macros that define various lists of Class types.
static ParmsListType Make(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)
Namespace that holds various utility classes for the engine.
static R Call(PObj const &pobj, CallType memfun, ParmsListType &)
static R Call(Fun const &fun, ParmsListType &parms)
static ParmsListType Make(P1 p1, P2 p2)
#define TYPELIST_2(T1, T2)
static R Call(Fun const &fun, ParmsListType &parms)
static R Call(Fun const &fun, ParmsListType &parms)
static R Call(PObj const &pobj, CallType memfun, ParmsListType &parms)
static R Call(Fun const &fun, ParmsListType &)
static ParmsListType Make(P1 p1)
static ParmsListType Make()
static R Call(Fun const &fun, ParmsListType &parms)
static R Call(PObj const &pobj, CallType memfun, ParmsListType &parms)