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