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