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