2 // Copyright Aleksey Gurtovoy 2000-2004
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)
9 // Preprocessed version of "boost/mpl/vector/vector10.hpp" header
10 // -- DO NOT modify by hand!
12 namespace boost { namespace mpl {
15 template<> struct v_at_impl<0>
17 template< typename V_ > struct result_
19 typedef typename V_::item0 type;
26 struct at_impl< aux::vector_tag<0> >
28 template< typename V_, typename N > struct apply
30 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
31 ::template result_<V_>::type type;
36 struct size_impl< aux::vector_tag<0> >
38 template< typename Vector > struct apply
45 struct O1_size_impl< aux::vector_tag<0> >
46 : size_impl< aux::vector_tag<0> >
51 struct clear_impl< aux::vector_tag<0> >
53 template< typename Vector > struct apply
55 typedef vector0<> type;
64 typedef aux::vector_tag<1> tag;
69 typedef v_iter< type,0 > begin;
70 typedef v_iter< type,1 > end;
74 struct push_front_impl< aux::vector_tag<0> >
76 template< typename Vector, typename T > struct apply
85 struct pop_front_impl< aux::vector_tag<1> >
87 template< typename Vector > struct apply
96 struct push_back_impl< aux::vector_tag<0> >
98 template< typename Vector, typename T > struct apply
108 struct pop_back_impl< aux::vector_tag<1> >
110 template< typename Vector > struct apply
119 template<> struct v_at_impl<1>
121 template< typename V_ > struct result_
123 typedef typename V_::item1 type;
130 struct at_impl< aux::vector_tag<1> >
132 template< typename V_, typename N > struct apply
134 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
135 ::template result_<V_>::type type;
140 struct front_impl< aux::vector_tag<1> >
142 template< typename Vector > struct apply
144 typedef typename Vector::item0 type;
149 struct back_impl< aux::vector_tag<1> >
151 template< typename Vector > struct apply
153 typedef typename Vector::back type;
158 struct empty_impl< aux::vector_tag<1> >
160 template< typename Vector > struct apply
167 struct size_impl< aux::vector_tag<1> >
169 template< typename Vector > struct apply
176 struct O1_size_impl< aux::vector_tag<1> >
177 : size_impl< aux::vector_tag<1> >
182 struct clear_impl< aux::vector_tag<1> >
184 template< typename Vector > struct apply
186 typedef vector0<> type;
191 typename T0, typename T1
195 typedef aux::vector_tag<2> tag;
196 typedef vector2 type;
203 typedef v_iter< type,0 > begin;
204 typedef v_iter< type,2 > end;
208 struct push_front_impl< aux::vector_tag<1> >
210 template< typename Vector, typename T > struct apply
215 typename Vector::item0
221 struct pop_front_impl< aux::vector_tag<2> >
223 template< typename Vector > struct apply
226 typename Vector::item1
232 struct push_back_impl< aux::vector_tag<1> >
234 template< typename Vector, typename T > struct apply
237 typename Vector::item0
245 struct pop_back_impl< aux::vector_tag<2> >
247 template< typename Vector > struct apply
250 typename Vector::item0
256 template<> struct v_at_impl<2>
258 template< typename V_ > struct result_
260 typedef typename V_::item2 type;
267 struct at_impl< aux::vector_tag<2> >
269 template< typename V_, typename N > struct apply
271 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
272 ::template result_<V_>::type type;
277 struct front_impl< aux::vector_tag<2> >
279 template< typename Vector > struct apply
281 typedef typename Vector::item0 type;
286 struct back_impl< aux::vector_tag<2> >
288 template< typename Vector > struct apply
290 typedef typename Vector::back type;
295 struct empty_impl< aux::vector_tag<2> >
297 template< typename Vector > struct apply
304 struct size_impl< aux::vector_tag<2> >
306 template< typename Vector > struct apply
313 struct O1_size_impl< aux::vector_tag<2> >
314 : size_impl< aux::vector_tag<2> >
319 struct clear_impl< aux::vector_tag<2> >
321 template< typename Vector > struct apply
323 typedef vector0<> type;
328 typename T0, typename T1, typename T2
332 typedef aux::vector_tag<3> tag;
333 typedef vector3 type;
341 typedef v_iter< type,0 > begin;
342 typedef v_iter< type,3 > end;
346 struct push_front_impl< aux::vector_tag<2> >
348 template< typename Vector, typename T > struct apply
353 typename Vector::item0, typename Vector::item1
359 struct pop_front_impl< aux::vector_tag<3> >
361 template< typename Vector > struct apply
364 typename Vector::item1, typename Vector::item2
370 struct push_back_impl< aux::vector_tag<2> >
372 template< typename Vector, typename T > struct apply
375 typename Vector::item0, typename Vector::item1
383 struct pop_back_impl< aux::vector_tag<3> >
385 template< typename Vector > struct apply
388 typename Vector::item0, typename Vector::item1
394 template<> struct v_at_impl<3>
396 template< typename V_ > struct result_
398 typedef typename V_::item3 type;
405 struct at_impl< aux::vector_tag<3> >
407 template< typename V_, typename N > struct apply
409 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
410 ::template result_<V_>::type type;
415 struct front_impl< aux::vector_tag<3> >
417 template< typename Vector > struct apply
419 typedef typename Vector::item0 type;
424 struct back_impl< aux::vector_tag<3> >
426 template< typename Vector > struct apply
428 typedef typename Vector::back type;
433 struct empty_impl< aux::vector_tag<3> >
435 template< typename Vector > struct apply
442 struct size_impl< aux::vector_tag<3> >
444 template< typename Vector > struct apply
451 struct O1_size_impl< aux::vector_tag<3> >
452 : size_impl< aux::vector_tag<3> >
457 struct clear_impl< aux::vector_tag<3> >
459 template< typename Vector > struct apply
461 typedef vector0<> type;
466 typename T0, typename T1, typename T2, typename T3
470 typedef aux::vector_tag<4> tag;
471 typedef vector4 type;
480 typedef v_iter< type,0 > begin;
481 typedef v_iter< type,4 > end;
485 struct push_front_impl< aux::vector_tag<3> >
487 template< typename Vector, typename T > struct apply
492 typename Vector::item0, typename Vector::item1
493 , typename Vector::item2
499 struct pop_front_impl< aux::vector_tag<4> >
501 template< typename Vector > struct apply
504 typename Vector::item1, typename Vector::item2
505 , typename Vector::item3
511 struct push_back_impl< aux::vector_tag<3> >
513 template< typename Vector, typename T > struct apply
516 typename Vector::item0, typename Vector::item1
517 , typename Vector::item2
525 struct pop_back_impl< aux::vector_tag<4> >
527 template< typename Vector > struct apply
530 typename Vector::item0, typename Vector::item1
531 , typename Vector::item2
537 template<> struct v_at_impl<4>
539 template< typename V_ > struct result_
541 typedef typename V_::item4 type;
548 struct at_impl< aux::vector_tag<4> >
550 template< typename V_, typename N > struct apply
552 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
553 ::template result_<V_>::type type;
558 struct front_impl< aux::vector_tag<4> >
560 template< typename Vector > struct apply
562 typedef typename Vector::item0 type;
567 struct back_impl< aux::vector_tag<4> >
569 template< typename Vector > struct apply
571 typedef typename Vector::back type;
576 struct empty_impl< aux::vector_tag<4> >
578 template< typename Vector > struct apply
585 struct size_impl< aux::vector_tag<4> >
587 template< typename Vector > struct apply
594 struct O1_size_impl< aux::vector_tag<4> >
595 : size_impl< aux::vector_tag<4> >
600 struct clear_impl< aux::vector_tag<4> >
602 template< typename Vector > struct apply
604 typedef vector0<> type;
609 typename T0, typename T1, typename T2, typename T3, typename T4
613 typedef aux::vector_tag<5> tag;
614 typedef vector5 type;
624 typedef v_iter< type,0 > begin;
625 typedef v_iter< type,5 > end;
629 struct push_front_impl< aux::vector_tag<4> >
631 template< typename Vector, typename T > struct apply
636 typename Vector::item0, typename Vector::item1
637 , typename Vector::item2, typename Vector::item3
643 struct pop_front_impl< aux::vector_tag<5> >
645 template< typename Vector > struct apply
648 typename Vector::item1, typename Vector::item2
649 , typename Vector::item3, typename Vector::item4
655 struct push_back_impl< aux::vector_tag<4> >
657 template< typename Vector, typename T > struct apply
660 typename Vector::item0, typename Vector::item1
661 , typename Vector::item2, typename Vector::item3
669 struct pop_back_impl< aux::vector_tag<5> >
671 template< typename Vector > struct apply
674 typename Vector::item0, typename Vector::item1
675 , typename Vector::item2, typename Vector::item3
681 template<> struct v_at_impl<5>
683 template< typename V_ > struct result_
685 typedef typename V_::item5 type;
692 struct at_impl< aux::vector_tag<5> >
694 template< typename V_, typename N > struct apply
696 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
697 ::template result_<V_>::type type;
702 struct front_impl< aux::vector_tag<5> >
704 template< typename Vector > struct apply
706 typedef typename Vector::item0 type;
711 struct back_impl< aux::vector_tag<5> >
713 template< typename Vector > struct apply
715 typedef typename Vector::back type;
720 struct empty_impl< aux::vector_tag<5> >
722 template< typename Vector > struct apply
729 struct size_impl< aux::vector_tag<5> >
731 template< typename Vector > struct apply
738 struct O1_size_impl< aux::vector_tag<5> >
739 : size_impl< aux::vector_tag<5> >
744 struct clear_impl< aux::vector_tag<5> >
746 template< typename Vector > struct apply
748 typedef vector0<> type;
753 typename T0, typename T1, typename T2, typename T3, typename T4
758 typedef aux::vector_tag<6> tag;
759 typedef vector6 type;
770 typedef v_iter< type,0 > begin;
771 typedef v_iter< type,6 > end;
775 struct push_front_impl< aux::vector_tag<5> >
777 template< typename Vector, typename T > struct apply
782 typename Vector::item0, typename Vector::item1
783 , typename Vector::item2, typename Vector::item3
784 , typename Vector::item4
790 struct pop_front_impl< aux::vector_tag<6> >
792 template< typename Vector > struct apply
795 typename Vector::item1, typename Vector::item2
796 , typename Vector::item3, typename Vector::item4
797 , typename Vector::item5
803 struct push_back_impl< aux::vector_tag<5> >
805 template< typename Vector, typename T > struct apply
808 typename Vector::item0, typename Vector::item1
809 , typename Vector::item2, typename Vector::item3
810 , typename Vector::item4
818 struct pop_back_impl< aux::vector_tag<6> >
820 template< typename Vector > struct apply
823 typename Vector::item0, typename Vector::item1
824 , typename Vector::item2, typename Vector::item3
825 , typename Vector::item4
831 template<> struct v_at_impl<6>
833 template< typename V_ > struct result_
835 typedef typename V_::item6 type;
842 struct at_impl< aux::vector_tag<6> >
844 template< typename V_, typename N > struct apply
846 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
847 ::template result_<V_>::type type;
852 struct front_impl< aux::vector_tag<6> >
854 template< typename Vector > struct apply
856 typedef typename Vector::item0 type;
861 struct back_impl< aux::vector_tag<6> >
863 template< typename Vector > struct apply
865 typedef typename Vector::back type;
870 struct empty_impl< aux::vector_tag<6> >
872 template< typename Vector > struct apply
879 struct size_impl< aux::vector_tag<6> >
881 template< typename Vector > struct apply
888 struct O1_size_impl< aux::vector_tag<6> >
889 : size_impl< aux::vector_tag<6> >
894 struct clear_impl< aux::vector_tag<6> >
896 template< typename Vector > struct apply
898 typedef vector0<> type;
903 typename T0, typename T1, typename T2, typename T3, typename T4
904 , typename T5, typename T6
908 typedef aux::vector_tag<7> tag;
909 typedef vector7 type;
921 typedef v_iter< type,0 > begin;
922 typedef v_iter< type,7 > end;
926 struct push_front_impl< aux::vector_tag<6> >
928 template< typename Vector, typename T > struct apply
933 typename Vector::item0, typename Vector::item1
934 , typename Vector::item2, typename Vector::item3
935 , typename Vector::item4, typename Vector::item5
941 struct pop_front_impl< aux::vector_tag<7> >
943 template< typename Vector > struct apply
946 typename Vector::item1, typename Vector::item2
947 , typename Vector::item3, typename Vector::item4
948 , typename Vector::item5, typename Vector::item6
954 struct push_back_impl< aux::vector_tag<6> >
956 template< typename Vector, typename T > struct apply
959 typename Vector::item0, typename Vector::item1
960 , typename Vector::item2, typename Vector::item3
961 , typename Vector::item4, typename Vector::item5
969 struct pop_back_impl< aux::vector_tag<7> >
971 template< typename Vector > struct apply
974 typename Vector::item0, typename Vector::item1
975 , typename Vector::item2, typename Vector::item3
976 , typename Vector::item4, typename Vector::item5
982 template<> struct v_at_impl<7>
984 template< typename V_ > struct result_
986 typedef typename V_::item7 type;
993 struct at_impl< aux::vector_tag<7> >
995 template< typename V_, typename N > struct apply
997 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
998 ::template result_<V_>::type type;
1003 struct front_impl< aux::vector_tag<7> >
1005 template< typename Vector > struct apply
1007 typedef typename Vector::item0 type;
1012 struct back_impl< aux::vector_tag<7> >
1014 template< typename Vector > struct apply
1016 typedef typename Vector::back type;
1021 struct empty_impl< aux::vector_tag<7> >
1023 template< typename Vector > struct apply
1030 struct size_impl< aux::vector_tag<7> >
1032 template< typename Vector > struct apply
1039 struct O1_size_impl< aux::vector_tag<7> >
1040 : size_impl< aux::vector_tag<7> >
1045 struct clear_impl< aux::vector_tag<7> >
1047 template< typename Vector > struct apply
1049 typedef vector0<> type;
1054 typename T0, typename T1, typename T2, typename T3, typename T4
1055 , typename T5, typename T6, typename T7
1059 typedef aux::vector_tag<8> tag;
1060 typedef vector8 type;
1071 typedef void_ item8;
1073 typedef v_iter< type,0 > begin;
1074 typedef v_iter< type,8 > end;
1078 struct push_front_impl< aux::vector_tag<7> >
1080 template< typename Vector, typename T > struct apply
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
1094 struct pop_front_impl< aux::vector_tag<8> >
1096 template< typename Vector > struct apply
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
1108 struct push_back_impl< aux::vector_tag<7> >
1110 template< typename Vector, typename T > struct apply
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
1124 struct pop_back_impl< aux::vector_tag<8> >
1126 template< typename Vector > struct apply
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
1138 template<> struct v_at_impl<8>
1140 template< typename V_ > struct result_
1142 typedef typename V_::item8 type;
1149 struct at_impl< aux::vector_tag<8> >
1151 template< typename V_, typename N > struct apply
1153 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1154 ::template result_<V_>::type type;
1159 struct front_impl< aux::vector_tag<8> >
1161 template< typename Vector > struct apply
1163 typedef typename Vector::item0 type;
1168 struct back_impl< aux::vector_tag<8> >
1170 template< typename Vector > struct apply
1172 typedef typename Vector::back type;
1177 struct empty_impl< aux::vector_tag<8> >
1179 template< typename Vector > struct apply
1186 struct size_impl< aux::vector_tag<8> >
1188 template< typename Vector > struct apply
1195 struct O1_size_impl< aux::vector_tag<8> >
1196 : size_impl< aux::vector_tag<8> >
1201 struct clear_impl< aux::vector_tag<8> >
1203 template< typename Vector > struct apply
1205 typedef vector0<> type;
1210 typename T0, typename T1, typename T2, typename T3, typename T4
1211 , typename T5, typename T6, typename T7, typename T8
1215 typedef aux::vector_tag<9> tag;
1216 typedef vector9 type;
1228 typedef void_ item9;
1230 typedef v_iter< type,0 > begin;
1231 typedef v_iter< type,9 > end;
1235 struct push_front_impl< aux::vector_tag<8> >
1237 template< typename Vector, typename T > struct apply
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
1251 struct pop_front_impl< aux::vector_tag<9> >
1253 template< typename Vector > struct apply
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
1265 struct push_back_impl< aux::vector_tag<8> >
1267 template< typename Vector, typename T > struct apply
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
1281 struct pop_back_impl< aux::vector_tag<9> >
1283 template< typename Vector > struct apply
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
1295 template<> struct v_at_impl<9>
1297 template< typename V_ > struct result_
1299 typedef typename V_::item9 type;
1306 struct at_impl< aux::vector_tag<9> >
1308 template< typename V_, typename N > struct apply
1310 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1311 ::template result_<V_>::type type;
1316 struct front_impl< aux::vector_tag<9> >
1318 template< typename Vector > struct apply
1320 typedef typename Vector::item0 type;
1325 struct back_impl< aux::vector_tag<9> >
1327 template< typename Vector > struct apply
1329 typedef typename Vector::back type;
1334 struct empty_impl< aux::vector_tag<9> >
1336 template< typename Vector > struct apply
1343 struct size_impl< aux::vector_tag<9> >
1345 template< typename Vector > struct apply
1352 struct O1_size_impl< aux::vector_tag<9> >
1353 : size_impl< aux::vector_tag<9> >
1358 struct clear_impl< aux::vector_tag<9> >
1360 template< typename Vector > struct apply
1362 typedef vector0<> type;
1367 typename T0, typename T1, typename T2, typename T3, typename T4
1368 , typename T5, typename T6, typename T7, typename T8, typename T9
1372 typedef aux::vector_tag<10> tag;
1373 typedef vector10 type;
1386 typedef void_ item10;
1388 typedef v_iter< type,0 > begin;
1389 typedef v_iter< type,10 > end;
1393 struct push_front_impl< aux::vector_tag<9> >
1395 template< typename Vector, typename T > struct apply
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
1410 struct pop_front_impl< aux::vector_tag<10> >
1412 template< typename Vector > struct apply
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
1425 struct push_back_impl< aux::vector_tag<9> >
1427 template< typename Vector, typename T > struct apply
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
1442 struct pop_back_impl< aux::vector_tag<10> >
1444 template< typename Vector > struct apply
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
1457 template<> struct v_at_impl<10>
1459 template< typename V_ > struct result_
1461 typedef typename V_::item10 type;
1468 struct at_impl< aux::vector_tag<10> >
1470 template< typename V_, typename N > struct apply
1472 typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>
1473 ::template result_<V_>::type type;
1478 struct front_impl< aux::vector_tag<10> >
1480 template< typename Vector > struct apply
1482 typedef typename Vector::item0 type;
1487 struct back_impl< aux::vector_tag<10> >
1489 template< typename Vector > struct apply
1491 typedef typename Vector::back type;
1496 struct empty_impl< aux::vector_tag<10> >
1498 template< typename Vector > struct apply
1505 struct size_impl< aux::vector_tag<10> >
1507 template< typename Vector > struct apply
1514 struct O1_size_impl< aux::vector_tag<10> >
1515 : size_impl< aux::vector_tag<10> >
1520 struct clear_impl< aux::vector_tag<10> >
1522 template< typename Vector > struct apply
1524 typedef vector0<> type;