]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/mpl/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / mpl / include / boost / mpl / vector / aux_ / preprocessed / plain / vector10.hpp
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/vector/vector10.hpp" header
10 // -- DO NOT modify by hand!
11
12 namespace boost { namespace mpl {
13
14 template< typename V >
15 struct v_at< V,0 >
16 {
17 typedef typename V::item0 type;
18 };
19
20 template<
21 typename T0
22 >
23 struct vector1
24 {
25 typedef aux::vector_tag<1> tag;
26 typedef vector1 type;
27 typedef T0 item0;
28 typedef void_ item1;
29 typedef T0 back;
30 typedef v_iter< type,0 > begin;
31 typedef v_iter< type,1 > end;
32 };
33
34 template<>
35 struct push_front_impl< aux::vector_tag<0> >
36 {
37 template< typename Vector, typename T > struct apply
38 {
39 typedef vector1<
40 T
41 > type;
42 };
43 };
44
45 template<>
46 struct pop_front_impl< aux::vector_tag<1> >
47 {
48 template< typename Vector > struct apply
49 {
50 typedef vector0<
51
52 > type;
53 };
54 };
55
56 template<>
57 struct push_back_impl< aux::vector_tag<0> >
58 {
59 template< typename Vector, typename T > struct apply
60 {
61 typedef vector1<
62
63 T
64 > type;
65 };
66 };
67
68 template<>
69 struct pop_back_impl< aux::vector_tag<1> >
70 {
71 template< typename Vector > struct apply
72 {
73 typedef vector0<
74
75 > type;
76 };
77 };
78
79 template< typename V >
80 struct v_at< V,1 >
81 {
82 typedef typename V::item1 type;
83 };
84
85 template<
86 typename T0, typename T1
87 >
88 struct vector2
89 {
90 typedef aux::vector_tag<2> tag;
91 typedef vector2 type;
92 typedef T0 item0;
93 typedef T1 item1;
94
95
96 typedef void_ item2;
97 typedef T1 back;
98 typedef v_iter< type,0 > begin;
99 typedef v_iter< type,2 > end;
100 };
101
102 template<>
103 struct push_front_impl< aux::vector_tag<1> >
104 {
105 template< typename Vector, typename T > struct apply
106 {
107 typedef vector2<
108 T
109 ,
110 typename Vector::item0
111 > type;
112 };
113 };
114
115 template<>
116 struct pop_front_impl< aux::vector_tag<2> >
117 {
118 template< typename Vector > struct apply
119 {
120 typedef vector1<
121 typename Vector::item1
122 > type;
123 };
124 };
125
126 template<>
127 struct push_back_impl< aux::vector_tag<1> >
128 {
129 template< typename Vector, typename T > struct apply
130 {
131 typedef vector2<
132 typename Vector::item0
133 ,
134 T
135 > type;
136 };
137 };
138
139 template<>
140 struct pop_back_impl< aux::vector_tag<2> >
141 {
142 template< typename Vector > struct apply
143 {
144 typedef vector1<
145 typename Vector::item0
146 > type;
147 };
148 };
149
150 template< typename V >
151 struct v_at< V,2 >
152 {
153 typedef typename V::item2 type;
154 };
155
156 template<
157 typename T0, typename T1, typename T2
158 >
159 struct vector3
160 {
161 typedef aux::vector_tag<3> tag;
162 typedef vector3 type;
163 typedef T0 item0;
164 typedef T1 item1;
165 typedef T2 item2;
166
167
168 typedef void_ item3;
169 typedef T2 back;
170 typedef v_iter< type,0 > begin;
171 typedef v_iter< type,3 > end;
172 };
173
174 template<>
175 struct push_front_impl< aux::vector_tag<2> >
176 {
177 template< typename Vector, typename T > struct apply
178 {
179 typedef vector3<
180 T
181 ,
182 typename Vector::item0, typename Vector::item1
183 > type;
184 };
185 };
186
187 template<>
188 struct pop_front_impl< aux::vector_tag<3> >
189 {
190 template< typename Vector > struct apply
191 {
192 typedef vector2<
193 typename Vector::item1, typename Vector::item2
194 > type;
195 };
196 };
197
198 template<>
199 struct push_back_impl< aux::vector_tag<2> >
200 {
201 template< typename Vector, typename T > struct apply
202 {
203 typedef vector3<
204 typename Vector::item0, typename Vector::item1
205 ,
206 T
207 > type;
208 };
209 };
210
211 template<>
212 struct pop_back_impl< aux::vector_tag<3> >
213 {
214 template< typename Vector > struct apply
215 {
216 typedef vector2<
217 typename Vector::item0, typename Vector::item1
218 > type;
219 };
220 };
221
222 template< typename V >
223 struct v_at< V,3 >
224 {
225 typedef typename V::item3 type;
226 };
227
228 template<
229 typename T0, typename T1, typename T2, typename T3
230 >
231 struct vector4
232 {
233 typedef aux::vector_tag<4> tag;
234 typedef vector4 type;
235 typedef T0 item0;
236 typedef T1 item1;
237 typedef T2 item2;
238 typedef T3 item3;
239
240
241 typedef void_ item4;
242 typedef T3 back;
243 typedef v_iter< type,0 > begin;
244 typedef v_iter< type,4 > end;
245 };
246
247 template<>
248 struct push_front_impl< aux::vector_tag<3> >
249 {
250 template< typename Vector, typename T > struct apply
251 {
252 typedef vector4<
253 T
254 ,
255 typename Vector::item0, typename Vector::item1
256 , typename Vector::item2
257 > type;
258 };
259 };
260
261 template<>
262 struct pop_front_impl< aux::vector_tag<4> >
263 {
264 template< typename Vector > struct apply
265 {
266 typedef vector3<
267 typename Vector::item1, typename Vector::item2
268 , typename Vector::item3
269 > type;
270 };
271 };
272
273 template<>
274 struct push_back_impl< aux::vector_tag<3> >
275 {
276 template< typename Vector, typename T > struct apply
277 {
278 typedef vector4<
279 typename Vector::item0, typename Vector::item1
280 , typename Vector::item2
281 ,
282 T
283 > type;
284 };
285 };
286
287 template<>
288 struct pop_back_impl< aux::vector_tag<4> >
289 {
290 template< typename Vector > struct apply
291 {
292 typedef vector3<
293 typename Vector::item0, typename Vector::item1
294 , typename Vector::item2
295 > type;
296 };
297 };
298
299 template< typename V >
300 struct v_at< V,4 >
301 {
302 typedef typename V::item4 type;
303 };
304
305 template<
306 typename T0, typename T1, typename T2, typename T3, typename T4
307 >
308 struct vector5
309 {
310 typedef aux::vector_tag<5> tag;
311 typedef vector5 type;
312 typedef T0 item0;
313 typedef T1 item1;
314 typedef T2 item2;
315 typedef T3 item3;
316 typedef T4 item4;
317
318
319 typedef void_ item5;
320 typedef T4 back;
321 typedef v_iter< type,0 > begin;
322 typedef v_iter< type,5 > end;
323 };
324
325 template<>
326 struct push_front_impl< aux::vector_tag<4> >
327 {
328 template< typename Vector, typename T > struct apply
329 {
330 typedef vector5<
331 T
332 ,
333 typename Vector::item0, typename Vector::item1
334 , typename Vector::item2, typename Vector::item3
335 > type;
336 };
337 };
338
339 template<>
340 struct pop_front_impl< aux::vector_tag<5> >
341 {
342 template< typename Vector > struct apply
343 {
344 typedef vector4<
345 typename Vector::item1, typename Vector::item2
346 , typename Vector::item3, typename Vector::item4
347 > type;
348 };
349 };
350
351 template<>
352 struct push_back_impl< aux::vector_tag<4> >
353 {
354 template< typename Vector, typename T > struct apply
355 {
356 typedef vector5<
357 typename Vector::item0, typename Vector::item1
358 , typename Vector::item2, typename Vector::item3
359 ,
360 T
361 > type;
362 };
363 };
364
365 template<>
366 struct pop_back_impl< aux::vector_tag<5> >
367 {
368 template< typename Vector > struct apply
369 {
370 typedef vector4<
371 typename Vector::item0, typename Vector::item1
372 , typename Vector::item2, typename Vector::item3
373 > type;
374 };
375 };
376
377 template< typename V >
378 struct v_at< V,5 >
379 {
380 typedef typename V::item5 type;
381 };
382
383 template<
384 typename T0, typename T1, typename T2, typename T3, typename T4
385 , typename T5
386 >
387 struct vector6
388 {
389 typedef aux::vector_tag<6> tag;
390 typedef vector6 type;
391 typedef T0 item0;
392 typedef T1 item1;
393 typedef T2 item2;
394 typedef T3 item3;
395 typedef T4 item4;
396 typedef T5 item5;
397
398
399 typedef void_ item6;
400 typedef T5 back;
401 typedef v_iter< type,0 > begin;
402 typedef v_iter< type,6 > end;
403 };
404
405 template<>
406 struct push_front_impl< aux::vector_tag<5> >
407 {
408 template< typename Vector, typename T > struct apply
409 {
410 typedef vector6<
411 T
412 ,
413 typename Vector::item0, typename Vector::item1
414 , typename Vector::item2, typename Vector::item3
415 , typename Vector::item4
416 > type;
417 };
418 };
419
420 template<>
421 struct pop_front_impl< aux::vector_tag<6> >
422 {
423 template< typename Vector > struct apply
424 {
425 typedef vector5<
426 typename Vector::item1, typename Vector::item2
427 , typename Vector::item3, typename Vector::item4
428 , typename Vector::item5
429 > type;
430 };
431 };
432
433 template<>
434 struct push_back_impl< aux::vector_tag<5> >
435 {
436 template< typename Vector, typename T > struct apply
437 {
438 typedef vector6<
439 typename Vector::item0, typename Vector::item1
440 , typename Vector::item2, typename Vector::item3
441 , typename Vector::item4
442 ,
443 T
444 > type;
445 };
446 };
447
448 template<>
449 struct pop_back_impl< aux::vector_tag<6> >
450 {
451 template< typename Vector > struct apply
452 {
453 typedef vector5<
454 typename Vector::item0, typename Vector::item1
455 , typename Vector::item2, typename Vector::item3
456 , typename Vector::item4
457 > type;
458 };
459 };
460
461 template< typename V >
462 struct v_at< V,6 >
463 {
464 typedef typename V::item6 type;
465 };
466
467 template<
468 typename T0, typename T1, typename T2, typename T3, typename T4
469 , typename T5, typename T6
470 >
471 struct vector7
472 {
473 typedef aux::vector_tag<7> tag;
474 typedef vector7 type;
475 typedef T0 item0;
476 typedef T1 item1;
477 typedef T2 item2;
478 typedef T3 item3;
479 typedef T4 item4;
480 typedef T5 item5;
481 typedef T6 item6;
482
483
484 typedef void_ item7;
485 typedef T6 back;
486 typedef v_iter< type,0 > begin;
487 typedef v_iter< type,7 > end;
488 };
489
490 template<>
491 struct push_front_impl< aux::vector_tag<6> >
492 {
493 template< typename Vector, typename T > struct apply
494 {
495 typedef vector7<
496 T
497 ,
498 typename Vector::item0, typename Vector::item1
499 , typename Vector::item2, typename Vector::item3
500 , typename Vector::item4, typename Vector::item5
501 > type;
502 };
503 };
504
505 template<>
506 struct pop_front_impl< aux::vector_tag<7> >
507 {
508 template< typename Vector > struct apply
509 {
510 typedef vector6<
511 typename Vector::item1, typename Vector::item2
512 , typename Vector::item3, typename Vector::item4
513 , typename Vector::item5, typename Vector::item6
514 > type;
515 };
516 };
517
518 template<>
519 struct push_back_impl< aux::vector_tag<6> >
520 {
521 template< typename Vector, typename T > struct apply
522 {
523 typedef vector7<
524 typename Vector::item0, typename Vector::item1
525 , typename Vector::item2, typename Vector::item3
526 , typename Vector::item4, typename Vector::item5
527 ,
528 T
529 > type;
530 };
531 };
532
533 template<>
534 struct pop_back_impl< aux::vector_tag<7> >
535 {
536 template< typename Vector > struct apply
537 {
538 typedef vector6<
539 typename Vector::item0, typename Vector::item1
540 , typename Vector::item2, typename Vector::item3
541 , typename Vector::item4, typename Vector::item5
542 > type;
543 };
544 };
545
546 template< typename V >
547 struct v_at< V,7 >
548 {
549 typedef typename V::item7 type;
550 };
551
552 template<
553 typename T0, typename T1, typename T2, typename T3, typename T4
554 , typename T5, typename T6, typename T7
555 >
556 struct vector8
557 {
558 typedef aux::vector_tag<8> tag;
559 typedef vector8 type;
560 typedef T0 item0;
561 typedef T1 item1;
562 typedef T2 item2;
563 typedef T3 item3;
564 typedef T4 item4;
565 typedef T5 item5;
566 typedef T6 item6;
567 typedef T7 item7;
568
569
570 typedef void_ item8;
571 typedef T7 back;
572 typedef v_iter< type,0 > begin;
573 typedef v_iter< type,8 > end;
574 };
575
576 template<>
577 struct push_front_impl< aux::vector_tag<7> >
578 {
579 template< typename Vector, typename T > struct apply
580 {
581 typedef vector8<
582 T
583 ,
584 typename Vector::item0, typename Vector::item1
585 , typename Vector::item2, typename Vector::item3
586 , typename Vector::item4, typename Vector::item5
587 , typename Vector::item6
588 > type;
589 };
590 };
591
592 template<>
593 struct pop_front_impl< aux::vector_tag<8> >
594 {
595 template< typename Vector > struct apply
596 {
597 typedef vector7<
598 typename Vector::item1, typename Vector::item2
599 , typename Vector::item3, typename Vector::item4
600 , typename Vector::item5, typename Vector::item6
601 , typename Vector::item7
602 > type;
603 };
604 };
605
606 template<>
607 struct push_back_impl< aux::vector_tag<7> >
608 {
609 template< typename Vector, typename T > struct apply
610 {
611 typedef vector8<
612 typename Vector::item0, typename Vector::item1
613 , typename Vector::item2, typename Vector::item3
614 , typename Vector::item4, typename Vector::item5
615 , typename Vector::item6
616 ,
617 T
618 > type;
619 };
620 };
621
622 template<>
623 struct pop_back_impl< aux::vector_tag<8> >
624 {
625 template< typename Vector > struct apply
626 {
627 typedef vector7<
628 typename Vector::item0, typename Vector::item1
629 , typename Vector::item2, typename Vector::item3
630 , typename Vector::item4, typename Vector::item5
631 , typename Vector::item6
632 > type;
633 };
634 };
635
636 template< typename V >
637 struct v_at< V,8 >
638 {
639 typedef typename V::item8 type;
640 };
641
642 template<
643 typename T0, typename T1, typename T2, typename T3, typename T4
644 , typename T5, typename T6, typename T7, typename T8
645 >
646 struct vector9
647 {
648 typedef aux::vector_tag<9> tag;
649 typedef vector9 type;
650 typedef T0 item0;
651 typedef T1 item1;
652 typedef T2 item2;
653 typedef T3 item3;
654 typedef T4 item4;
655 typedef T5 item5;
656 typedef T6 item6;
657 typedef T7 item7;
658 typedef T8 item8;
659
660
661 typedef void_ item9;
662 typedef T8 back;
663 typedef v_iter< type,0 > begin;
664 typedef v_iter< type,9 > end;
665 };
666
667 template<>
668 struct push_front_impl< aux::vector_tag<8> >
669 {
670 template< typename Vector, typename T > struct apply
671 {
672 typedef vector9<
673 T
674 ,
675 typename Vector::item0, typename Vector::item1
676 , typename Vector::item2, typename Vector::item3
677 , typename Vector::item4, typename Vector::item5
678 , typename Vector::item6, typename Vector::item7
679 > type;
680 };
681 };
682
683 template<>
684 struct pop_front_impl< aux::vector_tag<9> >
685 {
686 template< typename Vector > struct apply
687 {
688 typedef vector8<
689 typename Vector::item1, typename Vector::item2
690 , typename Vector::item3, typename Vector::item4
691 , typename Vector::item5, typename Vector::item6
692 , typename Vector::item7, typename Vector::item8
693 > type;
694 };
695 };
696
697 template<>
698 struct push_back_impl< aux::vector_tag<8> >
699 {
700 template< typename Vector, typename T > struct apply
701 {
702 typedef vector9<
703 typename Vector::item0, typename Vector::item1
704 , typename Vector::item2, typename Vector::item3
705 , typename Vector::item4, typename Vector::item5
706 , typename Vector::item6, typename Vector::item7
707 ,
708 T
709 > type;
710 };
711 };
712
713 template<>
714 struct pop_back_impl< aux::vector_tag<9> >
715 {
716 template< typename Vector > struct apply
717 {
718 typedef vector8<
719 typename Vector::item0, typename Vector::item1
720 , typename Vector::item2, typename Vector::item3
721 , typename Vector::item4, typename Vector::item5
722 , typename Vector::item6, typename Vector::item7
723 > type;
724 };
725 };
726
727 template< typename V >
728 struct v_at< V,9 >
729 {
730 typedef typename V::item9 type;
731 };
732
733 template<
734 typename T0, typename T1, typename T2, typename T3, typename T4
735 , typename T5, typename T6, typename T7, typename T8, typename T9
736 >
737 struct vector10
738 {
739 typedef aux::vector_tag<10> tag;
740 typedef vector10 type;
741 typedef T0 item0;
742 typedef T1 item1;
743 typedef T2 item2;
744 typedef T3 item3;
745 typedef T4 item4;
746 typedef T5 item5;
747 typedef T6 item6;
748 typedef T7 item7;
749 typedef T8 item8;
750 typedef T9 item9;
751
752
753 typedef void_ item10;
754 typedef T9 back;
755 typedef v_iter< type,0 > begin;
756 typedef v_iter< type,10 > end;
757 };
758
759 template<>
760 struct push_front_impl< aux::vector_tag<9> >
761 {
762 template< typename Vector, typename T > struct apply
763 {
764 typedef vector10<
765 T
766 ,
767 typename Vector::item0, typename Vector::item1
768 , typename Vector::item2, typename Vector::item3
769 , typename Vector::item4, typename Vector::item5
770 , typename Vector::item6, typename Vector::item7
771 , typename Vector::item8
772 > type;
773 };
774 };
775
776 template<>
777 struct pop_front_impl< aux::vector_tag<10> >
778 {
779 template< typename Vector > struct apply
780 {
781 typedef vector9<
782 typename Vector::item1, typename Vector::item2
783 , typename Vector::item3, typename Vector::item4
784 , typename Vector::item5, typename Vector::item6
785 , typename Vector::item7, typename Vector::item8
786 , typename Vector::item9
787 > type;
788 };
789 };
790
791 template<>
792 struct push_back_impl< aux::vector_tag<9> >
793 {
794 template< typename Vector, typename T > struct apply
795 {
796 typedef vector10<
797 typename Vector::item0, typename Vector::item1
798 , typename Vector::item2, typename Vector::item3
799 , typename Vector::item4, typename Vector::item5
800 , typename Vector::item6, typename Vector::item7
801 , typename Vector::item8
802 ,
803 T
804 > type;
805 };
806 };
807
808 template<>
809 struct pop_back_impl< aux::vector_tag<10> >
810 {
811 template< typename Vector > struct apply
812 {
813 typedef vector9<
814 typename Vector::item0, typename Vector::item1
815 , typename Vector::item2, typename Vector::item3
816 , typename Vector::item4, typename Vector::item5
817 , typename Vector::item6, typename Vector::item7
818 , typename Vector::item8
819 > type;
820 };
821 };
822
823 template< typename V >
824 struct v_at< V,10 >
825 {
826 typedef typename V::item10 type;
827 };
828
829 }}