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