]> git.proxmox.com Git - ceph.git/blame - 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
CommitLineData
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/vector/vector10.hpp" header
10// -- DO NOT modify by hand!
11
12namespace boost { namespace mpl {
13
14template< typename V >
15struct v_at< V,0 >
16{
17 typedef typename V::item0 type;
18};
19
20template<
21 typename T0
22 >
23struct 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
34template<>
35struct 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
45template<>
46struct pop_front_impl< aux::vector_tag<1> >
47{
48 template< typename Vector > struct apply
49 {
50 typedef vector0<
51
52 > type;
53 };
54};
55
56template<>
57struct 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
68template<>
69struct pop_back_impl< aux::vector_tag<1> >
70{
71 template< typename Vector > struct apply
72 {
73 typedef vector0<
74
75 > type;
76 };
77};
78
79template< typename V >
80struct v_at< V,1 >
81{
82 typedef typename V::item1 type;
83};
84
85template<
86 typename T0, typename T1
87 >
88struct 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
102template<>
103struct 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
115template<>
116struct 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
126template<>
127struct 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
139template<>
140struct 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
150template< typename V >
151struct v_at< V,2 >
152{
153 typedef typename V::item2 type;
154};
155
156template<
157 typename T0, typename T1, typename T2
158 >
159struct 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
174template<>
175struct 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
187template<>
188struct 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
198template<>
199struct 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
211template<>
212struct 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
222template< typename V >
223struct v_at< V,3 >
224{
225 typedef typename V::item3 type;
226};
227
228template<
229 typename T0, typename T1, typename T2, typename T3
230 >
231struct 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
247template<>
248struct 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
261template<>
262struct 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
273template<>
274struct 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
287template<>
288struct 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
299template< typename V >
300struct v_at< V,4 >
301{
302 typedef typename V::item4 type;
303};
304
305template<
306 typename T0, typename T1, typename T2, typename T3, typename T4
307 >
308struct 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
325template<>
326struct 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
339template<>
340struct 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
351template<>
352struct 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
365template<>
366struct 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
377template< typename V >
378struct v_at< V,5 >
379{
380 typedef typename V::item5 type;
381};
382
383template<
384 typename T0, typename T1, typename T2, typename T3, typename T4
385 , typename T5
386 >
387struct 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
405template<>
406struct 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
420template<>
421struct 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
433template<>
434struct 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
448template<>
449struct 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
461template< typename V >
462struct v_at< V,6 >
463{
464 typedef typename V::item6 type;
465};
466
467template<
468 typename T0, typename T1, typename T2, typename T3, typename T4
469 , typename T5, typename T6
470 >
471struct 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
490template<>
491struct 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
505template<>
506struct 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
518template<>
519struct 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
533template<>
534struct 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
546template< typename V >
547struct v_at< V,7 >
548{
549 typedef typename V::item7 type;
550};
551
552template<
553 typename T0, typename T1, typename T2, typename T3, typename T4
554 , typename T5, typename T6, typename T7
555 >
556struct 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
576template<>
577struct 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
592template<>
593struct 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
606template<>
607struct 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
622template<>
623struct 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
636template< typename V >
637struct v_at< V,8 >
638{
639 typedef typename V::item8 type;
640};
641
642template<
643 typename T0, typename T1, typename T2, typename T3, typename T4
644 , typename T5, typename T6, typename T7, typename T8
645 >
646struct 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
667template<>
668struct 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
683template<>
684struct 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
697template<>
698struct 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
713template<>
714struct 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
727template< typename V >
728struct v_at< V,9 >
729{
730 typedef typename V::item9 type;
731};
732
733template<
734 typename T0, typename T1, typename T2, typename T3, typename T4
735 , typename T5, typename T6, typename T7, typename T8, typename T9
736 >
737struct 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
759template<>
760struct 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
776template<>
777struct 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
791template<>
792struct 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
808template<>
809struct 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
823template< typename V >
824struct v_at< V,10 >
825{
826 typedef typename V::item10 type;
827};
828
829}}