]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/mpl/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / mpl / include / boost / mpl / vector / aux_ / preprocessed / no_ctps / 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
14namespace aux {
15template<> struct v_at_impl<0>
16{
17 template< typename V_ > struct result_
18 {
19 typedef typename V_::item0 type;
20 };
21};
22
23}
24
25template<>
26struct at_impl< aux::vector_tag<0> >
27{
28 template< typename V_, typename N > struct apply
29 {
30 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
31 ::template result_<V_>::type type;
32 };
33};
34
35template<>
36struct size_impl< aux::vector_tag<0> >
37{
38 template< typename Vector > struct apply
39 : long_<0>
40 {
41 };
42};
43
44template<>
45struct O1_size_impl< aux::vector_tag<0> >
46 : size_impl< aux::vector_tag<0> >
47{
48};
49
50template<>
51struct clear_impl< aux::vector_tag<0> >
52{
53 template< typename Vector > struct apply
54 {
55 typedef vector0<> type;
56 };
57};
58
59template<
60 typename T0
61 >
62struct vector1
63{
64 typedef aux::vector_tag<1> tag;
65 typedef vector1 type;
66 typedef T0 item0;
67 typedef void_ item1;
68 typedef T0 back;
69 typedef v_iter< type,0 > begin;
70 typedef v_iter< type,1 > end;
71};
72
73template<>
74struct push_front_impl< aux::vector_tag<0> >
75{
76 template< typename Vector, typename T > struct apply
77 {
78 typedef vector1<
79 T
80 > type;
81 };
82};
83
84template<>
85struct pop_front_impl< aux::vector_tag<1> >
86{
87 template< typename Vector > struct apply
88 {
89 typedef vector0<
90
91 > type;
92 };
93};
94
95template<>
96struct push_back_impl< aux::vector_tag<0> >
97{
98 template< typename Vector, typename T > struct apply
99 {
100 typedef vector1<
101
102 T
103 > type;
104 };
105};
106
107template<>
108struct pop_back_impl< aux::vector_tag<1> >
109{
110 template< typename Vector > struct apply
111 {
112 typedef vector0<
113
114 > type;
115 };
116};
117
118namespace aux {
119template<> struct v_at_impl<1>
120{
121 template< typename V_ > struct result_
122 {
123 typedef typename V_::item1 type;
124 };
125};
126
127}
128
129template<>
130struct at_impl< aux::vector_tag<1> >
131{
132 template< typename V_, typename N > struct apply
133 {
134 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
135 ::template result_<V_>::type type;
136 };
137};
138
139template<>
140struct front_impl< aux::vector_tag<1> >
141{
142 template< typename Vector > struct apply
143 {
144 typedef typename Vector::item0 type;
145 };
146};
147
148template<>
149struct back_impl< aux::vector_tag<1> >
150{
151 template< typename Vector > struct apply
152 {
153 typedef typename Vector::back type;
154 };
155};
156
157template<>
158struct empty_impl< aux::vector_tag<1> >
159{
160 template< typename Vector > struct apply
161 : false_
162 {
163 };
164};
165
166template<>
167struct size_impl< aux::vector_tag<1> >
168{
169 template< typename Vector > struct apply
170 : long_<1>
171 {
172 };
173};
174
175template<>
176struct O1_size_impl< aux::vector_tag<1> >
177 : size_impl< aux::vector_tag<1> >
178{
179};
180
181template<>
182struct clear_impl< aux::vector_tag<1> >
183{
184 template< typename Vector > struct apply
185 {
186 typedef vector0<> type;
187 };
188};
189
190template<
191 typename T0, typename T1
192 >
193struct vector2
194{
195 typedef aux::vector_tag<2> tag;
196 typedef vector2 type;
197 typedef T0 item0;
198 typedef T1 item1;
199
200
201 typedef void_ item2;
202 typedef T1 back;
203 typedef v_iter< type,0 > begin;
204 typedef v_iter< type,2 > end;
205};
206
207template<>
208struct push_front_impl< aux::vector_tag<1> >
209{
210 template< typename Vector, typename T > struct apply
211 {
212 typedef vector2<
213 T
214 ,
215 typename Vector::item0
216 > type;
217 };
218};
219
220template<>
221struct pop_front_impl< aux::vector_tag<2> >
222{
223 template< typename Vector > struct apply
224 {
225 typedef vector1<
226 typename Vector::item1
227 > type;
228 };
229};
230
231template<>
232struct push_back_impl< aux::vector_tag<1> >
233{
234 template< typename Vector, typename T > struct apply
235 {
236 typedef vector2<
237 typename Vector::item0
238 ,
239 T
240 > type;
241 };
242};
243
244template<>
245struct pop_back_impl< aux::vector_tag<2> >
246{
247 template< typename Vector > struct apply
248 {
249 typedef vector1<
250 typename Vector::item0
251 > type;
252 };
253};
254
255namespace aux {
256template<> struct v_at_impl<2>
257{
258 template< typename V_ > struct result_
259 {
260 typedef typename V_::item2 type;
261 };
262};
263
264}
265
266template<>
267struct at_impl< aux::vector_tag<2> >
268{
269 template< typename V_, typename N > struct apply
270 {
271 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
272 ::template result_<V_>::type type;
273 };
274};
275
276template<>
277struct front_impl< aux::vector_tag<2> >
278{
279 template< typename Vector > struct apply
280 {
281 typedef typename Vector::item0 type;
282 };
283};
284
285template<>
286struct back_impl< aux::vector_tag<2> >
287{
288 template< typename Vector > struct apply
289 {
290 typedef typename Vector::back type;
291 };
292};
293
294template<>
295struct empty_impl< aux::vector_tag<2> >
296{
297 template< typename Vector > struct apply
298 : false_
299 {
300 };
301};
302
303template<>
304struct size_impl< aux::vector_tag<2> >
305{
306 template< typename Vector > struct apply
307 : long_<2>
308 {
309 };
310};
311
312template<>
313struct O1_size_impl< aux::vector_tag<2> >
314 : size_impl< aux::vector_tag<2> >
315{
316};
317
318template<>
319struct clear_impl< aux::vector_tag<2> >
320{
321 template< typename Vector > struct apply
322 {
323 typedef vector0<> type;
324 };
325};
326
327template<
328 typename T0, typename T1, typename T2
329 >
330struct vector3
331{
332 typedef aux::vector_tag<3> tag;
333 typedef vector3 type;
334 typedef T0 item0;
335 typedef T1 item1;
336 typedef T2 item2;
337
338
339 typedef void_ item3;
340 typedef T2 back;
341 typedef v_iter< type,0 > begin;
342 typedef v_iter< type,3 > end;
343};
344
345template<>
346struct push_front_impl< aux::vector_tag<2> >
347{
348 template< typename Vector, typename T > struct apply
349 {
350 typedef vector3<
351 T
352 ,
353 typename Vector::item0, typename Vector::item1
354 > type;
355 };
356};
357
358template<>
359struct pop_front_impl< aux::vector_tag<3> >
360{
361 template< typename Vector > struct apply
362 {
363 typedef vector2<
364 typename Vector::item1, typename Vector::item2
365 > type;
366 };
367};
368
369template<>
370struct push_back_impl< aux::vector_tag<2> >
371{
372 template< typename Vector, typename T > struct apply
373 {
374 typedef vector3<
375 typename Vector::item0, typename Vector::item1
376 ,
377 T
378 > type;
379 };
380};
381
382template<>
383struct pop_back_impl< aux::vector_tag<3> >
384{
385 template< typename Vector > struct apply
386 {
387 typedef vector2<
388 typename Vector::item0, typename Vector::item1
389 > type;
390 };
391};
392
393namespace aux {
394template<> struct v_at_impl<3>
395{
396 template< typename V_ > struct result_
397 {
398 typedef typename V_::item3 type;
399 };
400};
401
402}
403
404template<>
405struct at_impl< aux::vector_tag<3> >
406{
407 template< typename V_, typename N > struct apply
408 {
409 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
410 ::template result_<V_>::type type;
411 };
412};
413
414template<>
415struct front_impl< aux::vector_tag<3> >
416{
417 template< typename Vector > struct apply
418 {
419 typedef typename Vector::item0 type;
420 };
421};
422
423template<>
424struct back_impl< aux::vector_tag<3> >
425{
426 template< typename Vector > struct apply
427 {
428 typedef typename Vector::back type;
429 };
430};
431
432template<>
433struct empty_impl< aux::vector_tag<3> >
434{
435 template< typename Vector > struct apply
436 : false_
437 {
438 };
439};
440
441template<>
442struct size_impl< aux::vector_tag<3> >
443{
444 template< typename Vector > struct apply
445 : long_<3>
446 {
447 };
448};
449
450template<>
451struct O1_size_impl< aux::vector_tag<3> >
452 : size_impl< aux::vector_tag<3> >
453{
454};
455
456template<>
457struct clear_impl< aux::vector_tag<3> >
458{
459 template< typename Vector > struct apply
460 {
461 typedef vector0<> type;
462 };
463};
464
465template<
466 typename T0, typename T1, typename T2, typename T3
467 >
468struct vector4
469{
470 typedef aux::vector_tag<4> tag;
471 typedef vector4 type;
472 typedef T0 item0;
473 typedef T1 item1;
474 typedef T2 item2;
475 typedef T3 item3;
476
477
478 typedef void_ item4;
479 typedef T3 back;
480 typedef v_iter< type,0 > begin;
481 typedef v_iter< type,4 > end;
482};
483
484template<>
485struct push_front_impl< aux::vector_tag<3> >
486{
487 template< typename Vector, typename T > struct apply
488 {
489 typedef vector4<
490 T
491 ,
492 typename Vector::item0, typename Vector::item1
493 , typename Vector::item2
494 > type;
495 };
496};
497
498template<>
499struct pop_front_impl< aux::vector_tag<4> >
500{
501 template< typename Vector > struct apply
502 {
503 typedef vector3<
504 typename Vector::item1, typename Vector::item2
505 , typename Vector::item3
506 > type;
507 };
508};
509
510template<>
511struct push_back_impl< aux::vector_tag<3> >
512{
513 template< typename Vector, typename T > struct apply
514 {
515 typedef vector4<
516 typename Vector::item0, typename Vector::item1
517 , typename Vector::item2
518 ,
519 T
520 > type;
521 };
522};
523
524template<>
525struct pop_back_impl< aux::vector_tag<4> >
526{
527 template< typename Vector > struct apply
528 {
529 typedef vector3<
530 typename Vector::item0, typename Vector::item1
531 , typename Vector::item2
532 > type;
533 };
534};
535
536namespace aux {
537template<> struct v_at_impl<4>
538{
539 template< typename V_ > struct result_
540 {
541 typedef typename V_::item4 type;
542 };
543};
544
545}
546
547template<>
548struct at_impl< aux::vector_tag<4> >
549{
550 template< typename V_, typename N > struct apply
551 {
552 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
553 ::template result_<V_>::type type;
554 };
555};
556
557template<>
558struct front_impl< aux::vector_tag<4> >
559{
560 template< typename Vector > struct apply
561 {
562 typedef typename Vector::item0 type;
563 };
564};
565
566template<>
567struct back_impl< aux::vector_tag<4> >
568{
569 template< typename Vector > struct apply
570 {
571 typedef typename Vector::back type;
572 };
573};
574
575template<>
576struct empty_impl< aux::vector_tag<4> >
577{
578 template< typename Vector > struct apply
579 : false_
580 {
581 };
582};
583
584template<>
585struct size_impl< aux::vector_tag<4> >
586{
587 template< typename Vector > struct apply
588 : long_<4>
589 {
590 };
591};
592
593template<>
594struct O1_size_impl< aux::vector_tag<4> >
595 : size_impl< aux::vector_tag<4> >
596{
597};
598
599template<>
600struct clear_impl< aux::vector_tag<4> >
601{
602 template< typename Vector > struct apply
603 {
604 typedef vector0<> type;
605 };
606};
607
608template<
609 typename T0, typename T1, typename T2, typename T3, typename T4
610 >
611struct vector5
612{
613 typedef aux::vector_tag<5> tag;
614 typedef vector5 type;
615 typedef T0 item0;
616 typedef T1 item1;
617 typedef T2 item2;
618 typedef T3 item3;
619 typedef T4 item4;
620
621
622 typedef void_ item5;
623 typedef T4 back;
624 typedef v_iter< type,0 > begin;
625 typedef v_iter< type,5 > end;
626};
627
628template<>
629struct push_front_impl< aux::vector_tag<4> >
630{
631 template< typename Vector, typename T > struct apply
632 {
633 typedef vector5<
634 T
635 ,
636 typename Vector::item0, typename Vector::item1
637 , typename Vector::item2, typename Vector::item3
638 > type;
639 };
640};
641
642template<>
643struct pop_front_impl< aux::vector_tag<5> >
644{
645 template< typename Vector > struct apply
646 {
647 typedef vector4<
648 typename Vector::item1, typename Vector::item2
649 , typename Vector::item3, typename Vector::item4
650 > type;
651 };
652};
653
654template<>
655struct push_back_impl< aux::vector_tag<4> >
656{
657 template< typename Vector, typename T > struct apply
658 {
659 typedef vector5<
660 typename Vector::item0, typename Vector::item1
661 , typename Vector::item2, typename Vector::item3
662 ,
663 T
664 > type;
665 };
666};
667
668template<>
669struct pop_back_impl< aux::vector_tag<5> >
670{
671 template< typename Vector > struct apply
672 {
673 typedef vector4<
674 typename Vector::item0, typename Vector::item1
675 , typename Vector::item2, typename Vector::item3
676 > type;
677 };
678};
679
680namespace aux {
681template<> struct v_at_impl<5>
682{
683 template< typename V_ > struct result_
684 {
685 typedef typename V_::item5 type;
686 };
687};
688
689}
690
691template<>
692struct at_impl< aux::vector_tag<5> >
693{
694 template< typename V_, typename N > struct apply
695 {
696 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
697 ::template result_<V_>::type type;
698 };
699};
700
701template<>
702struct front_impl< aux::vector_tag<5> >
703{
704 template< typename Vector > struct apply
705 {
706 typedef typename Vector::item0 type;
707 };
708};
709
710template<>
711struct back_impl< aux::vector_tag<5> >
712{
713 template< typename Vector > struct apply
714 {
715 typedef typename Vector::back type;
716 };
717};
718
719template<>
720struct empty_impl< aux::vector_tag<5> >
721{
722 template< typename Vector > struct apply
723 : false_
724 {
725 };
726};
727
728template<>
729struct size_impl< aux::vector_tag<5> >
730{
731 template< typename Vector > struct apply
732 : long_<5>
733 {
734 };
735};
736
737template<>
738struct O1_size_impl< aux::vector_tag<5> >
739 : size_impl< aux::vector_tag<5> >
740{
741};
742
743template<>
744struct clear_impl< aux::vector_tag<5> >
745{
746 template< typename Vector > struct apply
747 {
748 typedef vector0<> type;
749 };
750};
751
752template<
753 typename T0, typename T1, typename T2, typename T3, typename T4
754 , typename T5
755 >
756struct vector6
757{
758 typedef aux::vector_tag<6> tag;
759 typedef vector6 type;
760 typedef T0 item0;
761 typedef T1 item1;
762 typedef T2 item2;
763 typedef T3 item3;
764 typedef T4 item4;
765 typedef T5 item5;
766
767
768 typedef void_ item6;
769 typedef T5 back;
770 typedef v_iter< type,0 > begin;
771 typedef v_iter< type,6 > end;
772};
773
774template<>
775struct push_front_impl< aux::vector_tag<5> >
776{
777 template< typename Vector, typename T > struct apply
778 {
779 typedef vector6<
780 T
781 ,
782 typename Vector::item0, typename Vector::item1
783 , typename Vector::item2, typename Vector::item3
784 , typename Vector::item4
785 > type;
786 };
787};
788
789template<>
790struct pop_front_impl< aux::vector_tag<6> >
791{
792 template< typename Vector > struct apply
793 {
794 typedef vector5<
795 typename Vector::item1, typename Vector::item2
796 , typename Vector::item3, typename Vector::item4
797 , typename Vector::item5
798 > type;
799 };
800};
801
802template<>
803struct push_back_impl< aux::vector_tag<5> >
804{
805 template< typename Vector, typename T > struct apply
806 {
807 typedef vector6<
808 typename Vector::item0, typename Vector::item1
809 , typename Vector::item2, typename Vector::item3
810 , typename Vector::item4
811 ,
812 T
813 > type;
814 };
815};
816
817template<>
818struct pop_back_impl< aux::vector_tag<6> >
819{
820 template< typename Vector > struct apply
821 {
822 typedef vector5<
823 typename Vector::item0, typename Vector::item1
824 , typename Vector::item2, typename Vector::item3
825 , typename Vector::item4
826 > type;
827 };
828};
829
830namespace aux {
831template<> struct v_at_impl<6>
832{
833 template< typename V_ > struct result_
834 {
835 typedef typename V_::item6 type;
836 };
837};
838
839}
840
841template<>
842struct at_impl< aux::vector_tag<6> >
843{
844 template< typename V_, typename N > struct apply
845 {
846 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
847 ::template result_<V_>::type type;
848 };
849};
850
851template<>
852struct front_impl< aux::vector_tag<6> >
853{
854 template< typename Vector > struct apply
855 {
856 typedef typename Vector::item0 type;
857 };
858};
859
860template<>
861struct back_impl< aux::vector_tag<6> >
862{
863 template< typename Vector > struct apply
864 {
865 typedef typename Vector::back type;
866 };
867};
868
869template<>
870struct empty_impl< aux::vector_tag<6> >
871{
872 template< typename Vector > struct apply
873 : false_
874 {
875 };
876};
877
878template<>
879struct size_impl< aux::vector_tag<6> >
880{
881 template< typename Vector > struct apply
882 : long_<6>
883 {
884 };
885};
886
887template<>
888struct O1_size_impl< aux::vector_tag<6> >
889 : size_impl< aux::vector_tag<6> >
890{
891};
892
893template<>
894struct clear_impl< aux::vector_tag<6> >
895{
896 template< typename Vector > struct apply
897 {
898 typedef vector0<> type;
899 };
900};
901
902template<
903 typename T0, typename T1, typename T2, typename T3, typename T4
904 , typename T5, typename T6
905 >
906struct vector7
907{
908 typedef aux::vector_tag<7> tag;
909 typedef vector7 type;
910 typedef T0 item0;
911 typedef T1 item1;
912 typedef T2 item2;
913 typedef T3 item3;
914 typedef T4 item4;
915 typedef T5 item5;
916 typedef T6 item6;
917
918
919 typedef void_ item7;
920 typedef T6 back;
921 typedef v_iter< type,0 > begin;
922 typedef v_iter< type,7 > end;
923};
924
925template<>
926struct push_front_impl< aux::vector_tag<6> >
927{
928 template< typename Vector, typename T > struct apply
929 {
930 typedef vector7<
931 T
932 ,
933 typename Vector::item0, typename Vector::item1
934 , typename Vector::item2, typename Vector::item3
935 , typename Vector::item4, typename Vector::item5
936 > type;
937 };
938};
939
940template<>
941struct pop_front_impl< aux::vector_tag<7> >
942{
943 template< typename Vector > struct apply
944 {
945 typedef vector6<
946 typename Vector::item1, typename Vector::item2
947 , typename Vector::item3, typename Vector::item4
948 , typename Vector::item5, typename Vector::item6
949 > type;
950 };
951};
952
953template<>
954struct push_back_impl< aux::vector_tag<6> >
955{
956 template< typename Vector, typename T > struct apply
957 {
958 typedef vector7<
959 typename Vector::item0, typename Vector::item1
960 , typename Vector::item2, typename Vector::item3
961 , typename Vector::item4, typename Vector::item5
962 ,
963 T
964 > type;
965 };
966};
967
968template<>
969struct pop_back_impl< aux::vector_tag<7> >
970{
971 template< typename Vector > struct apply
972 {
973 typedef vector6<
974 typename Vector::item0, typename Vector::item1
975 , typename Vector::item2, typename Vector::item3
976 , typename Vector::item4, typename Vector::item5
977 > type;
978 };
979};
980
981namespace aux {
982template<> struct v_at_impl<7>
983{
984 template< typename V_ > struct result_
985 {
986 typedef typename V_::item7 type;
987 };
988};
989
990}
991
992template<>
993struct at_impl< aux::vector_tag<7> >
994{
995 template< typename V_, typename N > struct apply
996 {
997 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
998 ::template result_<V_>::type type;
999 };
1000};
1001
1002template<>
1003struct front_impl< aux::vector_tag<7> >
1004{
1005 template< typename Vector > struct apply
1006 {
1007 typedef typename Vector::item0 type;
1008 };
1009};
1010
1011template<>
1012struct back_impl< aux::vector_tag<7> >
1013{
1014 template< typename Vector > struct apply
1015 {
1016 typedef typename Vector::back type;
1017 };
1018};
1019
1020template<>
1021struct empty_impl< aux::vector_tag<7> >
1022{
1023 template< typename Vector > struct apply
1024 : false_
1025 {
1026 };
1027};
1028
1029template<>
1030struct size_impl< aux::vector_tag<7> >
1031{
1032 template< typename Vector > struct apply
1033 : long_<7>
1034 {
1035 };
1036};
1037
1038template<>
1039struct O1_size_impl< aux::vector_tag<7> >
1040 : size_impl< aux::vector_tag<7> >
1041{
1042};
1043
1044template<>
1045struct clear_impl< aux::vector_tag<7> >
1046{
1047 template< typename Vector > struct apply
1048 {
1049 typedef vector0<> type;
1050 };
1051};
1052
1053template<
1054 typename T0, typename T1, typename T2, typename T3, typename T4
1055 , typename T5, typename T6, typename T7
1056 >
1057struct vector8
1058{
1059 typedef aux::vector_tag<8> tag;
1060 typedef vector8 type;
1061 typedef T0 item0;
1062 typedef T1 item1;
1063 typedef T2 item2;
1064 typedef T3 item3;
1065 typedef T4 item4;
1066 typedef T5 item5;
1067 typedef T6 item6;
1068 typedef T7 item7;
1069
1070
1071 typedef void_ item8;
1072 typedef T7 back;
1073 typedef v_iter< type,0 > begin;
1074 typedef v_iter< type,8 > end;
1075};
1076
1077template<>
1078struct push_front_impl< aux::vector_tag<7> >
1079{
1080 template< typename Vector, typename T > struct apply
1081 {
1082 typedef vector8<
1083 T
1084 ,
1085 typename Vector::item0, typename Vector::item1
1086 , typename Vector::item2, typename Vector::item3
1087 , typename Vector::item4, typename Vector::item5
1088 , typename Vector::item6
1089 > type;
1090 };
1091};
1092
1093template<>
1094struct pop_front_impl< aux::vector_tag<8> >
1095{
1096 template< typename Vector > struct apply
1097 {
1098 typedef vector7<
1099 typename Vector::item1, typename Vector::item2
1100 , typename Vector::item3, typename Vector::item4
1101 , typename Vector::item5, typename Vector::item6
1102 , typename Vector::item7
1103 > type;
1104 };
1105};
1106
1107template<>
1108struct push_back_impl< aux::vector_tag<7> >
1109{
1110 template< typename Vector, typename T > struct apply
1111 {
1112 typedef vector8<
1113 typename Vector::item0, typename Vector::item1
1114 , typename Vector::item2, typename Vector::item3
1115 , typename Vector::item4, typename Vector::item5
1116 , typename Vector::item6
1117 ,
1118 T
1119 > type;
1120 };
1121};
1122
1123template<>
1124struct pop_back_impl< aux::vector_tag<8> >
1125{
1126 template< typename Vector > struct apply
1127 {
1128 typedef vector7<
1129 typename Vector::item0, typename Vector::item1
1130 , typename Vector::item2, typename Vector::item3
1131 , typename Vector::item4, typename Vector::item5
1132 , typename Vector::item6
1133 > type;
1134 };
1135};
1136
1137namespace aux {
1138template<> struct v_at_impl<8>
1139{
1140 template< typename V_ > struct result_
1141 {
1142 typedef typename V_::item8 type;
1143 };
1144};
1145
1146}
1147
1148template<>
1149struct at_impl< aux::vector_tag<8> >
1150{
1151 template< typename V_, typename N > struct apply
1152 {
1153 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1154 ::template result_<V_>::type type;
1155 };
1156};
1157
1158template<>
1159struct front_impl< aux::vector_tag<8> >
1160{
1161 template< typename Vector > struct apply
1162 {
1163 typedef typename Vector::item0 type;
1164 };
1165};
1166
1167template<>
1168struct back_impl< aux::vector_tag<8> >
1169{
1170 template< typename Vector > struct apply
1171 {
1172 typedef typename Vector::back type;
1173 };
1174};
1175
1176template<>
1177struct empty_impl< aux::vector_tag<8> >
1178{
1179 template< typename Vector > struct apply
1180 : false_
1181 {
1182 };
1183};
1184
1185template<>
1186struct size_impl< aux::vector_tag<8> >
1187{
1188 template< typename Vector > struct apply
1189 : long_<8>
1190 {
1191 };
1192};
1193
1194template<>
1195struct O1_size_impl< aux::vector_tag<8> >
1196 : size_impl< aux::vector_tag<8> >
1197{
1198};
1199
1200template<>
1201struct clear_impl< aux::vector_tag<8> >
1202{
1203 template< typename Vector > struct apply
1204 {
1205 typedef vector0<> type;
1206 };
1207};
1208
1209template<
1210 typename T0, typename T1, typename T2, typename T3, typename T4
1211 , typename T5, typename T6, typename T7, typename T8
1212 >
1213struct vector9
1214{
1215 typedef aux::vector_tag<9> tag;
1216 typedef vector9 type;
1217 typedef T0 item0;
1218 typedef T1 item1;
1219 typedef T2 item2;
1220 typedef T3 item3;
1221 typedef T4 item4;
1222 typedef T5 item5;
1223 typedef T6 item6;
1224 typedef T7 item7;
1225 typedef T8 item8;
1226
1227
1228 typedef void_ item9;
1229 typedef T8 back;
1230 typedef v_iter< type,0 > begin;
1231 typedef v_iter< type,9 > end;
1232};
1233
1234template<>
1235struct push_front_impl< aux::vector_tag<8> >
1236{
1237 template< typename Vector, typename T > struct apply
1238 {
1239 typedef vector9<
1240 T
1241 ,
1242 typename Vector::item0, typename Vector::item1
1243 , typename Vector::item2, typename Vector::item3
1244 , typename Vector::item4, typename Vector::item5
1245 , typename Vector::item6, typename Vector::item7
1246 > type;
1247 };
1248};
1249
1250template<>
1251struct pop_front_impl< aux::vector_tag<9> >
1252{
1253 template< typename Vector > struct apply
1254 {
1255 typedef vector8<
1256 typename Vector::item1, typename Vector::item2
1257 , typename Vector::item3, typename Vector::item4
1258 , typename Vector::item5, typename Vector::item6
1259 , typename Vector::item7, typename Vector::item8
1260 > type;
1261 };
1262};
1263
1264template<>
1265struct push_back_impl< aux::vector_tag<8> >
1266{
1267 template< typename Vector, typename T > struct apply
1268 {
1269 typedef vector9<
1270 typename Vector::item0, typename Vector::item1
1271 , typename Vector::item2, typename Vector::item3
1272 , typename Vector::item4, typename Vector::item5
1273 , typename Vector::item6, typename Vector::item7
1274 ,
1275 T
1276 > type;
1277 };
1278};
1279
1280template<>
1281struct pop_back_impl< aux::vector_tag<9> >
1282{
1283 template< typename Vector > struct apply
1284 {
1285 typedef vector8<
1286 typename Vector::item0, typename Vector::item1
1287 , typename Vector::item2, typename Vector::item3
1288 , typename Vector::item4, typename Vector::item5
1289 , typename Vector::item6, typename Vector::item7
1290 > type;
1291 };
1292};
1293
1294namespace aux {
1295template<> struct v_at_impl<9>
1296{
1297 template< typename V_ > struct result_
1298 {
1299 typedef typename V_::item9 type;
1300 };
1301};
1302
1303}
1304
1305template<>
1306struct at_impl< aux::vector_tag<9> >
1307{
1308 template< typename V_, typename N > struct apply
1309 {
1310 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1311 ::template result_<V_>::type type;
1312 };
1313};
1314
1315template<>
1316struct front_impl< aux::vector_tag<9> >
1317{
1318 template< typename Vector > struct apply
1319 {
1320 typedef typename Vector::item0 type;
1321 };
1322};
1323
1324template<>
1325struct back_impl< aux::vector_tag<9> >
1326{
1327 template< typename Vector > struct apply
1328 {
1329 typedef typename Vector::back type;
1330 };
1331};
1332
1333template<>
1334struct empty_impl< aux::vector_tag<9> >
1335{
1336 template< typename Vector > struct apply
1337 : false_
1338 {
1339 };
1340};
1341
1342template<>
1343struct size_impl< aux::vector_tag<9> >
1344{
1345 template< typename Vector > struct apply
1346 : long_<9>
1347 {
1348 };
1349};
1350
1351template<>
1352struct O1_size_impl< aux::vector_tag<9> >
1353 : size_impl< aux::vector_tag<9> >
1354{
1355};
1356
1357template<>
1358struct clear_impl< aux::vector_tag<9> >
1359{
1360 template< typename Vector > struct apply
1361 {
1362 typedef vector0<> type;
1363 };
1364};
1365
1366template<
1367 typename T0, typename T1, typename T2, typename T3, typename T4
1368 , typename T5, typename T6, typename T7, typename T8, typename T9
1369 >
1370struct vector10
1371{
1372 typedef aux::vector_tag<10> tag;
1373 typedef vector10 type;
1374 typedef T0 item0;
1375 typedef T1 item1;
1376 typedef T2 item2;
1377 typedef T3 item3;
1378 typedef T4 item4;
1379 typedef T5 item5;
1380 typedef T6 item6;
1381 typedef T7 item7;
1382 typedef T8 item8;
1383 typedef T9 item9;
1384
1385
1386 typedef void_ item10;
1387 typedef T9 back;
1388 typedef v_iter< type,0 > begin;
1389 typedef v_iter< type,10 > end;
1390};
1391
1392template<>
1393struct push_front_impl< aux::vector_tag<9> >
1394{
1395 template< typename Vector, typename T > struct apply
1396 {
1397 typedef vector10<
1398 T
1399 ,
1400 typename Vector::item0, typename Vector::item1
1401 , typename Vector::item2, typename Vector::item3
1402 , typename Vector::item4, typename Vector::item5
1403 , typename Vector::item6, typename Vector::item7
1404 , typename Vector::item8
1405 > type;
1406 };
1407};
1408
1409template<>
1410struct pop_front_impl< aux::vector_tag<10> >
1411{
1412 template< typename Vector > struct apply
1413 {
1414 typedef vector9<
1415 typename Vector::item1, typename Vector::item2
1416 , typename Vector::item3, typename Vector::item4
1417 , typename Vector::item5, typename Vector::item6
1418 , typename Vector::item7, typename Vector::item8
1419 , typename Vector::item9
1420 > type;
1421 };
1422};
1423
1424template<>
1425struct push_back_impl< aux::vector_tag<9> >
1426{
1427 template< typename Vector, typename T > struct apply
1428 {
1429 typedef vector10<
1430 typename Vector::item0, typename Vector::item1
1431 , typename Vector::item2, typename Vector::item3
1432 , typename Vector::item4, typename Vector::item5
1433 , typename Vector::item6, typename Vector::item7
1434 , typename Vector::item8
1435 ,
1436 T
1437 > type;
1438 };
1439};
1440
1441template<>
1442struct pop_back_impl< aux::vector_tag<10> >
1443{
1444 template< typename Vector > struct apply
1445 {
1446 typedef vector9<
1447 typename Vector::item0, typename Vector::item1
1448 , typename Vector::item2, typename Vector::item3
1449 , typename Vector::item4, typename Vector::item5
1450 , typename Vector::item6, typename Vector::item7
1451 , typename Vector::item8
1452 > type;
1453 };
1454};
1455
1456namespace aux {
1457template<> struct v_at_impl<10>
1458{
1459 template< typename V_ > struct result_
1460 {
1461 typedef typename V_::item10 type;
1462 };
1463};
1464
1465}
1466
1467template<>
1468struct at_impl< aux::vector_tag<10> >
1469{
1470 template< typename V_, typename N > struct apply
1471 {
1472 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1473 ::template result_<V_>::type type;
1474 };
1475};
1476
1477template<>
1478struct front_impl< aux::vector_tag<10> >
1479{
1480 template< typename Vector > struct apply
1481 {
1482 typedef typename Vector::item0 type;
1483 };
1484};
1485
1486template<>
1487struct back_impl< aux::vector_tag<10> >
1488{
1489 template< typename Vector > struct apply
1490 {
1491 typedef typename Vector::back type;
1492 };
1493};
1494
1495template<>
1496struct empty_impl< aux::vector_tag<10> >
1497{
1498 template< typename Vector > struct apply
1499 : false_
1500 {
1501 };
1502};
1503
1504template<>
1505struct size_impl< aux::vector_tag<10> >
1506{
1507 template< typename Vector > struct apply
1508 : long_<10>
1509 {
1510 };
1511};
1512
1513template<>
1514struct O1_size_impl< aux::vector_tag<10> >
1515 : size_impl< aux::vector_tag<10> >
1516{
1517};
1518
1519template<>
1520struct clear_impl< aux::vector_tag<10> >
1521{
1522 template< typename Vector > struct apply
1523 {
1524 typedef vector0<> type;
1525 };
1526};
1527
1528}}