]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | |
2 | // Copyright Aleksey Gurtovoy 2000-2004 | |
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 "boost/mpl/deque.hpp" header | |
10 | // -- DO NOT modify by hand! | |
11 | ||
12 | namespace boost { namespace mpl { | |
13 | ||
14 | namespace aux { | |
15 | template< int N > | |
16 | struct deque_chooser; | |
17 | ||
18 | } | |
19 | ||
20 | namespace aux { | |
21 | ||
22 | template<> | |
23 | struct deque_chooser<0> | |
24 | { | |
25 | template< | |
26 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
27 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
28 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
29 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
30 | > | |
31 | struct result_ | |
32 | { | |
33 | typedef vector0< | |
34 | ||
35 | >::type type; | |
36 | ||
37 | }; | |
38 | }; | |
39 | ||
40 | } // namespace aux | |
41 | ||
42 | namespace aux { | |
43 | ||
44 | template<> | |
45 | struct deque_chooser<1> | |
46 | { | |
47 | template< | |
48 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
49 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
50 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
51 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
52 | > | |
53 | struct result_ | |
54 | { | |
55 | typedef typename vector1< | |
56 | T0 | |
57 | >::type type; | |
58 | ||
59 | }; | |
60 | }; | |
61 | ||
62 | } // namespace aux | |
63 | ||
64 | namespace aux { | |
65 | ||
66 | template<> | |
67 | struct deque_chooser<2> | |
68 | { | |
69 | template< | |
70 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
71 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
72 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
73 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
74 | > | |
75 | struct result_ | |
76 | { | |
77 | typedef typename vector2< | |
78 | T0, T1 | |
79 | >::type type; | |
80 | ||
81 | }; | |
82 | }; | |
83 | ||
84 | } // namespace aux | |
85 | ||
86 | namespace aux { | |
87 | ||
88 | template<> | |
89 | struct deque_chooser<3> | |
90 | { | |
91 | template< | |
92 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
93 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
94 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
95 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
96 | > | |
97 | struct result_ | |
98 | { | |
99 | typedef typename vector3< | |
100 | T0, T1, T2 | |
101 | >::type type; | |
102 | ||
103 | }; | |
104 | }; | |
105 | ||
106 | } // namespace aux | |
107 | ||
108 | namespace aux { | |
109 | ||
110 | template<> | |
111 | struct deque_chooser<4> | |
112 | { | |
113 | template< | |
114 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
115 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
116 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
117 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
118 | > | |
119 | struct result_ | |
120 | { | |
121 | typedef typename vector4< | |
122 | T0, T1, T2, T3 | |
123 | >::type type; | |
124 | ||
125 | }; | |
126 | }; | |
127 | ||
128 | } // namespace aux | |
129 | ||
130 | namespace aux { | |
131 | ||
132 | template<> | |
133 | struct deque_chooser<5> | |
134 | { | |
135 | template< | |
136 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
137 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
138 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
139 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
140 | > | |
141 | struct result_ | |
142 | { | |
143 | typedef typename vector5< | |
144 | T0, T1, T2, T3, T4 | |
145 | >::type type; | |
146 | ||
147 | }; | |
148 | }; | |
149 | ||
150 | } // namespace aux | |
151 | ||
152 | namespace aux { | |
153 | ||
154 | template<> | |
155 | struct deque_chooser<6> | |
156 | { | |
157 | template< | |
158 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
159 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
160 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
161 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
162 | > | |
163 | struct result_ | |
164 | { | |
165 | typedef typename vector6< | |
166 | T0, T1, T2, T3, T4, T5 | |
167 | >::type type; | |
168 | ||
169 | }; | |
170 | }; | |
171 | ||
172 | } // namespace aux | |
173 | ||
174 | namespace aux { | |
175 | ||
176 | template<> | |
177 | struct deque_chooser<7> | |
178 | { | |
179 | template< | |
180 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
181 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
182 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
183 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
184 | > | |
185 | struct result_ | |
186 | { | |
187 | typedef typename vector7< | |
188 | T0, T1, T2, T3, T4, T5, T6 | |
189 | >::type type; | |
190 | ||
191 | }; | |
192 | }; | |
193 | ||
194 | } // namespace aux | |
195 | ||
196 | namespace aux { | |
197 | ||
198 | template<> | |
199 | struct deque_chooser<8> | |
200 | { | |
201 | template< | |
202 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
203 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
204 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
205 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
206 | > | |
207 | struct result_ | |
208 | { | |
209 | typedef typename vector8< | |
210 | T0, T1, T2, T3, T4, T5, T6, T7 | |
211 | >::type type; | |
212 | ||
213 | }; | |
214 | }; | |
215 | ||
216 | } // namespace aux | |
217 | ||
218 | namespace aux { | |
219 | ||
220 | template<> | |
221 | struct deque_chooser<9> | |
222 | { | |
223 | template< | |
224 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
225 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
226 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
227 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
228 | > | |
229 | struct result_ | |
230 | { | |
231 | typedef typename vector9< | |
232 | T0, T1, T2, T3, T4, T5, T6, T7, T8 | |
233 | >::type type; | |
234 | ||
235 | }; | |
236 | }; | |
237 | ||
238 | } // namespace aux | |
239 | ||
240 | namespace aux { | |
241 | ||
242 | template<> | |
243 | struct deque_chooser<10> | |
244 | { | |
245 | template< | |
246 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
247 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
248 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
249 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
250 | > | |
251 | struct result_ | |
252 | { | |
253 | typedef typename vector10< | |
254 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 | |
255 | >::type type; | |
256 | ||
257 | }; | |
258 | }; | |
259 | ||
260 | } // namespace aux | |
261 | ||
262 | namespace aux { | |
263 | ||
264 | template<> | |
265 | struct deque_chooser<11> | |
266 | { | |
267 | template< | |
268 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
269 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
270 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
271 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
272 | > | |
273 | struct result_ | |
274 | { | |
275 | typedef typename vector11< | |
276 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 | |
277 | >::type type; | |
278 | ||
279 | }; | |
280 | }; | |
281 | ||
282 | } // namespace aux | |
283 | ||
284 | namespace aux { | |
285 | ||
286 | template<> | |
287 | struct deque_chooser<12> | |
288 | { | |
289 | template< | |
290 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
291 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
292 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
293 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
294 | > | |
295 | struct result_ | |
296 | { | |
297 | typedef typename vector12< | |
298 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 | |
299 | >::type type; | |
300 | ||
301 | }; | |
302 | }; | |
303 | ||
304 | } // namespace aux | |
305 | ||
306 | namespace aux { | |
307 | ||
308 | template<> | |
309 | struct deque_chooser<13> | |
310 | { | |
311 | template< | |
312 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
313 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
314 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
315 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
316 | > | |
317 | struct result_ | |
318 | { | |
319 | typedef typename vector13< | |
320 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 | |
321 | >::type type; | |
322 | ||
323 | }; | |
324 | }; | |
325 | ||
326 | } // namespace aux | |
327 | ||
328 | namespace aux { | |
329 | ||
330 | template<> | |
331 | struct deque_chooser<14> | |
332 | { | |
333 | template< | |
334 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
335 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
336 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
337 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
338 | > | |
339 | struct result_ | |
340 | { | |
341 | typedef typename vector14< | |
342 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 | |
343 | >::type type; | |
344 | ||
345 | }; | |
346 | }; | |
347 | ||
348 | } // namespace aux | |
349 | ||
350 | namespace aux { | |
351 | ||
352 | template<> | |
353 | struct deque_chooser<15> | |
354 | { | |
355 | template< | |
356 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
357 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
358 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
359 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
360 | > | |
361 | struct result_ | |
362 | { | |
363 | typedef typename vector15< | |
364 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 | |
365 | >::type type; | |
366 | ||
367 | }; | |
368 | }; | |
369 | ||
370 | } // namespace aux | |
371 | ||
372 | namespace aux { | |
373 | ||
374 | template<> | |
375 | struct deque_chooser<16> | |
376 | { | |
377 | template< | |
378 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
379 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
380 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
381 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
382 | > | |
383 | struct result_ | |
384 | { | |
385 | typedef typename vector16< | |
386 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 | |
387 | >::type type; | |
388 | ||
389 | }; | |
390 | }; | |
391 | ||
392 | } // namespace aux | |
393 | ||
394 | namespace aux { | |
395 | ||
396 | template<> | |
397 | struct deque_chooser<17> | |
398 | { | |
399 | template< | |
400 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
401 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
402 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
403 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
404 | > | |
405 | struct result_ | |
406 | { | |
407 | typedef typename vector17< | |
408 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 | |
409 | >::type type; | |
410 | ||
411 | }; | |
412 | }; | |
413 | ||
414 | } // namespace aux | |
415 | ||
416 | namespace aux { | |
417 | ||
418 | template<> | |
419 | struct deque_chooser<18> | |
420 | { | |
421 | template< | |
422 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
423 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
424 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
425 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
426 | > | |
427 | struct result_ | |
428 | { | |
429 | typedef typename vector18< | |
430 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 | |
431 | >::type type; | |
432 | ||
433 | }; | |
434 | }; | |
435 | ||
436 | } // namespace aux | |
437 | ||
438 | namespace aux { | |
439 | ||
440 | template<> | |
441 | struct deque_chooser<19> | |
442 | { | |
443 | template< | |
444 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
445 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
446 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
447 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
448 | > | |
449 | struct result_ | |
450 | { | |
451 | typedef typename vector19< | |
452 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 | |
453 | >::type type; | |
454 | ||
455 | }; | |
456 | }; | |
457 | ||
458 | } // namespace aux | |
459 | ||
460 | namespace aux { | |
461 | ||
462 | template<> | |
463 | struct deque_chooser<20> | |
464 | { | |
465 | template< | |
466 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
467 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
468 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
469 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
470 | > | |
471 | struct result_ | |
472 | { | |
473 | typedef typename vector20< | |
474 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 | |
475 | >::type type; | |
476 | ||
477 | }; | |
478 | }; | |
479 | ||
480 | } // namespace aux | |
481 | ||
482 | namespace aux { | |
483 | ||
484 | template< typename T > | |
485 | struct is_deque_arg | |
486 | { | |
487 | BOOST_STATIC_CONSTANT(bool, value = true); | |
488 | }; | |
489 | ||
490 | template<> | |
491 | struct is_deque_arg<na> | |
492 | { | |
493 | BOOST_STATIC_CONSTANT(bool, value = false); | |
494 | }; | |
495 | ||
496 | template< | |
497 | typename T1, typename T2, typename T3, typename T4, typename T5 | |
498 | , typename T6, typename T7, typename T8, typename T9, typename T10 | |
499 | , typename T11, typename T12, typename T13, typename T14, typename T15 | |
500 | , typename T16, typename T17, typename T18, typename T19, typename T20 | |
501 | > | |
502 | struct deque_count_args | |
503 | { | |
504 | BOOST_STATIC_CONSTANT(int, value = | |
505 | is_deque_arg<T1>::value + is_deque_arg<T2>::value | |
506 | + is_deque_arg<T3>::value + is_deque_arg<T4>::value | |
507 | + is_deque_arg<T5>::value + is_deque_arg<T6>::value | |
508 | + is_deque_arg<T7>::value + is_deque_arg<T8>::value | |
509 | + is_deque_arg<T9>::value + is_deque_arg<T10>::value | |
510 | + is_deque_arg<T11>::value + is_deque_arg<T12>::value | |
511 | + is_deque_arg<T13>::value + is_deque_arg<T14>::value | |
512 | + is_deque_arg<T15>::value + is_deque_arg<T16>::value | |
513 | + is_deque_arg<T17>::value + is_deque_arg<T18>::value | |
514 | + is_deque_arg<T19>::value + is_deque_arg<T20>::value | |
515 | ); | |
516 | ||
517 | }; | |
518 | ||
519 | template< | |
520 | typename T0, typename T1, typename T2, typename T3, typename T4 | |
521 | , typename T5, typename T6, typename T7, typename T8, typename T9 | |
522 | , typename T10, typename T11, typename T12, typename T13, typename T14 | |
523 | , typename T15, typename T16, typename T17, typename T18, typename T19 | |
524 | > | |
525 | struct deque_impl | |
526 | { | |
527 | typedef aux::deque_count_args< | |
528 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 | |
529 | > arg_num_; | |
530 | ||
531 | typedef typename aux::deque_chooser< arg_num_::value > | |
532 | ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; | |
533 | }; | |
534 | ||
535 | } // namespace aux | |
536 | ||
537 | template< | |
538 | typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na | |
539 | , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na | |
540 | , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na | |
541 | , typename T12 = na, typename T13 = na, typename T14 = na | |
542 | , typename T15 = na, typename T16 = na, typename T17 = na | |
543 | , typename T18 = na, typename T19 = na | |
544 | > | |
545 | struct deque | |
546 | : aux::deque_impl< | |
547 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 | |
548 | >::type | |
549 | { | |
550 | typedef typename aux::deque_impl< | |
551 | T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 | |
552 | >::type type; | |
553 | }; | |
554 | ||
555 | }} | |
556 |