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