ktypelist.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
#ifndef __ktypelist_h__
00026
#define __ktypelist_h__
00027
00028
00029
00030
00031
#define K_TYPELIST_1(T1) KTypeList<T1, ::KDE::NullType>
00032
00033
#define K_TYPELIST_2(T1, T2) KTypeList<T1, K_TYPELIST_1(T2) >
00034
00035
#define K_TYPELIST_3(T1, T2, T3) KTypeList<T1, K_TYPELIST_2(T2, T3) >
00036
00037
#define K_TYPELIST_4(T1, T2, T3, T4) \
00038
KTypeList<T1, K_TYPELIST_3(T2, T3, T4) >
00039
00040
#define K_TYPELIST_5(T1, T2, T3, T4, T5) \
00041
KTypeList<T1, K_TYPELIST_4(T2, T3, T4, T5) >
00042
00043
#define K_TYPELIST_6(T1, T2, T3, T4, T5, T6) \
00044
KTypeList<T1, K_TYPELIST_5(T2, T3, T4, T5, T6) >
00045
00046
#define K_TYPELIST_7(T1, T2, T3, T4, T5, T6, T7) \
00047
KTypeList<T1, K_TYPELIST_6(T2, T3, T4, T5, T6, T7) >
00048
00049
#define K_TYPELIST_8(T1, T2, T3, T4, T5, T6, T7, T8) \
00050
KTypeList<T1, K_TYPELIST_7(T2, T3, T4, T5, T6, T7, T8) >
00051
00052
#define K_TYPELIST_9(T1, T2, T3, T4, T5, T6, T7, T8, T9) \
00053
KTypeList<T1, K_TYPELIST_8(T2, T3, T4, T5, T6, T7, T8, T9) >
00054
00055
#define K_TYPELIST_10(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) \
00056
KTypeList<T1, K_TYPELIST_9(T2, T3, T4, T5, T6, T7, T8, T9, T10) >
00057
00058
#define K_TYPELIST_11(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) \
00059
KTypeList<T1, K_TYPELIST_10(T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) >
00060
00061
#define K_TYPELIST_12(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) \
00062
KTypeList<T1, K_TYPELIST_11(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00063
T11, T12) >
00064
00065
#define K_TYPELIST_13(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) \
00066
KTypeList<T1, K_TYPELIST_12(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00067
T11, T12, T13) >
00068
00069
#define K_TYPELIST_14(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00070
T11, T12, T13, T14) \
00071
KTypeList<T1, K_TYPELIST_13(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00072
T11, T12, T13, T14) >
00073
00074
#define K_TYPELIST_15(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00075
T11, T12, T13, T14, T15) \
00076
KTypeList<T1, K_TYPELIST_14(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00077
T11, T12, T13, T14, T15) >
00078
00079
#define K_TYPELIST_16(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00080
T11, T12, T13, T14, T15, T16) \
00081
KTypeList<T1, K_TYPELIST_15(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00082
T11, T12, T13, T14, T15, T16) >
00083
00084
#define K_TYPELIST_17(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00085
T11, T12, T13, T14, T15, T16, T17) \
00086
KTypeList<T1, K_TYPELIST_16(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00087
T11, T12, T13, T14, T15, T16, T17) >
00088
00089
#define K_TYPELIST_18(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00090
T11, T12, T13, T14, T15, T16, T17, T18) \
00091
KTypeList<T1, K_TYPELIST_17(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00092
T11, T12, T13, T14, T15, T16, T17, T18) >
00093
00094
#define K_TYPELIST_19(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00095
T11, T12, T13, T14, T15, T16, T17, T18, T19) \
00096
KTypeList<T1, K_TYPELIST_18(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00097
T11, T12, T13, T14, T15, T16, T17, T18, T19) >
00098
00099
#define K_TYPELIST_20(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00100
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) \
00101
KTypeList<T1, K_TYPELIST_19(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00102
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) >
00103
00104
#define K_TYPELIST_21(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00105
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) \
00106
KTypeList<T1, K_TYPELIST_20(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00107
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) >
00108
00109
#define K_TYPELIST_22(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00110
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) \
00111
KTypeList<T1, K_TYPELIST_21(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00112
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) >
00113
00114
#define K_TYPELIST_23(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00115
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) \
00116
KTypeList<T1, K_TYPELIST_22(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00117
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) >
00118
00119
#define K_TYPELIST_24(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00120
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) \
00121
KTypeList<T1, K_TYPELIST_23(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00122
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) >
00123
00124
#define K_TYPELIST_25(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00125
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) \
00126
KTypeList<T1, K_TYPELIST_24(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00127
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00128
T21, T22, T23, T24, T25) >
00129
00130
#define K_TYPELIST_26(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00131
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00132
T21, T22, T23, T24, T25, T26) \
00133
KTypeList<T1, K_TYPELIST_25(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00134
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00135
T21, T22, T23, T24, T25, T26) >
00136
00137
#define K_TYPELIST_27(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00138
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00139
T21, T22, T23, T24, T25, T26, T27) \
00140
KTypeList<T1, K_TYPELIST_26(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00141
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00142
T21, T22, T23, T24, T25, T26, T27) >
00143
00144
#define K_TYPELIST_28(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00145
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00146
T21, T22, T23, T24, T25, T26, T27, T28) \
00147
KTypeList<T1, K_TYPELIST_27(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00148
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00149
T21, T22, T23, T24, T25, T26, T27, T28) >
00150
00151
#define K_TYPELIST_29(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00152
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00153
T21, T22, T23, T24, T25, T26, T27, T28, T29) \
00154
KTypeList<T1, K_TYPELIST_28(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00155
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00156
T21, T22, T23, T24, T25, T26, T27, T28, T29) >
00157
00158
#define K_TYPELIST_30(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00159
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00160
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) \
00161
KTypeList<T1, K_TYPELIST_29(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00162
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00163
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) >
00164
00165
#define K_TYPELIST_31(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00166
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00167
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) \
00168
KTypeList<T1, K_TYPELIST_30(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00169
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00170
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) >
00171
00172
#define K_TYPELIST_32(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00173
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00174
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) \
00175
KTypeList<T1, K_TYPELIST_31(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00176
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00177
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) >
00178
00179
#define K_TYPELIST_33(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00180
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00181
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) \
00182
KTypeList<T1, K_TYPELIST_32(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00183
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00184
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) >
00185
00186
#define K_TYPELIST_34(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00187
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00188
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) \
00189
KTypeList<T1, K_TYPELIST_33(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00190
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00191
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) >
00192
00193
#define K_TYPELIST_35(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00194
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00195
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00196
T31, T32, T33, T34, T35) \
00197
KTypeList<T1, K_TYPELIST_34(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00198
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00199
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00200
T31, T32, T33, T34, T35) >
00201
00202
#define K_TYPELIST_36(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00203
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00204
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00205
T31, T32, T33, T34, T35, T36) \
00206
KTypeList<T1, K_TYPELIST_35(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00207
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00208
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00209
T31, T32, T33, T34, T35, T36) >
00210
00211
#define K_TYPELIST_37(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00212
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00213
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00214
T31, T32, T33, T34, T35, T36, T37) \
00215
KTypeList<T1, K_TYPELIST_36(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00216
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00217
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00218
T31, T32, T33, T34, T35, T36, T37) >
00219
00220
#define K_TYPELIST_38(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00221
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00222
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00223
T31, T32, T33, T34, T35, T36, T37, T38) \
00224
KTypeList<T1, K_TYPELIST_37(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00225
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00226
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00227
T31, T32, T33, T34, T35, T36, T37, T38) >
00228
00229
#define K_TYPELIST_39(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00230
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00231
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00232
T31, T32, T33, T34, T35, T36, T37, T38, T39) \
00233
KTypeList<T1, K_TYPELIST_38(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00234
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00235
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00236
T31, T32, T33, T34, T35, T36, T37, T38, T39) >
00237
00238
#define K_TYPELIST_40(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00239
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00240
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00241
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40) \
00242
KTypeList<T1, K_TYPELIST_39(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00243
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00244
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00245
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40) >
00246
00247
#define K_TYPELIST_41(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00248
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00249
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00250
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41) \
00251
KTypeList<T1, K_TYPELIST_40(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00252
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00253
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00254
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41) >
00255
00256
#define K_TYPELIST_42(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00257
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00258
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00259
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42) \
00260
KTypeList<T1, K_TYPELIST_41(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00261
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00262
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00263
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42) >
00264
00265
#define K_TYPELIST_43(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00266
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00267
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00268
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43) \
00269
KTypeList<T1, K_TYPELIST_42(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00270
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00271
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00272
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43) >
00273
00274
#define K_TYPELIST_44(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00275
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00276
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00277
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44) \
00278
KTypeList<T1, K_TYPELIST_43(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00279
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00280
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00281
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44) >
00282
00283
#define K_TYPELIST_45(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00284
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00285
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00286
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
00287
T41, T42, T43, T44, T45) \
00288
KTypeList<T1, K_TYPELIST_44(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00289
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00290
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00291
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
00292
T41, T42, T43, T44, T45) >
00293
00294
#define K_TYPELIST_46(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00295
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00296
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00297
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
00298
T41, T42, T43, T44, T45, T46) \
00299
KTypeList<T1, K_TYPELIST_45(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00300
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00301
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00302
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
00303
T41, T42, T43, T44, T45, T46) >
00304
00305
#define K_TYPELIST_47(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00306
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00307
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00308
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
00309
T41, T42, T43, T44, T45, T46, T47) \
00310
KTypeList<T1, K_TYPELIST_46(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00311
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00312
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00313
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
00314
T41, T42, T43, T44, T45, T46, T47) >
00315
00316
#define K_TYPELIST_48(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00317
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00318
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00319
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
00320
T41, T42, T43, T44, T45, T46, T47, T48) \
00321
KTypeList<T1, K_TYPELIST_47(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00322
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00323
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00324
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
00325
T41, T42, T43, T44, T45, T46, T47, T48) >
00326
00327
#define K_TYPELIST_49(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00328
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00329
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00330
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
00331
T41, T42, T43, T44, T45, T46, T47, T48, T49) \
00332
KTypeList<T1, K_TYPELIST_48(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00333
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00334
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00335
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
00336
T41, T42, T43, T44, T45, T46, T47, T48, T49) >
00337
00338
#define K_TYPELIST_50(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00339
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00340
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00341
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
00342
T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) \
00343
KTypeList<T1, K_TYPELIST_49(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
00344
T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
00345
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
00346
T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
00347
T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) >
00348
00349
namespace KDE
00350 {
00351
class NullType;
00352 }
00353
00361
template <
class T,
class U>
00362 struct KTypeList
00363 {
00365 typedef T
Head;
00367 typedef U
Tail;
00368 };
00369
00370
00371
template <
class TList>
struct KTypeListLength;
00372
00373
template <>
00374
struct KTypeListLength<KDE::NullType>
00375 {
00379
enum { Value = 0 };
00380 };
00381
00386
template <
class T,
class U>
00387 struct KTypeListLength< KTypeList<T, U> >
00388 {
00392
enum { Value = 1 + KTypeListLength<U>::Value };
00393 };
00394
00396
00397
00398
00399
00400
00402
00403
template <
class TList,
class T>
struct KTypeListIndexOf;
00404
00405
template <
class T>
00406
struct KTypeListIndexOf<KDE::NullType, T>
00407 {
00408
enum { value = -1 };
00409 };
00410
00411
template <
class T,
class Tail>
00412
struct KTypeListIndexOf< KTypeList<T, Tail>, T >
00413 {
00414
enum { value = 0 };
00415 };
00416
00417
template <
class Head,
class Tail,
class T>
00418
struct KTypeListIndexOf< KTypeList<Head, Tail>, T >
00419 {
00420
private:
00421
enum { temp = KTypeListIndexOf<Tail, T>::value };
00422
public:
00423
enum { value = (temp == -1 ? -1 : 1 + temp) };
00424 };
00425
00426
00427
00441
template<
00442
typename T1 = KDE::NullType,
typename T2 = KDE::NullType,
typename T3 = KDE::NullType,
00443
typename T4 = KDE::NullType,
typename T5 = KDE::NullType,
typename T6 = KDE::NullType,
00444
typename T7 = KDE::NullType,
typename T8 = KDE::NullType,
typename T9 = KDE::NullType,
00445
typename T10 = KDE::NullType,
typename T11 = KDE::NullType,
typename T12 = KDE::NullType,
00446
typename T13 = KDE::NullType,
typename T14 = KDE::NullType,
typename T15 = KDE::NullType,
00447
typename T16 = KDE::NullType,
typename T17 = KDE::NullType,
typename T18 = KDE::NullType
00448 >
00449 struct KMakeTypeList{
00450
private:
00451
typedef typename KMakeTypeList
00452 <
00453 T2 , T3 , T4 ,
00454 T5 , T6 , T7 ,
00455 T8 , T9 , T10,
00456 T11, T12, T13,
00457 T14, T15, T16,
00458 T17, T18
00459 >
::Result TailResult;
00460
00461
public:
00462
typedef KTypeList<T1, TailResult> Result;
00463 };
00464
00465
template<>
00466
struct KMakeTypeList<>
00467 {
00468
typedef KDE::NullType Result;
00469 };
00470
00471
00472
#endif
00473
This file is part of the documentation for kdecore Library Version 3.3.0.