8#ifndef META_OCEAN_BASE_CALLBACK_H
9#define META_OCEAN_BASE_CALLBACK_H
27template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
class Callback;
30template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
class MemberFunction;
33template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
class StaticFunction;
36template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
class MemberFunctionCaller;
39template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
class StaticFunctionCaller;
42template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
class ParameterizedMemberFunction;
45template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
class ParameterizedMemberFunctionConst;
48template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
class ParameterizedStaticFunction;
51template <
typename RT>
class Caller;
81template <
typename CT,
typename RT,
typename PT0 = NullClass,
typename PT1 = NullClass,
typename PT2 = NullClass,
typename PT3 = NullClass,
typename PT4 = NullClass,
typename PT5 = NullClass,
typename PT6 = NullClass,
typename PT7 = NullClass,
typename PT8 = NullClass,
typename PT9 = NullClass,
typename PT10 = NullClass,
typename PT11 = NullClass,
typename PT12 = NullClass,
typename PT13 = NullClass,
typename PT14 = NullClass,
typename PT15 = NullClass,
typename PT16 = NullClass,
typename PT17 = NullClass,
typename PT18 = NullClass,
typename PT19 = NullClass>
89 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19);
94 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19) const;
101template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18>
102class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18>
109 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18);
114 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18) const;
121template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17>
122class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17>
129 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17);
134 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17) const;
141template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16>
142class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16>
149 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16);
154 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16) const;
161template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15>
162class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15>
169 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15);
174 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15) const;
181template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14>
182class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14>
189 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14);
194 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14) const;
201template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13>
202class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13>
209 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13);
214 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13) const;
221template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12>
222class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12>
229 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12);
234 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12) const;
241template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11>
242class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11>
249 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11);
254 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11) const;
261template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10>
262class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10>
269 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10);
274 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10) const;
281template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9>
282class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9>
289 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9);
294 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9) const;
301template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8>
302class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8,
NullClass>
309 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8);
314 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8) const;
321template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7>
322class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
329 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7);
334 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7) const;
341template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6>
342class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
349 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6);
354 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6) const;
361template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5>
362class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
369 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4, PT5);
374 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5) const;
381template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4>
382class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
389 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3, PT4);
394 typedef RT (CT::*
TypeConst)(PT0, PT1, PT2, PT3, PT4) const;
401template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3>
402class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
409 typedef RT (CT::*
Type)(PT0, PT1, PT2, PT3);
421template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2>
422class MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
429 typedef RT (CT::*
Type)(PT0, PT1, PT2);
441template <
typename CT,
typename RT,
typename PT0,
typename PT1>
442class MemberFunctionPointerMaker<CT, RT, PT0, PT1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
449 typedef RT (CT::*
Type)(PT0, PT1);
461template <
typename CT,
typename RT,
typename PT0>
462class MemberFunctionPointerMaker<CT, RT, PT0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
481template <
typename CT,
typename RT>
482class MemberFunctionPointerMaker<CT, RT,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
522template <
typename RT,
typename PT0 = NullClass,
typename PT1 = NullClass,
typename PT2 = NullClass,
typename PT3 = NullClass,
typename PT4 = NullClass,
typename PT5 = NullClass,
typename PT6 = NullClass,
typename PT7 = NullClass,
typename PT8 = NullClass,
typename PT9 = NullClass,
typename PT10 = NullClass,
typename PT11 = NullClass,
typename PT12 = NullClass,
typename PT13 = NullClass,
typename PT14 = NullClass,
typename PT15 = NullClass,
typename PT16 = NullClass,
typename PT17 = NullClass,
typename PT18 = NullClass,
typename PT19 = NullClass>
530 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19);
537template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18>
538class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18,
NullClass>
545 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18);
552template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17>
553class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17,
NullClass,
NullClass>
560 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17);
567template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16>
568class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16,
NullClass,
NullClass,
NullClass>
575 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16);
582template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15>
583class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15,
NullClass,
NullClass,
NullClass,
NullClass>
590 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15);
597template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14>
598class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
605 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14);
612template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13>
613class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
620 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13);
627template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12>
628class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
635 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12);
642template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11>
643class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
650 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11);
657template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10>
658class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
665 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10);
672template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9>
673class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
680 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9);
687template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8>
688class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
695 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8);
702template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7>
703class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
710 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7);
717template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6>
718class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
725 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6);
732template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5>
733class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
740 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4, PT5);
747template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4>
748class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
755 typedef RT (*
Type)(PT0, PT1, PT2, PT3, PT4);
762template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3>
763class StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
770 typedef RT (*
Type)(PT0, PT1, PT2, PT3);
777template <
typename RT,
typename PT0,
typename PT1,
typename PT2>
778class StaticFunctionPointerMaker<RT, PT0, PT1, PT2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
785 typedef RT (*
Type)(PT0, PT1, PT2);
792template <
typename RT,
typename PT0,
typename PT1>
793class StaticFunctionPointerMaker<RT, PT0, PT1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
807template <
typename RT,
typename PT0>
808class StaticFunctionPointerMaker<RT, PT0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
822template <
typename RT>
823class StaticFunctionPointerMaker<RT,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
859template <
typename CT,
typename RT,
typename PT0 = NullClass,
typename PT1 = NullClass,
typename PT2 = NullClass,
typename PT3 = NullClass,
typename PT4 = NullClass,
typename PT5 = NullClass,
typename PT6 = NullClass,
typename PT7 = NullClass,
typename PT8 = NullClass,
typename PT9 = NullClass,
typename PT10 = NullClass,
typename PT11 = NullClass,
typename PT12 = NullClass,
typename PT13 = NullClass,
typename PT14 = NullClass,
typename PT15 = NullClass,
typename PT16 = NullClass,
typename PT17 = NullClass,
typename PT18 = NullClass,
typename PT19 = NullClass>
862 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>;
863 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>;
864 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>;
894 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18, PT19 param19);
922 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18, PT19 param19);
929template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18>
930class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18,
NullClass>
932 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18,
NullClass>;
933 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18,
NullClass>;
934 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18,
NullClass>;
963 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18,
NullClass);
990 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18,
NullClass);
997template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17>
998class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17,
NullClass,
NullClass>
1000 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17,
NullClass,
NullClass>;
1001 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17,
NullClass,
NullClass>;
1002 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17,
NullClass,
NullClass>;
1030 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17,
NullClass,
NullClass);
1056 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17,
NullClass,
NullClass);
1063template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16>
1064class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16,
NullClass,
NullClass,
NullClass>
1066 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16,
NullClass,
NullClass,
NullClass>;
1067 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16,
NullClass,
NullClass,
NullClass>;
1068 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16,
NullClass,
NullClass,
NullClass>;
1095 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16,
NullClass,
NullClass,
NullClass);
1120 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16,
NullClass,
NullClass,
NullClass);
1127template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15>
1128class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15,
NullClass,
NullClass,
NullClass,
NullClass>
1130 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15,
NullClass,
NullClass,
NullClass,
NullClass>;
1131 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15,
NullClass,
NullClass,
NullClass,
NullClass>;
1132 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15,
NullClass,
NullClass,
NullClass,
NullClass>;
1158 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15,
NullClass,
NullClass,
NullClass,
NullClass);
1182 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15,
NullClass,
NullClass,
NullClass,
NullClass);
1189template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14>
1190class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1192 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1193 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1194 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1219 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1242 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1249template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13>
1250class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1252 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1253 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1254 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1278 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1300 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1307template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12>
1308class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1310 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1311 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1312 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1335 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1356 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1363template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11>
1364class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1366 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1367 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1368 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1390 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1410 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1417template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10>
1418class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1420 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1421 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1422 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1443 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1462 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1469template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9>
1470class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1472 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1473 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1474 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1494 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1512 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1519template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8>
1520class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1522 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1523 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1524 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1543 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1560 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1567template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7>
1568class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1570 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1571 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1572 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1590 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1606 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1613template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6>
1614class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1616 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1617 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1618 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1635 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1650 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1657template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5>
1658class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1660 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1661 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1662 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1678 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1692 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1699template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4>
1700class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1702 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1703 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1704 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3, PT4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1719 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1732 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1739template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3>
1740class MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1742 friend class MemberFunction<CT, RT, PT0, PT1, PT2, PT3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1743 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2, PT3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1744 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2, PT3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1758 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1770 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1777template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2>
1778class MemberFunctionCaller<CT, RT, PT0, PT1, PT2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1780 friend class MemberFunction<CT, RT, PT0, PT1, PT2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1781 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1, PT2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1782 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1, PT2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1795 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1806 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1813template <
typename CT,
typename RT,
typename PT0,
typename PT1>
1814class MemberFunctionCaller<CT, RT, PT0, PT1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1816 friend class MemberFunction<CT, RT, PT0, PT1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1817 friend class ParameterizedMemberFunction<CT, RT, PT0, PT1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1818 friend class ParameterizedMemberFunctionConst<CT, RT, PT0, PT1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1830 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1840 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1847template <
typename CT,
typename RT,
typename PT0>
1848class MemberFunctionCaller<CT, RT, PT0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1850 friend class MemberFunction<CT, RT, PT0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1851 friend class ParameterizedMemberFunction<CT, RT, PT0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1852 friend class ParameterizedMemberFunctionConst<CT, RT, PT0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1863 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1872 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1879template <
typename CT,
typename RT>
1880class MemberFunctionCaller<CT, RT,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
1882 friend class MemberFunction<CT, RT,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1883 friend class ParameterizedMemberFunction<CT, RT,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1884 friend class ParameterizedMemberFunctionConst<CT, RT,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
1894 static inline RT
call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1902 static inline RT
call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
1905template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
1906inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18, PT19 param19)
1908 ocean_assert(functionClass && functionPointer);
1909 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17, param18, param19);
1912template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
1913inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18, PT19 param19)
1915 ocean_assert(functionClass && functionPointer);
1916 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17, param18, param19);
1919template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18>
1920inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18,
NullClass)
1922 ocean_assert(functionClass && functionPointer);
1923 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17, param18);
1926template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18>
1927inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18,
NullClass)
1929 ocean_assert(functionClass && functionPointer);
1930 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17, param18);
1933template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17>
1934inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17,
NullClass,
NullClass)
1936 ocean_assert(functionClass && functionPointer);
1937 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17);
1940template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17>
1941inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17,
NullClass,
NullClass)
1943 ocean_assert(functionClass && functionPointer);
1944 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17);
1947template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16>
1948inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16,
NullClass,
NullClass,
NullClass)
1950 ocean_assert(functionClass && functionPointer);
1951 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16);
1954template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16>
1955inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16,
NullClass,
NullClass,
NullClass)
1957 ocean_assert(functionClass && functionPointer);
1958 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16);
1961template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15>
1962inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15,
NullClass,
NullClass,
NullClass,
NullClass)
1964 ocean_assert(functionClass && functionPointer);
1965 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15);
1968template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15>
1969inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15,
NullClass,
NullClass,
NullClass,
NullClass)
1971 ocean_assert(functionClass && functionPointer);
1972 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15);
1975template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14>
1976inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
1978 ocean_assert(functionClass && functionPointer);
1979 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14);
1982template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14>
1983inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
1985 ocean_assert(functionClass && functionPointer);
1986 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14);
1989template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13>
1990inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
1992 ocean_assert(functionClass && functionPointer);
1993 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13);
1996template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13>
1997inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
1999 ocean_assert(functionClass && functionPointer);
2000 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13);
2003template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12>
2004inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2006 ocean_assert(functionClass && functionPointer);
2007 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12);
2010template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12>
2011inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2013 ocean_assert(functionClass && functionPointer);
2014 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12);
2017template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11>
2018inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2020 ocean_assert(functionClass && functionPointer);
2021 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11);
2024template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11>
2025inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2027 ocean_assert(functionClass && functionPointer);
2028 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11);
2031template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10>
2032inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2034 ocean_assert(functionClass && functionPointer);
2035 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10);
2038template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10>
2039inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2041 ocean_assert(functionClass && functionPointer);
2042 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10);
2045template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9>
2046inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2048 ocean_assert(functionClass && functionPointer);
2049 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9);
2052template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9>
2053inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2055 ocean_assert(functionClass && functionPointer);
2056 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9);
2059template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8>
2060inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2062 ocean_assert(functionClass && functionPointer);
2063 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8);
2066template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8>
2067inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2069 ocean_assert(functionClass && functionPointer);
2070 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7, param8);
2073template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7>
2074inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2076 ocean_assert(functionClass && functionPointer);
2077 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7);
2080template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7>
2081inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2083 ocean_assert(functionClass && functionPointer);
2084 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6, param7);
2087template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6>
2088inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2090 ocean_assert(functionClass && functionPointer);
2091 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6);
2094template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6>
2095inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2097 ocean_assert(functionClass && functionPointer);
2098 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5, param6);
2101template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5>
2102inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2104 ocean_assert(functionClass && functionPointer);
2105 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5);
2108template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5>
2109inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2111 ocean_assert(functionClass && functionPointer);
2112 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4, param5);
2115template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4>
2116inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2118 ocean_assert(functionClass && functionPointer);
2119 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4);
2122template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4>
2123inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2125 ocean_assert(functionClass && functionPointer);
2126 return (functionClass->*functionPointer)(param0, param1, param2, param3, param4);
2129template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3>
2130inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2132 ocean_assert(functionClass && functionPointer);
2133 return (functionClass->*functionPointer)(param0, param1, param2, param3);
2136template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3>
2137inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2139 ocean_assert(functionClass && functionPointer);
2140 return (functionClass->*functionPointer)(param0, param1, param2, param3);
2143template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2>
2144inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2146 ocean_assert(functionClass && functionPointer);
2147 return (functionClass->*functionPointer)(param0, param1, param2);
2150template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2>
2151inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, PT2, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1, PT2 param2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2153 ocean_assert(functionClass && functionPointer);
2154 return (functionClass->*functionPointer)(param0, param1, param2);
2157template <
typename CT,
typename RT,
typename PT0,
typename PT1>
2158inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2160 ocean_assert(functionClass && functionPointer);
2161 return (functionClass->*functionPointer)(param0, param1);
2164template <
typename CT,
typename RT,
typename PT0,
typename PT1>
2165inline RT
MemberFunctionCaller<CT, RT, PT0, PT1, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0, PT1 param1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2167 ocean_assert(functionClass && functionPointer);
2168 return (functionClass->*functionPointer)(param0, param1);
2171template <
typename CT,
typename RT,
typename PT0>
2172inline RT
MemberFunctionCaller<CT, RT, PT0, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2174 ocean_assert(functionClass && functionPointer);
2175 return (functionClass->*functionPointer)(param0);
2178template <
typename CT,
typename RT,
typename PT0>
2179inline RT
MemberFunctionCaller<CT, RT, PT0, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, PT0, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer, PT0 param0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2181 ocean_assert(functionClass && functionPointer);
2182 return (functionClass->*functionPointer)(param0);
2185template <
typename CT,
typename RT>
2186inline RT
MemberFunctionCaller<CT, RT, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2188 ocean_assert(functionClass && functionPointer);
2189 return (functionClass->*functionPointer)();
2192template <
typename CT,
typename RT>
2193inline RT
MemberFunctionCaller<CT, RT, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
const CT* functionClass,
typename MemberFunctionPointerMaker<CT, RT, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::TypeConst functionPointer,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2195 ocean_assert(functionClass && functionPointer);
2196 return (functionClass->*functionPointer)();
2227template <
typename RT,
typename PT0 = NullClass,
typename PT1 = NullClass,
typename PT2 = NullClass,
typename PT3 = NullClass,
typename PT4 = NullClass,
typename PT5 = NullClass,
typename PT6 = NullClass,
typename PT7 = NullClass,
typename PT8 = NullClass,
typename PT9 = NullClass,
typename PT10 = NullClass,
typename PT11 = NullClass,
typename PT12 = NullClass,
typename PT13 = NullClass,
typename PT14 = NullClass,
typename PT15 = NullClass,
typename PT16 = NullClass,
typename PT17 = NullClass,
typename PT18 = NullClass,
typename PT19 = NullClass>
2230 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>;
2231 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>;
2260 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18, PT19 param19);
2270template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18>
2271class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18,
NullClass>
2273 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18,
NullClass>;
2274 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18,
NullClass>;
2302 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18,
NullClass);
2311template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17>
2312class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17,
NullClass,
NullClass>
2314 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17,
NullClass,
NullClass>;
2315 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17,
NullClass,
NullClass>;
2342 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17,
NullClass,
NullClass);
2351template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16>
2352class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16,
NullClass,
NullClass,
NullClass>
2354 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16,
NullClass,
NullClass,
NullClass>;
2355 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16,
NullClass,
NullClass,
NullClass>;
2381 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16,
NullClass,
NullClass,
NullClass);
2390template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15>
2391class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15,
NullClass,
NullClass,
NullClass,
NullClass>
2393 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15,
NullClass,
NullClass,
NullClass,
NullClass>;
2394 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15,
NullClass,
NullClass,
NullClass,
NullClass>;
2419 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15,
NullClass,
NullClass,
NullClass,
NullClass);
2428template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14>
2429class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2431 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2432 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2456 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2465template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13>
2466class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2468 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2469 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2492 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2501template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12>
2502class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2504 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2505 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2527 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2536template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11>
2537class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2539 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2540 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2561 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2570template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10>
2571class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2573 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2574 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2594 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2603template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9>
2604class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2606 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2607 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2626 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2633template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8>
2634class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2636 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2637 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2655 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2663template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7>
2664class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2666 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2667 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2684 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2692template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6>
2693class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2695 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2696 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2712 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2719template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5>
2720class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2722 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2723 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2738 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2745template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4>
2746class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2748 friend class StaticFunction<RT, PT0, PT1, PT2, PT3, PT4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2749 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3, PT4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2763 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2770template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3>
2771class StaticFunctionCaller<RT, PT0, PT1, PT2, PT3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2773 friend class StaticFunction<RT, PT0, PT1, PT2, PT3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2774 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2, PT3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2787 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2794template <
typename RT,
typename PT0,
typename PT1,
typename PT2>
2795class StaticFunctionCaller<RT, PT0, PT1, PT2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2797 friend class StaticFunction<RT, PT0, PT1, PT2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2798 friend class ParameterizedStaticFunction<RT, PT0, PT1, PT2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2810 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2817template <
typename RT,
typename PT0,
typename PT1>
2818class StaticFunctionCaller<RT, PT0, PT1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2820 friend class StaticFunction<RT, PT0, PT1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2821 friend class ParameterizedStaticFunction<RT, PT0, PT1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2832 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2839template <
typename RT,
typename PT0>
2840class StaticFunctionCaller<RT, PT0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2842 friend class StaticFunction<RT, PT0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2843 friend class ParameterizedStaticFunction<RT, PT0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2853 static inline RT
call(
typename StaticFunctionPointerMaker<RT, PT0, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2860template <
typename RT>
2861class StaticFunctionCaller<RT,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>
2863 friend class StaticFunction<RT,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2864 friend class ParameterizedStaticFunction<RT,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass>;
2873 static inline RT
call(
typename StaticFunctionPointerMaker<RT, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass);
2876template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
2877inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18, PT19 param19)
2879 ocean_assert(functionPointer);
2880 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17, param18, param19);
2883template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18>
2884inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18,
NullClass)
2886 ocean_assert(functionPointer);
2887 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17, param18);
2890template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17>
2891inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17,
NullClass,
NullClass)
2893 ocean_assert(functionPointer);
2894 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17);
2897template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16>
2898inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16,
NullClass,
NullClass,
NullClass)
2900 ocean_assert(functionPointer);
2901 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16);
2904template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15>
2905inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15,
NullClass,
NullClass,
NullClass,
NullClass)
2907 ocean_assert(functionPointer);
2908 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15);
2911template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14>
2912inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2914 ocean_assert(functionPointer);
2915 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14);
2918template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13>
2919inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2921 ocean_assert(functionPointer);
2922 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13);
2925template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12>
2926inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2928 ocean_assert(functionPointer);
2929 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12);
2932template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11>
2933inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2935 ocean_assert(functionPointer);
2936 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11);
2939template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10>
2940inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2942 ocean_assert(functionPointer);
2943 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10);
2946template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9>
2947inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2949 ocean_assert(functionPointer);
2950 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9);
2953template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8>
2954inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2956 ocean_assert(functionPointer);
2957 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7, param8);
2960template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7>
2961inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2963 ocean_assert(functionPointer);
2964 return functionPointer(param0, param1, param2, param3, param4, param5, param6, param7);
2967template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6>
2968inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2970 ocean_assert(functionPointer);
2971 return functionPointer(param0, param1, param2, param3, param4, param5, param6);
2974template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5>
2975inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2977 ocean_assert(functionPointer);
2978 return functionPointer(param0, param1, param2, param3, param4, param5);
2981template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4>
2982inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2984 ocean_assert(functionPointer);
2985 return functionPointer(param0, param1, param2, param3, param4);
2988template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3>
2989inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2991 ocean_assert(functionPointer);
2992 return functionPointer(param0, param1, param2, param3);
2995template <
typename RT,
typename PT0,
typename PT1,
typename PT2>
2996inline RT
StaticFunctionCaller<RT, PT0, PT1, PT2, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1, PT2 param2,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
2998 ocean_assert(functionPointer);
2999 return functionPointer(param0, param1, param2);
3002template <
typename RT,
typename PT0,
typename PT1>
3003inline RT
StaticFunctionCaller<RT, PT0, PT1, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, PT1, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0, PT1 param1,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
3005 ocean_assert(functionPointer);
3006 return functionPointer(param0, param1);
3009template <
typename RT,
typename PT0>
3010inline RT
StaticFunctionCaller<RT, PT0, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, PT0, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer, PT0 param0,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
3012 ocean_assert(functionPointer);
3013 return functionPointer(param0);
3016template <
typename RT>
3017inline RT
StaticFunctionCaller<RT, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::call(
typename StaticFunctionPointerMaker<RT, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass>::Type functionPointer,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass,
NullClass)
3019 ocean_assert(functionPointer);
3020 return functionPointer();
3050template <
typename RT,
typename PT0 = NullClass,
typename PT1 = NullClass,
typename PT2 = NullClass,
typename PT3 = NullClass,
typename PT4 = NullClass,
typename PT5 = NullClass,
typename PT6 = NullClass,
typename PT7 = NullClass,
typename PT8 = NullClass,
typename PT9 = NullClass,
typename PT10 = NullClass,
typename PT11 = NullClass,
typename PT12 = NullClass,
typename PT13 = NullClass,
typename PT14 = NullClass,
typename PT15 = NullClass,
typename PT16 = NullClass,
typename PT17 = NullClass,
typename PT18 = NullClass,
typename PT19 = NullClass>
3084 virtual RT
call(PT0 param0 = PT0(), PT1 param1 = PT1(), PT2 param2 = PT2(), PT3 param3 = PT3(), PT4 param4 = PT4(), PT5 param5 = PT5(), PT6 param6 = PT6(), PT7 param7 = PT7(), PT8 param8 = PT8(), PT9 param9 = PT9(), PT10 param10 = PT10(), PT11 param11 = PT11(), PT12 param12 = PT12(), PT13 param13 = PT13(), PT14 param14 = PT14(), PT15 param15 = PT15(), PT16 param16 = PT16(), PT17 param17 = PT17(), PT18 param18 = PT18(), PT19 param19 = PT19())
const = 0;
3097 virtual bool operator==(
const FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>& functionBase)
const = 0;
3100template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3101FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::~FunctionBase()
3135template <
typename CT,
typename RT,
typename PT0 = NullClass,
typename PT1 = NullClass,
typename PT2 = NullClass,
typename PT3 = NullClass,
typename PT4 = NullClass,
typename PT5 = NullClass,
typename PT6 = NullClass,
typename PT7 = NullClass,
typename PT8 = NullClass,
typename PT9 = NullClass,
typename PT10 = NullClass,
typename PT11 = NullClass,
typename PT12 = NullClass,
typename PT13 = NullClass,
typename PT14 = NullClass,
typename PT15 = NullClass,
typename PT16 = NullClass,
typename PT17 = NullClass,
typename PT18 = NullClass,
typename PT19 = NullClass>
3136class MemberFunction :
public FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>
3138 friend class Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>;
3145 typedef typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type FunctionType;
3180 virtual RT
call(PT0 param0 = PT0(), PT1 param1 = PT1(), PT2 param2 = PT2(), PT3 param3 = PT3(), PT4 param4 = PT4(), PT5 param5 = PT5(), PT6 param6 = PT6(), PT7 param7 = PT7(), PT8 param8 = PT8(), PT9 param9 = PT9(), PT10 param10 = PT10(), PT11 param11 = PT11(), PT12 param12 = PT12(), PT13 param13 = PT13(), PT14 param14 = PT14(), PT15 param15 = PT15(), PT16 param16 = PT16(), PT17 param17 = PT17(), PT18 param18 = PT18(), PT19 param19 = PT19())
const;
3186 virtual FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>*
copy()
const;
3193 virtual bool operator==(
const FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>& functionBase)
const;
3204template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3205inline MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::MemberFunction(CT &
object,
FunctionType function) :
3206 functionClass(&object),
3207 functionPointer(function)
3212template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3213RT
MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::call(PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18, PT19 param19)
const
3215 ocean_assert(functionClass !=
nullptr);
3216 ocean_assert(functionPointer != 0);
3217 return MemberFunctionCaller<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::call(functionClass, functionPointer, param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17, param18, param19);
3220template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3221FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>*
MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::copy()
const
3223 ocean_assert(functionClass !=
nullptr);
3224 ocean_assert(functionPointer != 0);
3225 return new MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>(*functionClass, functionPointer);
3228template <
typename CT,
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3229bool MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::operator==(
const FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>& functionBase)
const
3231 const MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>* function =
dynamic_cast< const MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>*
>(&functionBase);
3264template <
typename RT,
typename PT0 = NullClass,
typename PT1 = NullClass,
typename PT2 = NullClass,
typename PT3 = NullClass,
typename PT4 = NullClass,
typename PT5 = NullClass,
typename PT6 = NullClass,
typename PT7 = NullClass,
typename PT8 = NullClass,
typename PT9 = NullClass,
typename PT10 = NullClass,
typename PT11 = NullClass,
typename PT12 = NullClass,
typename PT13 = NullClass,
typename PT14 = NullClass,
typename PT15 = NullClass,
typename PT16 = NullClass,
typename PT17 = NullClass,
typename PT18 = NullClass,
typename PT19 = NullClass>
3265class StaticFunction :
public FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>
3267 friend class Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>;
3274 typedef typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type FunctionType;
3308 virtual RT
call(PT0 param0 = PT0(), PT1 param1 = PT1(), PT2 param2 = PT2(), PT3 param3 = PT3(), PT4 param4 = PT4(), PT5 param5 = PT5(), PT6 param6 = PT6(), PT7 param7 = PT7(), PT8 param8 = PT8(), PT9 param9 = PT9(), PT10 param10 = PT10(), PT11 param11 = PT11(), PT12 param12 = PT12(), PT13 param13 = PT13(), PT14 param14 = PT14(), PT15 param15 = PT15(), PT16 param16 = PT16(), PT17 param17 = PT17(), PT18 param18 = PT18(), PT19 param19 = PT19())
const;
3314 virtual FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>*
copy()
const;
3321 virtual bool operator==(
const FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>& functionBase)
const;
3329template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3330inline StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::StaticFunction(
FunctionType function) :
3331 functionPointer(function)
3336template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3337RT
StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::call(PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18, PT19 param19)
const
3339 ocean_assert(functionPointer !=
nullptr);
3340 return StaticFunctionCaller<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::call(functionPointer, param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17, param18, param19);
3343template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3344FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>*
StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::copy()
const
3346 ocean_assert(functionPointer !=
nullptr);
3347 return new StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>(functionPointer);
3350template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3351bool StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::operator==(
const FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>& functionBase)
const
3353 const StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>* function =
dynamic_cast< const StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>*
>(&functionBase);
3354 return function !=
nullptr && functionPointer == function->
functionPointer;
3454template <
typename RT,
typename PT0 = NullClass,
typename PT1 = NullClass,
typename PT2 = NullClass,
typename PT3 = NullClass,
typename PT4 = NullClass,
typename PT5 = NullClass,
typename PT6 = NullClass,
typename PT7 = NullClass,
typename PT8 = NullClass,
typename PT9 = NullClass,
typename PT10 = NullClass,
typename PT11 = NullClass,
typename PT12 = NullClass,
typename PT13 = NullClass,
typename PT14 = NullClass,
typename PT15 = NullClass,
typename PT16 = NullClass,
typename PT17 = NullClass,
typename PT18 = NullClass,
typename PT19 = NullClass>
3582 template<
typename CT>
inline Callback(CT &
object,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type function);
3588 explicit inline Callback(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type function);
3601 template<
typename CT>
3602 static inline Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19> create(CT &
object,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type function);
3609 static inline Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19> createStatic(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type function);
3642 inline RT
operator()(PT0 param0 = PT0(), PT1 param1 = PT1(), PT2 param2 = PT2(), PT3 param3 = PT3(), PT4 param4 = PT4(), PT5 param5 = PT5(), PT6 param6 = PT6(), PT7 param7 = PT7(), PT8 param8 = PT8(), PT9 param9 = PT9(), PT10 param10 = PT10(), PT11 param11 = PT11(), PT12 param12 = PT12(), PT13 param13 = PT13(), PT14 param14 = PT14(), PT15 param15 = PT15(), PT16 param16 = PT16(), PT17 param17 = PT17(), PT18 param18 = PT18(), PT19 param19 = PT19())
const;
3669 explicit inline operator bool()
const;
3677 explicit inline Callback(
FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>* base);
3682 FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>*
callbackFunction;
3685template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3686inline Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Callback() :
3687 callbackFunction(nullptr)
3692template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3693inline Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Callback(
const Callback& callback) :
3694 callbackFunction(callback.callbackFunction ? callback.callbackFunction->copy() : nullptr)
3699template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3700template<
typename CT>
3701inline Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Callback(CT &
object,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type function) :
3702 callbackFunction(new
MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>(object, function))
3707template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3708inline Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Callback(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type function) :
3709 callbackFunction(new
StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>(function))
3714template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3715inline Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Callback(
FunctionBase<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>* base) :
3716 callbackFunction(base)
3721template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3722inline Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::~Callback()
3724 delete callbackFunction;
3727template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3728template<
typename CT>
3729inline Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19> Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::create(CT &
object,
typename MemberFunctionPointerMaker<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type function)
3731 return Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>(
new MemberFunction<CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>(
object, function));
3734template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3735inline Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19> Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::createStatic(
typename StaticFunctionPointerMaker<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::Type function)
3737 return Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>(
new StaticFunction<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>(function));
3740template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3741inline bool Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::isNull()
const
3743 return callbackFunction ==
nullptr;
3746template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3747inline RT
Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::operator()(PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18, PT19 param19)
const
3749 ocean_assert(callbackFunction !=
nullptr);
3751 return callbackFunction->call(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17, param18, param19);
3754template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3755inline Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>&
Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::operator=(
const Callback& callback)
3757 delete callbackFunction;
3763template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3764inline bool Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::operator==(
const Callback& callback)
const
3771 ocean_assert((callbackFunction !=
nullptr && callback.
callbackFunction ==
nullptr) || (callbackFunction ==
nullptr && callback.
callbackFunction !=
nullptr));
3779template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3780inline bool Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::operator!=(
const Callback& callback)
const
3782 return !(*
this == callback);
3785template <
typename RT,
typename PT0,
typename PT1,
typename PT2,
typename PT3,
typename PT4,
typename PT5,
typename PT6,
typename PT7,
typename PT8,
typename PT9,
typename PT10,
typename PT11,
typename PT12,
typename PT13,
typename PT14,
typename PT15,
typename PT16,
typename PT17,
typename PT18,
typename PT19>
3786inline Callback<RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19>::operator bool()
const
3788 return callbackFunction !=
nullptr;
3798template <
typename T>
3975 ReturnType operator()(
ParameterType0 param0 =
ParameterType0(),
ParameterType1 param1 =
ParameterType1(),
ParameterType2 param2 =
ParameterType2(),
ParameterType3 param3 =
ParameterType3(),
ParameterType4 param4 =
ParameterType4(),
ParameterType5 param5 =
ParameterType5(),
ParameterType6 param6 =
ParameterType6(),
ParameterType7 param7 =
ParameterType7(),
ParameterType8 param8 =
ParameterType8(),
ParameterType9 param9 =
ParameterType9(),
ParameterType10 param10 =
ParameterType10(),
ParameterType11 param11 =
ParameterType11(),
ParameterType12 param12 =
ParameterType12(),
ParameterType13 param13 =
ParameterType13(),
ParameterType14 param14 =
ParameterType14(),
ParameterType15 param15 =
ParameterType15(),
ParameterType16 param16 =
ParameterType16(),
ParameterType17 param17 =
ParameterType17(),
ParameterType18 param18 =
ParameterType18(),
ParameterType19 param19 =
ParameterType19())
const;
3987 explicit inline operator bool()
const;
4010template <
typename T>
4016template <
typename T>
4018 callbackObjects(callbacks.callbackObjects)
4023template <
typename T>
4025 callbackObjects(std::move(callbacks.callbackObjects))
4030template <
typename T>
4033 ocean_assert(callbackObjects.empty());
4036template <
typename T>
4042 for (
typename CallbackObjects::const_iterator i = callbackObjects.begin(); i != callbackObjects.end(); ++i)
4043 ocean_assert(*i != callback &&
"The callback has been added already!");
4046 callbackObjects.push_back(callback);
4049template <
typename T>
4054 for (
typename CallbackObjects::iterator i = callbackObjects.begin(); i != callbackObjects.end(); ++i)
4057 callbackObjects.erase(i);
4061 ocean_assert(
false &&
"Unknown callback!");
4064template <
typename T>
4065typename Callbacks<T>::ReturnType Callbacks<T>::operator()(
ParameterType0 param0,
ParameterType1 param1,
ParameterType2 param2,
ParameterType3 param3,
ParameterType4 param4,
ParameterType5 param5,
ParameterType6 param6,
ParameterType7 param7,
ParameterType8 param8,
ParameterType9 param9,
ParameterType10 param10,
ParameterType11 param11,
ParameterType12 param12,
ParameterType13 param13,
ParameterType14 param14,
ParameterType15 param15,
ParameterType16 param16,
ParameterType17 param17,
ParameterType18 param18,
ParameterType19 param19)
const
4069 if (callbackObjects.empty())
4074 for (
int n = 0; n < int(callbackObjects.size()) - 1; ++n)
4076 callbackObjects[n](param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17, param18, param19);
4079 return callbackObjects.back()(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17, param18, param19);
4082template <
typename T>
4086 return callbackObjects.empty();
4089template <
typename T>
4097template <
typename T>
4100 if (
this != &callbacks)
4102 callbackObjects = std::move(callbacks.callbackObjects);
4108template <
typename T>
4112 return !callbackObjects.empty();
4122template <
typename T>
4274 void operator()(
ParameterType0 param0 =
ParameterType0(),
ParameterType1 param1 =
ParameterType1(),
ParameterType2 param2 =
ParameterType2(),
ParameterType3 param3 =
ParameterType3(),
ParameterType4 param4 =
ParameterType4(),
ParameterType5 param5 =
ParameterType5(),
ParameterType6 param6 =
ParameterType6(),
ParameterType7 param7 =
ParameterType7(),
ParameterType8 param8 =
ParameterType8(),
ParameterType9 param9 =
ParameterType9(),
ParameterType10 param10 =
ParameterType10(),
ParameterType11 param11 =
ParameterType11(),
ParameterType12 param12 =
ParameterType12(),
ParameterType13 param13 =
ParameterType13(),
ParameterType14 param14 =
ParameterType14(),
ParameterType15 param15 =
ParameterType15(),
ParameterType16 param16 =
ParameterType16(),
ParameterType17 param17 =
ParameterType17(),
ParameterType18 param18 =
ParameterType18(),
ParameterType19 param19 =
ParameterType19());
4288template <
typename T>
4290 callbacksInvoked(false)
4295template <
typename T>
4298 ocean_assert(intermediateRemoveCallbacks.empty());
4299 ocean_assert(intermediateAddCallbacks.empty());
4300 ocean_assert(!callbacksInvoked);
4303template <
typename T>
4306 ocean_assert(callback);
4310 if (callbacksInvoked)
4315 ocean_assert(*i != callback &&
"The callback has been added already!");
4317 ocean_assert(*i != callback &&
"The callback has been added already!");
4320 intermediateAddCallbacks.push_back(callback);
4328template <
typename T>
4333 if (callbacksInvoked)
4338 bool exists =
false;
4348 ocean_assert(exists &&
"The callback does not exist!");
4352 ocean_assert(*i != callback &&
"The callback has been removed already!");
4357 intermediateRemoveCallbacks.push_back(callback);
4365template <
typename T>
4366void ConcurrentCallbacks<T>::operator()(
ParameterType0 param0,
ParameterType1 param1,
ParameterType2 param2,
ParameterType3 param3,
ParameterType4 param4,
ParameterType5 param5,
ParameterType6 param6,
ParameterType7 param7,
ParameterType8 param8,
ParameterType9 param9,
ParameterType10 param10,
ParameterType11 param11,
ParameterType12 param12,
ParameterType13 param13,
ParameterType14 param14,
ParameterType15 param15,
ParameterType16 param16,
ParameterType17 param17,
ParameterType18 param18,
ParameterType19 param19)
4370 callbacksInvoked =
true;
4372 Callbacks<T>::operator()(param0, param1, param2, param3, param4, param5, param6, param7, param8, param9, param10, param11, param12, param13, param14, param15, param16, param17, param18, param19);
4374 callbacksInvoked =
false;
4376 if (!intermediateRemoveCallbacks.empty())
4383 intermediateRemoveCallbacks.clear();
4386 if (!intermediateAddCallbacks.empty())
4393 intermediateAddCallbacks.clear();
This class implements a container for callback functions.
Definition Callback.h:3456
PT13 ParameterType13
Definition of the 14th parameter type of this callback object.
Definition Callback.h:3532
PT10 ParameterType10
Definition of the 11th parameter type of this callback object.
Definition Callback.h:3517
static Callback< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > create(CT &object, typename MemberFunctionPointerMaker< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::Type function)
Creates a new callback container for a member function.
Definition Callback.h:3729
PT4 ParameterType4
Definition of the 5th parameter type of this callback object.
Definition Callback.h:3487
PT7 ParameterType7
Definition of the 8th parameter type of this callback object.
Definition Callback.h:3502
Callback(typename StaticFunctionPointerMaker< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::Type function)
Creates a new callback container for a static function.
Definition Callback.h:3708
PT3 ParameterType3
Definition of the 4th parameter type of this callback object.
Definition Callback.h:3482
static Callback< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > createStatic(typename StaticFunctionPointerMaker< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::Type function)
Creates a new callback container for a static function.
Definition Callback.h:3735
PT17 ParameterType17
Definition of the 18th parameter type of this callback object.
Definition Callback.h:3552
PT9 ParameterType9
Definition of the 10th parameter type of this callback object.
Definition Callback.h:3512
PT2 ParameterType2
Definition of the 3rd parameter type of this callback object.
Definition Callback.h:3477
PT1 ParameterType1
Definition of the 2rd parameter type of this callback object.
Definition Callback.h:3472
virtual ~Callback()
Destructs a callback container object.
Definition Callback.h:3722
PT12 ParameterType12
Definition of the 13th parameter type of this callback object.
Definition Callback.h:3527
Callback()
Creates an empty callback container.
Definition Callback.h:3686
PT0 ParameterType0
Definition of the 1st parameter type of this callback object.
Definition Callback.h:3467
PT14 ParameterType14
Definition of the 15th parameter type of this callback object.
Definition Callback.h:3537
FunctionBase< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > * callbackFunction
Base function container.
Definition Callback.h:3682
PT15 ParameterType15
Definition of the 16th parameter type of this callback object.
Definition Callback.h:3542
Callback(CT &object, typename MemberFunctionPointerMaker< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::Type function)
Creates a new callback container for a member function.
Definition Callback.h:3701
PT6 ParameterType6
Definition of the 7th parameter type of this callback object.
Definition Callback.h:3497
bool operator!=(const Callback &callback) const
Returns whether two callback container addressing not the same class object or not the same local mem...
Definition Callback.h:3780
PT19 ParameterType19
Definition of the 20th parameter type of this callback object.
Definition Callback.h:3562
bool operator==(const Callback &callback) const
Returns whether two callback container addressing the same class object and the same local member fun...
Definition Callback.h:3764
PT8 ParameterType8
Definition of the 9th parameter type of this callback object.
Definition Callback.h:3507
PT16 ParameterType16
Definition of the 17th parameter type of this callback object.
Definition Callback.h:3547
PT18 ParameterType18
Definition of the 19th parameter type of this callback object.
Definition Callback.h:3557
Callback & operator=(const Callback &callback)
Assigns a callback container.
Definition Callback.h:3755
RT ReturnType
Definition of the return type of this callback object.
Definition Callback.h:3462
PT11 ParameterType11
Definition of the 12th parameter type of this callback object.
Definition Callback.h:3522
PT5 ParameterType5
Definition of the 6th parameter type of this callback object.
Definition Callback.h:3492
Callback(FunctionBase< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > *base)
Creates a new function container by a given base function.
Definition Callback.h:3715
Callback(const Callback &callback)
Copies a callback container.
Definition Callback.h:3693
bool isNull() const
Returns whether this container holds no function.
Definition Callback.h:3741
RT operator()(PT0 param0=PT0(), PT1 param1=PT1(), PT2 param2=PT2(), PT3 param3=PT3(), PT4 param4=PT4(), PT5 param5=PT5(), PT6 param6=PT6(), PT7 param7=PT7(), PT8 param8=PT8(), PT9 param9=PT9(), PT10 param10=PT10(), PT11 param11=PT11(), PT12 param12=PT12(), PT13 param13=PT13(), PT14 param14=PT14(), PT15 param15=PT15(), PT16 param16=PT16(), PT17 param17=PT17(), PT18 param18=PT18(), PT19 param19=PT19()) const
Calls the encapsulated callback function.
Definition Callback.h:3747
This class implements a vector holding several callbacks with the same type.
Definition Callback.h:3800
bool isEmpty() const
Returns whether no callback is stored.
Definition Callback.h:4083
Callbacks()
Creates a new object without any initial callback function.
Definition Callback.h:4011
Callbacks< T > & operator=(Callbacks< T > &&callbacks) noexcept
Move operator.
Definition Callback.h:4098
Callbacks(Callbacks< T > &&callbacks) noexcept
Move constructor.
Definition Callback.h:4024
T::ParameterType10 ParameterType10
Definition of the 11th function parameter of the callback object.
Definition Callback.h:3861
T::ParameterType2 ParameterType2
Definition of the 3rd function parameter of the callback object.
Definition Callback.h:3821
Callbacks(const Callbacks< T > &callbacks)
Copy constructor.
Definition Callback.h:4017
T::ParameterType7 ParameterType7
Definition of the 8th function parameter of the callback object.
Definition Callback.h:3846
T::ParameterType15 ParameterType15
Definition of the 16th function parameter of the callback object.
Definition Callback.h:3886
T::ParameterType1 ParameterType1
Definition of the 2nd function parameter of the callback object.
Definition Callback.h:3816
T::ParameterType6 ParameterType6
Definition of the 7th function parameter of the callback object.
Definition Callback.h:3841
CallbackObjects callbackObjects
The callback objects.
Definition Callback.h:4004
T::ReturnType ReturnType
Definition of the return type of the callback object.
Definition Callback.h:3806
T::ParameterType18 ParameterType18
Definition of the 19th function parameter of the callback object.
Definition Callback.h:3901
T::ParameterType17 ParameterType17
Definition of the 18th function parameter of the callback object.
Definition Callback.h:3896
void addCallback(const T &callback)
Adds a new callback object.
Definition Callback.h:4037
T::ParameterType13 ParameterType13
Definition of the 14th function parameter of the callback object.
Definition Callback.h:3876
T::ParameterType3 ParameterType3
Definition of the 4th function parameter of the callback object.
Definition Callback.h:3826
T::ParameterType5 ParameterType5
Definition of the 6th function parameter of the callback object.
Definition Callback.h:3836
T::ParameterType16 ParameterType16
Definition of the 17th function parameter of the callback object.
Definition Callback.h:3891
T::ParameterType14 ParameterType14
Definition of the 15th function parameter of the callback object.
Definition Callback.h:3881
T::ParameterType12 ParameterType12
Definition of the 13th function parameter of the callback object.
Definition Callback.h:3871
void removeCallback(const T &callback)
Removes a callback object.
Definition Callback.h:4050
Callbacks< T > & operator=(const Callbacks< T > &callbacks)
Assign operator.
Definition Callback.h:4090
Lock callbackLock
Callback lock.
Definition Callback.h:4007
T::ParameterType8 ParameterType8
Definition of the 9th function parameter of the callback object.
Definition Callback.h:3851
T::ParameterType9 ParameterType9
Definition of the 10th function parameter of the callback object.
Definition Callback.h:3856
~Callbacks()
Destructs this object.
Definition Callback.h:4031
T::ParameterType0 ParameterType0
Definition of the 1st function parameter of the callback object.
Definition Callback.h:3811
std::vector< T > CallbackObjects
Definition of a vector holding callback objects.
Definition Callback.h:3913
ReturnType operator()(ParameterType0 param0=ParameterType0(), ParameterType1 param1=ParameterType1(), ParameterType2 param2=ParameterType2(), ParameterType3 param3=ParameterType3(), ParameterType4 param4=ParameterType4(), ParameterType5 param5=ParameterType5(), ParameterType6 param6=ParameterType6(), ParameterType7 param7=ParameterType7(), ParameterType8 param8=ParameterType8(), ParameterType9 param9=ParameterType9(), ParameterType10 param10=ParameterType10(), ParameterType11 param11=ParameterType11(), ParameterType12 param12=ParameterType12(), ParameterType13 param13=ParameterType13(), ParameterType14 param14=ParameterType14(), ParameterType15 param15=ParameterType15(), ParameterType16 param16=ParameterType16(), ParameterType17 param17=ParameterType17(), ParameterType18 param18=ParameterType18(), ParameterType19 param19=ParameterType19()) const
Calls all encapsulated callback functions.
Definition Callback.h:4065
T::ParameterType19 ParameterType19
Definition of the 20th function parameter of the callback object.
Definition Callback.h:3906
T::ParameterType11 ParameterType11
Definition of the 12th function parameter of the callback object.
Definition Callback.h:3866
T::ParameterType4 ParameterType4
Definition of the 5th function parameter of the callback object.
Definition Callback.h:3831
This class implements a callback function container using defined function parameters.
Definition Caller.h:1565
This class implements an extended callbacks object and is also thread-safe.
Definition Callback.h:4124
T::ParameterType19 ParameterType19
Definition of the 20th function parameter of the callback object.
Definition Callback.h:4225
T::ParameterType15 ParameterType15
Definition of the 16th function parameter of the callback object.
Definition Callback.h:4205
T::ParameterType16 ParameterType16
Definition of the 17th function parameter of the callback object.
Definition Callback.h:4210
T::ParameterType7 ParameterType7
Definition of the 8th function parameter of the callback object.
Definition Callback.h:4165
T::ParameterType5 ParameterType5
Definition of the 6th function parameter of the callback object.
Definition Callback.h:4155
T::ParameterType17 ParameterType17
Definition of the 18th function parameter of the callback object.
Definition Callback.h:4215
T::ParameterType13 ParameterType13
Definition of the 14th function parameter of the callback object.
Definition Callback.h:4195
T::ParameterType14 ParameterType14
Definition of the 15th function parameter of the callback object.
Definition Callback.h:4200
T::ParameterType2 ParameterType2
Definition of the 3rd function parameter of the callback object.
Definition Callback.h:4140
T::ParameterType10 ParameterType10
Definition of the 11th function parameter of the callback object.
Definition Callback.h:4180
T::ParameterType12 ParameterType12
Definition of the 13th function parameter of the callback object.
Definition Callback.h:4190
Callbacks< T >::CallbackObjects intermediateRemoveCallbacks
Intermediate callbacks to be removed.
Definition Callback.h:4279
T::ParameterType9 ParameterType9
Definition of the 10th function parameter of the callback object.
Definition Callback.h:4175
bool callbacksInvoked
State that the callbacks are currently invoked.
Definition Callback.h:4285
T::ParameterType1 ParameterType1
Definition of the 2nd function parameter of the callback object.
Definition Callback.h:4135
T::ParameterType6 ParameterType6
Definition of the 7th function parameter of the callback object.
Definition Callback.h:4160
void addCallback(const T &callback)
Adds a new callback object.
Definition Callback.h:4304
T::ParameterType11 ParameterType11
Definition of the 12th function parameter of the callback object.
Definition Callback.h:4185
T::ParameterType4 ParameterType4
Definition of the 5th function parameter of the callback object.
Definition Callback.h:4150
T::ParameterType18 ParameterType18
Definition of the 19th function parameter of the callback object.
Definition Callback.h:4220
T::ParameterType8 ParameterType8
Definition of the 9th function parameter of the callback object.
Definition Callback.h:4170
ConcurrentCallbacks()
Creates a new callbacks object.
Definition Callback.h:4289
~ConcurrentCallbacks()
Destructs a callbacks object.
Definition Callback.h:4296
T::ParameterType3 ParameterType3
Definition of the 4th function parameter of the callback object.
Definition Callback.h:4145
void removeCallback(const T &callback)
Removes a callback object.
Definition Callback.h:4329
void operator()(ParameterType0 param0=ParameterType0(), ParameterType1 param1=ParameterType1(), ParameterType2 param2=ParameterType2(), ParameterType3 param3=ParameterType3(), ParameterType4 param4=ParameterType4(), ParameterType5 param5=ParameterType5(), ParameterType6 param6=ParameterType6(), ParameterType7 param7=ParameterType7(), ParameterType8 param8=ParameterType8(), ParameterType9 param9=ParameterType9(), ParameterType10 param10=ParameterType10(), ParameterType11 param11=ParameterType11(), ParameterType12 param12=ParameterType12(), ParameterType13 param13=ParameterType13(), ParameterType14 param14=ParameterType14(), ParameterType15 param15=ParameterType15(), ParameterType16 param16=ParameterType16(), ParameterType17 param17=ParameterType17(), ParameterType18 param18=ParameterType18(), ParameterType19 param19=ParameterType19())
Calls all encapsulated callback functions.
Definition Callback.h:4366
Callbacks< T >::CallbackObjects intermediateAddCallbacks
Intermediate callbacks to be added.
Definition Callback.h:4282
T::ParameterType0 ParameterType0
Definition of the 1st function parameter of the callback object.
Definition Callback.h:4130
This class is the base class for an unparameterized function container.
Definition Callback.h:3052
virtual RT call(PT0 param0=PT0(), PT1 param1=PT1(), PT2 param2=PT2(), PT3 param3=PT3(), PT4 param4=PT4(), PT5 param5=PT5(), PT6 param6=PT6(), PT7 param7=PT7(), PT8 param8=PT8(), PT9 param9=PT9(), PT10 param10=PT10(), PT11 param11=PT11(), PT12 param12=PT12(), PT13 param13=PT13(), PT14 param14=PT14(), PT15 param15=PT15(), PT16 param16=PT16(), PT17 param17=PT17(), PT18 param18=PT18(), PT19 param19=PT19()) const =0
Calls the internal encapsulated function by given parameters.
virtual ~FunctionBase()
Destructs the object.
Definition Callback.h:3101
virtual FunctionBase * copy() const =0
Creates a copy of the entire derived object.
virtual bool operator==(const FunctionBase< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > &functionBase) const =0
Returns whether two functions are equal.
This class implements a recursive lock object.
Definition Lock.h:31
This class implements a helper class providing a functionality to call a member function defined by t...
Definition Callback.h:861
static RT call(CT *functionClass, typename MemberFunctionPointerMaker< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18, PT19 param19)
Calls a function defined by the function pointer the class object and the function parameters.
Definition Callback.h:1906
This class implements an unparameterized member function container.
Definition Callback.h:3137
FunctionType functionPointer
Function pointer of the member function.
Definition Callback.h:3201
MemberFunction(CT &object, FunctionType function)
Creates a new member function object.
Definition Callback.h:3205
virtual RT call(PT0 param0=PT0(), PT1 param1=PT1(), PT2 param2=PT2(), PT3 param3=PT3(), PT4 param4=PT4(), PT5 param5=PT5(), PT6 param6=PT6(), PT7 param7=PT7(), PT8 param8=PT8(), PT9 param9=PT9(), PT10 param10=PT10(), PT11 param11=PT11(), PT12 param12=PT12(), PT13 param13=PT13(), PT14 param14=PT14(), PT15 param15=PT15(), PT16 param16=PT16(), PT17 param17=PT17(), PT18 param18=PT18(), PT19 param19=PT19()) const
Calls the encapsulated function.
Definition Callback.h:3213
virtual bool operator==(const FunctionBase< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > &functionBase) const
Returns whether two functions are equal.
Definition Callback.h:3229
CT * functionClass
Class object holding the member function.
Definition Callback.h:3198
virtual FunctionBase< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > * copy() const
Creates a copy of this element.
Definition Callback.h:3221
MemberFunctionPointerMaker< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::Type FunctionType
Definition of a function pointer for the encapsulated function.
Definition Callback.h:3145
This class implements a helper class providing a definition of a member function pointer only.
Definition Callback.h:83
RT(CT::* TypeConst)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19) const
Definition of a const function pointer with twenty parameters.
Definition Callback.h:94
RT(CT::* Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19)
Definition of a function pointer with twenty parameters.
Definition Callback.h:89
Definition of a class holding no objects.
Definition Callback.h:24
This class implements an parameterized const member function container.
Definition Caller.h:1283
This class implements an parameterized member function container.
Definition Caller.h:1127
This class implements an parameterized static function container.
Definition Caller.h:1438
This class implements a scoped lock object for recursive lock objects.
Definition Lock.h:135
This class implements a helper class providing a functionality to call a static function defined by a...
Definition Callback.h:2229
static RT call(typename StaticFunctionPointerMaker< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18, PT19 param19)
Calls a function defined by the function pointer the class object and the function parameters.
Definition Callback.h:2877
This class implements an unparameterized static function container.
Definition Callback.h:3266
virtual bool operator==(const FunctionBase< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > &functionBase) const
Returns whether two functions are equal.
Definition Callback.h:3351
virtual RT call(PT0 param0=PT0(), PT1 param1=PT1(), PT2 param2=PT2(), PT3 param3=PT3(), PT4 param4=PT4(), PT5 param5=PT5(), PT6 param6=PT6(), PT7 param7=PT7(), PT8 param8=PT8(), PT9 param9=PT9(), PT10 param10=PT10(), PT11 param11=PT11(), PT12 param12=PT12(), PT13 param13=PT13(), PT14 param14=PT14(), PT15 param15=PT15(), PT16 param16=PT16(), PT17 param17=PT17(), PT18 param18=PT18(), PT19 param19=PT19()) const
Calls the encapsulated function.
Definition Callback.h:3337
FunctionType functionPointer
Function pointer of the member function.
Definition Callback.h:3326
virtual FunctionBase< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > * copy() const
Creates a copy of this element.
Definition Callback.h:3344
StaticFunctionPointerMaker< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::Type FunctionType
Definition of a function pointer for the encapsulated function.
Definition Callback.h:3274
StaticFunction(FunctionType function)
Creates a new member function object.
Definition Callback.h:3330
This class is a helper class providing a definition of a static function pointer only.
Definition Callback.h:524
RT(* Type)(PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19)
Definition of a function pointer with twenty parameters.
Definition Callback.h:530
The namespace covering the entire Ocean framework.
Definition Accessor.h:15