]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | |
2 | // Copyright Aleksey Gurtovoy 2000-2008 | |
3 | // | |
4 | // Distributed under the Boost Software License, Version 1.0. | |
5 | // (See accompanying file LICENSE_1_0.txt or copy at | |
6 | // http://www.boost.org/LICENSE_1_0.txt) | |
7 | // | |
8 | ||
9 | // *Preprocessed* version of the main "apply_wrap.hpp" header | |
10 | // -- DO NOT modify by hand! | |
11 | ||
12 | namespace boost { namespace mpl { | |
13 | ||
14 | template< | |
15 | int N, typename F | |
16 | > | |
17 | struct apply_wrap_impl0; | |
18 | ||
19 | template< typename F, bool F_has_apply > | |
20 | struct apply_wrap_impl0_bcb { | |
21 | typedef typename F::template apply<na> type; | |
22 | }; | |
23 | ||
24 | template< typename F > | |
25 | struct apply_wrap_impl0_bcb< F,true > { | |
26 | typedef typename F::apply type; | |
27 | }; | |
28 | ||
29 | template< | |
30 | typename F | |
31 | > | |
32 | struct apply_wrap_impl0< | |
33 | 0 | |
34 | , F | |
35 | ||
36 | > | |
37 | { | |
38 | typedef apply_wrap_impl0_bcb< F, aux::has_apply<F>::value >::type type; | |
39 | }; | |
40 | ||
41 | template< | |
42 | typename F | |
43 | > | |
44 | struct apply_wrap_impl0< | |
45 | 1 | |
46 | , F | |
47 | ||
48 | > | |
49 | { | |
50 | typedef typename F::template apply< | |
51 | ||
52 | na | |
53 | > type; | |
54 | }; | |
55 | ||
56 | template< | |
57 | typename F | |
58 | > | |
59 | struct apply_wrap_impl0< | |
60 | 2 | |
61 | , F | |
62 | ||
63 | > | |
64 | { | |
65 | typedef typename F::template apply< | |
66 | ||
67 | na, na | |
68 | ||
69 | > type; | |
70 | }; | |
71 | ||
72 | template< | |
73 | typename F | |
74 | > | |
75 | struct apply_wrap_impl0< | |
76 | 3 | |
77 | , F | |
78 | ||
79 | > | |
80 | { | |
81 | typedef typename F::template apply< | |
82 | ||
83 | na, na, na | |
84 | ||
85 | > type; | |
86 | }; | |
87 | ||
88 | template< | |
89 | typename F | |
90 | > | |
91 | struct apply_wrap_impl0< | |
92 | 4 | |
93 | , F | |
94 | ||
95 | > | |
96 | { | |
97 | typedef typename F::template apply< | |
98 | ||
99 | na, na, na, na | |
100 | ||
101 | > type; | |
102 | }; | |
103 | ||
104 | template< | |
105 | typename F | |
106 | > | |
107 | struct apply_wrap_impl0< | |
108 | 5 | |
109 | , F | |
110 | ||
111 | > | |
112 | { | |
113 | typedef typename F::template apply< | |
114 | ||
115 | na, na, na, na, na | |
116 | ||
117 | > type; | |
118 | }; | |
119 | ||
120 | template< | |
121 | typename F | |
122 | > | |
123 | struct apply_wrap0 | |
124 | : apply_wrap_impl0< | |
125 | ::boost::mpl::aux::arity< F,0 >::value | |
126 | , F | |
127 | ||
128 | >::type | |
129 | { | |
130 | }; | |
131 | ||
132 | template< | |
133 | int N, typename F, typename T1 | |
134 | > | |
135 | struct apply_wrap_impl1; | |
136 | ||
137 | template< | |
138 | typename F, typename T1 | |
139 | > | |
140 | struct apply_wrap_impl1< | |
141 | 1 | |
142 | , F | |
143 | , T1 | |
144 | > | |
145 | { | |
146 | typedef typename F::template apply< | |
147 | T1 | |
148 | > type; | |
149 | }; | |
150 | ||
151 | template< | |
152 | typename F, typename T1 | |
153 | > | |
154 | struct apply_wrap_impl1< | |
155 | 2 | |
156 | , F | |
157 | , T1 | |
158 | > | |
159 | { | |
160 | typedef typename F::template apply< | |
161 | T1 | |
162 | , na | |
163 | ||
164 | > type; | |
165 | }; | |
166 | ||
167 | template< | |
168 | typename F, typename T1 | |
169 | > | |
170 | struct apply_wrap_impl1< | |
171 | 3 | |
172 | , F | |
173 | , T1 | |
174 | > | |
175 | { | |
176 | typedef typename F::template apply< | |
177 | T1 | |
178 | , na, na | |
179 | ||
180 | > type; | |
181 | }; | |
182 | ||
183 | template< | |
184 | typename F, typename T1 | |
185 | > | |
186 | struct apply_wrap_impl1< | |
187 | 4 | |
188 | , F | |
189 | , T1 | |
190 | > | |
191 | { | |
192 | typedef typename F::template apply< | |
193 | T1 | |
194 | , na, na, na | |
195 | ||
196 | > type; | |
197 | }; | |
198 | ||
199 | template< | |
200 | typename F, typename T1 | |
201 | > | |
202 | struct apply_wrap_impl1< | |
203 | 5 | |
204 | , F | |
205 | , T1 | |
206 | > | |
207 | { | |
208 | typedef typename F::template apply< | |
209 | T1 | |
210 | , na, na, na, na | |
211 | ||
212 | > type; | |
213 | }; | |
214 | ||
215 | template< | |
216 | typename F, typename T1 | |
217 | > | |
218 | struct apply_wrap1 | |
219 | : apply_wrap_impl1< | |
220 | ::boost::mpl::aux::arity< F,1 >::value | |
221 | , F | |
222 | , T1 | |
223 | >::type | |
224 | { | |
225 | }; | |
226 | ||
227 | template< | |
228 | int N, typename F, typename T1, typename T2 | |
229 | > | |
230 | struct apply_wrap_impl2; | |
231 | ||
232 | template< | |
233 | typename F, typename T1, typename T2 | |
234 | > | |
235 | struct apply_wrap_impl2< | |
236 | 2 | |
237 | , F | |
238 | , T1, T2 | |
239 | > | |
240 | { | |
241 | typedef typename F::template apply< | |
242 | T1, T2 | |
243 | ||
244 | > type; | |
245 | }; | |
246 | ||
247 | template< | |
248 | typename F, typename T1, typename T2 | |
249 | > | |
250 | struct apply_wrap_impl2< | |
251 | 3 | |
252 | , F | |
253 | , T1, T2 | |
254 | > | |
255 | { | |
256 | typedef typename F::template apply< | |
257 | T1, T2 | |
258 | ||
259 | , na | |
260 | ||
261 | > type; | |
262 | }; | |
263 | ||
264 | template< | |
265 | typename F, typename T1, typename T2 | |
266 | > | |
267 | struct apply_wrap_impl2< | |
268 | 4 | |
269 | , F | |
270 | , T1, T2 | |
271 | > | |
272 | { | |
273 | typedef typename F::template apply< | |
274 | T1, T2 | |
275 | ||
276 | , na, na | |
277 | ||
278 | > type; | |
279 | }; | |
280 | ||
281 | template< | |
282 | typename F, typename T1, typename T2 | |
283 | > | |
284 | struct apply_wrap_impl2< | |
285 | 5 | |
286 | , F | |
287 | , T1, T2 | |
288 | > | |
289 | { | |
290 | typedef typename F::template apply< | |
291 | T1, T2 | |
292 | ||
293 | , na, na, na | |
294 | ||
295 | > type; | |
296 | }; | |
297 | ||
298 | template< | |
299 | typename F, typename T1, typename T2 | |
300 | > | |
301 | struct apply_wrap2 | |
302 | : apply_wrap_impl2< | |
303 | ::boost::mpl::aux::arity< F,2 >::value | |
304 | , F | |
305 | , T1, T2 | |
306 | >::type | |
307 | { | |
308 | }; | |
309 | ||
310 | template< | |
311 | int N, typename F, typename T1, typename T2, typename T3 | |
312 | > | |
313 | struct apply_wrap_impl3; | |
314 | ||
315 | template< | |
316 | typename F, typename T1, typename T2, typename T3 | |
317 | > | |
318 | struct apply_wrap_impl3< | |
319 | 3 | |
320 | , F | |
321 | , T1, T2, T3 | |
322 | > | |
323 | { | |
324 | typedef typename F::template apply< | |
325 | T1, T2, T3 | |
326 | ||
327 | > type; | |
328 | }; | |
329 | ||
330 | template< | |
331 | typename F, typename T1, typename T2, typename T3 | |
332 | > | |
333 | struct apply_wrap_impl3< | |
334 | 4 | |
335 | , F | |
336 | , T1, T2, T3 | |
337 | > | |
338 | { | |
339 | typedef typename F::template apply< | |
340 | T1, T2, T3 | |
341 | ||
342 | , na | |
343 | ||
344 | > type; | |
345 | }; | |
346 | ||
347 | template< | |
348 | typename F, typename T1, typename T2, typename T3 | |
349 | > | |
350 | struct apply_wrap_impl3< | |
351 | 5 | |
352 | , F | |
353 | , T1, T2, T3 | |
354 | > | |
355 | { | |
356 | typedef typename F::template apply< | |
357 | T1, T2, T3 | |
358 | ||
359 | , na, na | |
360 | ||
361 | > type; | |
362 | }; | |
363 | ||
364 | template< | |
365 | typename F, typename T1, typename T2, typename T3 | |
366 | > | |
367 | struct apply_wrap3 | |
368 | : apply_wrap_impl3< | |
369 | ::boost::mpl::aux::arity< F,3 >::value | |
370 | , F | |
371 | , T1, T2, T3 | |
372 | >::type | |
373 | { | |
374 | }; | |
375 | ||
376 | template< | |
377 | int N, typename F, typename T1, typename T2, typename T3, typename T4 | |
378 | > | |
379 | struct apply_wrap_impl4; | |
380 | ||
381 | template< | |
382 | typename F, typename T1, typename T2, typename T3, typename T4 | |
383 | > | |
384 | struct apply_wrap_impl4< | |
385 | 4 | |
386 | , F | |
387 | , T1, T2, T3, T4 | |
388 | > | |
389 | { | |
390 | typedef typename F::template apply< | |
391 | T1, T2, T3, T4 | |
392 | ||
393 | > type; | |
394 | }; | |
395 | ||
396 | template< | |
397 | typename F, typename T1, typename T2, typename T3, typename T4 | |
398 | > | |
399 | struct apply_wrap_impl4< | |
400 | 5 | |
401 | , F | |
402 | , T1, T2, T3, T4 | |
403 | > | |
404 | { | |
405 | typedef typename F::template apply< | |
406 | T1, T2, T3, T4 | |
407 | ||
408 | , na | |
409 | ||
410 | > type; | |
411 | }; | |
412 | ||
413 | template< | |
414 | typename F, typename T1, typename T2, typename T3, typename T4 | |
415 | > | |
416 | struct apply_wrap4 | |
417 | : apply_wrap_impl4< | |
418 | ::boost::mpl::aux::arity< F,4 >::value | |
419 | , F | |
420 | , T1, T2, T3, T4 | |
421 | >::type | |
422 | { | |
423 | }; | |
424 | ||
425 | template< | |
426 | int N, typename F, typename T1, typename T2, typename T3, typename T4 | |
427 | , typename T5 | |
428 | > | |
429 | struct apply_wrap_impl5; | |
430 | ||
431 | template< | |
432 | typename F, typename T1, typename T2, typename T3, typename T4 | |
433 | , typename T5 | |
434 | > | |
435 | struct apply_wrap_impl5< | |
436 | 5 | |
437 | , F | |
438 | , T1, T2, T3, T4, T5 | |
439 | > | |
440 | { | |
441 | typedef typename F::template apply< | |
442 | T1, T2, T3, T4, T5 | |
443 | ||
444 | > type; | |
445 | }; | |
446 | ||
447 | template< | |
448 | typename F, typename T1, typename T2, typename T3, typename T4 | |
449 | , typename T5 | |
450 | > | |
451 | struct apply_wrap5 | |
452 | : apply_wrap_impl5< | |
453 | ::boost::mpl::aux::arity< F,5 >::value | |
454 | , F | |
455 | , T1, T2, T3, T4, T5 | |
456 | >::type | |
457 | { | |
458 | }; | |
459 | ||
460 | }} | |
461 |