25 #ifndef __ktypelist_h__
26 #define __ktypelist_h__
31 #define K_TYPELIST_1(T1) KTypeList<T1, ::KDE::NullType>
33 #define K_TYPELIST_2(T1, T2) KTypeList<T1, K_TYPELIST_1(T2) >
35 #define K_TYPELIST_3(T1, T2, T3) KTypeList<T1, K_TYPELIST_2(T2, T3) >
37 #define K_TYPELIST_4(T1, T2, T3, T4) \
38 KTypeList<T1, K_TYPELIST_3(T2, T3, T4) >
40 #define K_TYPELIST_5(T1, T2, T3, T4, T5) \
41 KTypeList<T1, K_TYPELIST_4(T2, T3, T4, T5) >
43 #define K_TYPELIST_6(T1, T2, T3, T4, T5, T6) \
44 KTypeList<T1, K_TYPELIST_5(T2, T3, T4, T5, T6) >
46 #define K_TYPELIST_7(T1, T2, T3, T4, T5, T6, T7) \
47 KTypeList<T1, K_TYPELIST_6(T2, T3, T4, T5, T6, T7) >
49 #define K_TYPELIST_8(T1, T2, T3, T4, T5, T6, T7, T8) \
50 KTypeList<T1, K_TYPELIST_7(T2, T3, T4, T5, T6, T7, T8) >
52 #define K_TYPELIST_9(T1, T2, T3, T4, T5, T6, T7, T8, T9) \
53 KTypeList<T1, K_TYPELIST_8(T2, T3, T4, T5, T6, T7, T8, T9) >
55 #define K_TYPELIST_10(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) \
56 KTypeList<T1, K_TYPELIST_9(T2, T3, T4, T5, T6, T7, T8, T9, T10) >
58 #define K_TYPELIST_11(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) \
59 KTypeList<T1, K_TYPELIST_10(T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) >
61 #define K_TYPELIST_12(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) \
62 KTypeList<T1, K_TYPELIST_11(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
65 #define K_TYPELIST_13(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) \
66 KTypeList<T1, K_TYPELIST_12(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
69 #define K_TYPELIST_14(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
71 KTypeList<T1, K_TYPELIST_13(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
74 #define K_TYPELIST_15(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
75 T11, T12, T13, T14, T15) \
76 KTypeList<T1, K_TYPELIST_14(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
77 T11, T12, T13, T14, T15) >
79 #define K_TYPELIST_16(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
80 T11, T12, T13, T14, T15, T16) \
81 KTypeList<T1, K_TYPELIST_15(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
82 T11, T12, T13, T14, T15, T16) >
84 #define K_TYPELIST_17(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
85 T11, T12, T13, T14, T15, T16, T17) \
86 KTypeList<T1, K_TYPELIST_16(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
87 T11, T12, T13, T14, T15, T16, T17) >
89 #define K_TYPELIST_18(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
90 T11, T12, T13, T14, T15, T16, T17, T18) \
91 KTypeList<T1, K_TYPELIST_17(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
92 T11, T12, T13, T14, T15, T16, T17, T18) >
94 #define K_TYPELIST_19(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
95 T11, T12, T13, T14, T15, T16, T17, T18, T19) \
96 KTypeList<T1, K_TYPELIST_18(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
97 T11, T12, T13, T14, T15, T16, T17, T18, T19) >
99 #define K_TYPELIST_20(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
100 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) \
101 KTypeList<T1, K_TYPELIST_19(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
102 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20) >
104 #define K_TYPELIST_21(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
105 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) \
106 KTypeList<T1, K_TYPELIST_20(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
107 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21) >
109 #define K_TYPELIST_22(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
110 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) \
111 KTypeList<T1, K_TYPELIST_21(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
112 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22) >
114 #define K_TYPELIST_23(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
115 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) \
116 KTypeList<T1, K_TYPELIST_22(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
117 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23) >
119 #define K_TYPELIST_24(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
120 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) \
121 KTypeList<T1, K_TYPELIST_23(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
122 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24) >
124 #define K_TYPELIST_25(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
125 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25) \
126 KTypeList<T1, K_TYPELIST_24(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
127 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
128 T21, T22, T23, T24, T25) >
130 #define K_TYPELIST_26(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
131 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
132 T21, T22, T23, T24, T25, T26) \
133 KTypeList<T1, K_TYPELIST_25(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
134 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
135 T21, T22, T23, T24, T25, T26) >
137 #define K_TYPELIST_27(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
138 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
139 T21, T22, T23, T24, T25, T26, T27) \
140 KTypeList<T1, K_TYPELIST_26(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
141 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
142 T21, T22, T23, T24, T25, T26, T27) >
144 #define K_TYPELIST_28(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
145 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
146 T21, T22, T23, T24, T25, T26, T27, T28) \
147 KTypeList<T1, K_TYPELIST_27(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
148 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
149 T21, T22, T23, T24, T25, T26, T27, T28) >
151 #define K_TYPELIST_29(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
152 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
153 T21, T22, T23, T24, T25, T26, T27, T28, T29) \
154 KTypeList<T1, K_TYPELIST_28(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
155 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
156 T21, T22, T23, T24, T25, T26, T27, T28, T29) >
158 #define K_TYPELIST_30(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
159 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
160 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) \
161 KTypeList<T1, K_TYPELIST_29(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
162 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
163 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30) >
165 #define K_TYPELIST_31(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
166 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
167 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) \
168 KTypeList<T1, K_TYPELIST_30(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
169 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
170 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31) >
172 #define K_TYPELIST_32(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
173 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
174 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) \
175 KTypeList<T1, K_TYPELIST_31(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
176 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
177 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32) >
179 #define K_TYPELIST_33(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
180 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
181 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) \
182 KTypeList<T1, K_TYPELIST_32(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
183 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
184 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33) >
186 #define K_TYPELIST_34(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
187 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
188 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) \
189 KTypeList<T1, K_TYPELIST_33(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
190 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
191 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34) >
193 #define K_TYPELIST_35(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
194 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
195 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
196 T31, T32, T33, T34, T35) \
197 KTypeList<T1, K_TYPELIST_34(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
198 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
199 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
200 T31, T32, T33, T34, T35) >
202 #define K_TYPELIST_36(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
203 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
204 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
205 T31, T32, T33, T34, T35, T36) \
206 KTypeList<T1, K_TYPELIST_35(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
207 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
208 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
209 T31, T32, T33, T34, T35, T36) >
211 #define K_TYPELIST_37(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
212 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
213 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
214 T31, T32, T33, T34, T35, T36, T37) \
215 KTypeList<T1, K_TYPELIST_36(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
216 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
217 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
218 T31, T32, T33, T34, T35, T36, T37) >
220 #define K_TYPELIST_38(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
221 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
222 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
223 T31, T32, T33, T34, T35, T36, T37, T38) \
224 KTypeList<T1, K_TYPELIST_37(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
225 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
226 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
227 T31, T32, T33, T34, T35, T36, T37, T38) >
229 #define K_TYPELIST_39(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
230 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
231 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
232 T31, T32, T33, T34, T35, T36, T37, T38, T39) \
233 KTypeList<T1, K_TYPELIST_38(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
234 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
235 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
236 T31, T32, T33, T34, T35, T36, T37, T38, T39) >
238 #define K_TYPELIST_40(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
239 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
240 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
241 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40) \
242 KTypeList<T1, K_TYPELIST_39(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
243 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
244 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
245 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40) >
247 #define K_TYPELIST_41(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
248 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
249 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
250 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41) \
251 KTypeList<T1, K_TYPELIST_40(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
252 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
253 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
254 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41) >
256 #define K_TYPELIST_42(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
257 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
258 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
259 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42) \
260 KTypeList<T1, K_TYPELIST_41(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
261 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
262 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
263 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42) >
265 #define K_TYPELIST_43(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
266 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
267 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
268 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43) \
269 KTypeList<T1, K_TYPELIST_42(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
270 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
271 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
272 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43) >
274 #define K_TYPELIST_44(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
275 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
276 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
277 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44) \
278 KTypeList<T1, K_TYPELIST_43(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
279 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
280 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
281 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44) >
283 #define K_TYPELIST_45(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
284 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
285 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
286 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
287 T41, T42, T43, T44, T45) \
288 KTypeList<T1, K_TYPELIST_44(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
289 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
290 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
291 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
292 T41, T42, T43, T44, T45) >
294 #define K_TYPELIST_46(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
295 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
296 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
297 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
298 T41, T42, T43, T44, T45, T46) \
299 KTypeList<T1, K_TYPELIST_45(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
300 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
301 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
302 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
303 T41, T42, T43, T44, T45, T46) >
305 #define K_TYPELIST_47(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
306 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
307 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
308 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
309 T41, T42, T43, T44, T45, T46, T47) \
310 KTypeList<T1, K_TYPELIST_46(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
311 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
312 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
313 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
314 T41, T42, T43, T44, T45, T46, T47) >
316 #define K_TYPELIST_48(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
317 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
318 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
319 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
320 T41, T42, T43, T44, T45, T46, T47, T48) \
321 KTypeList<T1, K_TYPELIST_47(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
322 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
323 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
324 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
325 T41, T42, T43, T44, T45, T46, T47, T48) >
327 #define K_TYPELIST_49(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
328 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
329 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
330 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
331 T41, T42, T43, T44, T45, T46, T47, T48, T49) \
332 KTypeList<T1, K_TYPELIST_48(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
333 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
334 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
335 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
336 T41, T42, T43, T44, T45, T46, T47, T48, T49) >
338 #define K_TYPELIST_50(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
339 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
340 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
341 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
342 T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) \
343 KTypeList<T1, K_TYPELIST_49(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
344 T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
345 T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
346 T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
347 T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) >
361 template <
class T,
class U>
371 template <
class TList>
struct KTypeListLength;
374 struct KTypeListLength<
KDE::NullType>
386 template <
class T,
class U>
392 enum { Value = 1 + KTypeListLength<U>::Value };
403 template <
class TList,
class T>
struct KTypeListIndexOf;
406 struct KTypeListIndexOf<
KDE::NullType, T>
411 template <
class T,
class Tail>
412 struct KTypeListIndexOf<
KTypeList<T, Tail>, T >
417 template <
class Head,
class Tail,
class T>
418 struct KTypeListIndexOf<
KTypeList<Head, Tail>, T >
421 enum { temp = KTypeListIndexOf<Tail, T>::value };
423 enum { value = (temp == -1 ? -1 : 1 + temp) };
442 typename T1 = KDE::NullType,
typename T2 = KDE::NullType,
typename T3 = KDE::NullType,
443 typename T4 = KDE::NullType,
typename T5 = KDE::NullType,
typename T6 = KDE::NullType,
444 typename T7 = KDE::NullType,
typename T8 = KDE::NullType,
typename T9 = KDE::NullType,
445 typename T10 = KDE::NullType,
typename T11 = KDE::NullType,
typename T12 = KDE::NullType,
446 typename T13 = KDE::NullType,
typename T14 = KDE::NullType,
typename T15 = KDE::NullType,
447 typename T16 = KDE::NullType,
typename T17 = KDE::NullType,
typename T18 = KDE::NullType
468 typedef KDE::NullType Result;
Namespace for general KDE functions.
KMakeTypeList the prefered way to create a typelist for you.
The building block of typelists of any length.
T Head
first element, a non-typelist type by convention
U Tail
second element, can be another typelist