template <typename _Class, typename _Ret,
typename T1=EmptyType, typename T2=EmptyType, typename T3=EmptyType, typename T4=EmptyType,
typename T5=EmptyType, typename T6=EmptyType, typename T7=EmptyType, typename T8=EmptyType,
- typename T9=EmptyType, typename T10=EmptyType, typename T11=EmptyType, typename T12=EmptyType
+ typename T9=EmptyType, typename T10=EmptyType, typename T11=EmptyType, typename T12=EmptyType,
typename T13=EmptyType, typename T14=EmptyType, typename T15=EmptyType, typename T16=EmptyType
>
class method_pointer_type
template <typename _Class, typename _Ret,
typename T1, typename T2, typename T3, typename T4,
typename T5, typename T6, typename T7, typename T8,
- typename T9, typename T10, typename T11, typename T12
+ typename T9, typename T10, typename T11, typename T12,
typename T13, typename T14, typename T15
>
class method_pointer_type<_Ret,_Class,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>
typedef _Ret (_Class::*type)(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);
};
+ // 14 Paramaters
+ template <typename _Class, typename _Ret,
+ typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6, typename T7, typename T8,
+ typename T9, typename T10, typename T11, typename T12,
+ typename T13, typename T14
+ >
+ class method_pointer_type<_Ret,_Class,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);
+ };
+
+ // 13 Paramaters
+ template <typename _Class, typename _Ret,
+ typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6, typename T7, typename T8,
+ typename T9, typename T10, typename T11, typename T12,
+ typename T13
+ >
+ class method_pointer_type<_Ret,_Class,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);
+ };
+
+ // 12 Paramaters
+ template <typename _Class, typename _Ret,
+ typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6, typename T7, typename T8,
+ typename T9, typename T10, typename T11, typename T12
+ >
+ class method_pointer_type<_Ret,_Class,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);
+ };
+
+ // 11 Paramaters
+ template <typename _Class, typename _Ret,
+ typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6, typename T7, typename T8,
+ typename T9, typename T10, typename T11
+ >
+ class method_pointer_type<_Ret,_Class,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);
+ };
+
+ // 10 Paramaters
+ template <typename _Class, typename _Ret,
+ typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6, typename T7, typename T8,
+ typename T9, typename T10
+ >
+ class method_pointer_type<_Ret,_Class,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);
+ };
+
+ // 9 Paramaters
+ template <typename _Class, typename _Ret,
+ typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6, typename T7, typename T8,
+ typename T9
+ >
+ class method_pointer_type<_Ret,_Class,T1,T2,T3,T4,T5,T6,T7,T8,T9>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2,T3,T4,T5,T6,T7,T8,T9);
+ };
+
+ // 8 Paramaters
+ template <typename _Class, typename _Ret,
+ typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6, typename T7, typename T8
+ >
+ class method_pointer_type<_Ret,_Class,T1,T2,T3,T4,T5,T6,T7,T8>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2,T3,T4,T5,T6,T7,T8);
+ };
+
+ // 7 Paramaters
+ template <typename _Class, typename _Ret,
+ typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6, typename T7
+ >
+ class method_pointer_type<_Ret,_Class,T1,T2,T3,T4,T5,T6,T7>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2,T3,T4,T5,T6,T7);
+ };
+
+ // 6 Paramaters
+ template <typename _Class, typename _Ret,
+ typename T1, typename T2, typename T3, typename T4,
+ typename T5, typename T6
+ >
+ class method_pointer_type<_Ret,_Class,T1,T2,T3,T4,T5,T6>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2,T3,T4,T5,T6);
+ };
+
+ // 5 Paramaters
+ template <typename _Class, typename _Ret, typename T1, typename T2, typename T3, typename T4, typename T5>
+ class method_pointer_type<_Ret,_Class,T1,T2,T3,T4,T5>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2,T3,T4,T5);
+ };
+
+ // 4 Paramaters
+ template <typename _Class, typename _Ret, typename T1, typename T2, typename T3, typename T4>
+ class method_pointer_type<_Ret,_Class,T1,T2,T3,T4>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2,T3,T4);
+ };
+
+ // 3 Paramaters
+ template <typename _Class, typename _Ret, typename T1, typename T2, typename T3>
+ class method_pointer_type<_Ret,_Class,T1,T2,T3>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2,T3);
+ };
+
+ // 2 Paramaters
+ template <typename _Class, typename _Ret, typename T1, typename T2>
+ class method_pointer_type<_Ret,_Class,T1,T2>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1,T2);
+ };
+
+ // 1 Paramaters
+ template <typename _Class, typename _Ret, typename T1>
+ class method_pointer_type<_Ret,_Class,T1>
+ {
+ public:
+ typedef _Ret (_Class::*type)(T1);
+ };
+
+ // 0 Paramaters
+ template <typename _Class, typename _Ret>
+ class method_pointer_type<_Ret,_Class>
+ {
+ public:
+ typedef _Ret (_Class::*type)();
+ };
/////////////////////////////////////////////////////////////
}