]> git.donarmstrong.com Git - rsem.git/blob - boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp
RSEM Source Codes
[rsem.git] / boost / mpl / vector / aux_ / preprocessed / plain / vector30.hpp
1
2 // Copyright Aleksey Gurtovoy 2000-2004
3 //
4 // Distributed under the Boost Software License, Version 1.0. 
5 // (See accompanying file LICENSE_1_0.txt or copy at 
6 // http://www.boost.org/LICENSE_1_0.txt)
7 //
8
9 // Preprocessed version of "boost/mpl/vector/vector30.hpp" header
10 // -- DO NOT modify by hand!
11
12 namespace boost { namespace mpl {
13
14 template<
15       typename T0, typename T1, typename T2, typename T3, typename T4
16     , typename T5, typename T6, typename T7, typename T8, typename T9
17     , typename T10, typename T11, typename T12, typename T13, typename T14
18     , typename T15, typename T16, typename T17, typename T18, typename T19
19     , typename T20
20     >
21 struct vector21
22 {
23     typedef aux::vector_tag<21> tag;
24     typedef vector21 type;
25     typedef T0 item0;
26     typedef T1 item1;
27     typedef T2 item2;
28     typedef T3 item3;
29     typedef T4 item4;
30     typedef T5 item5;
31     typedef T6 item6;
32     typedef T7 item7;
33     typedef T8 item8;
34     typedef T9 item9;
35     typedef T10 item10;
36     typedef T11 item11;
37     typedef T12 item12;
38     typedef T13 item13;
39     typedef T14 item14;
40     typedef T15 item15;
41     typedef T16 item16;
42     typedef T17 item17;
43     typedef T18 item18;
44     typedef T19 item19;
45     typedef T20 item20;
46     
47
48     typedef void_ item21;
49     typedef T20 back;
50     typedef v_iter< type,0 > begin;
51     typedef v_iter< type,21 > end;
52 };
53
54 template<>
55 struct push_front_impl< aux::vector_tag<20> >
56 {
57     template< typename Vector, typename T > struct apply
58     {
59         typedef vector21<
60               T
61               ,
62               typename Vector::item0, typename Vector::item1
63             , typename Vector::item2, typename Vector::item3
64             , typename Vector::item4, typename Vector::item5
65             , typename Vector::item6, typename Vector::item7
66             , typename Vector::item8, typename Vector::item9
67             , typename Vector::item10, typename Vector::item11
68             , typename Vector::item12, typename Vector::item13
69             , typename Vector::item14, typename Vector::item15
70             , typename Vector::item16, typename Vector::item17
71             , typename Vector::item18, typename Vector::item19
72             > type;
73     };
74 };
75
76 template<>
77 struct pop_front_impl< aux::vector_tag<21> >
78 {
79     template< typename Vector > struct apply
80     {
81         typedef vector20<
82               typename Vector::item1, typename Vector::item2
83             , typename Vector::item3, typename Vector::item4
84             , typename Vector::item5, typename Vector::item6
85             , typename Vector::item7, typename Vector::item8
86             , typename Vector::item9, typename Vector::item10
87             , typename Vector::item11, typename Vector::item12
88             , typename Vector::item13, typename Vector::item14
89             , typename Vector::item15, typename Vector::item16
90             , typename Vector::item17, typename Vector::item18
91             , typename Vector::item19, typename Vector::item20
92             > type;
93     };
94 };
95
96 template<>
97 struct push_back_impl< aux::vector_tag<20> >
98 {
99     template< typename Vector, typename T > struct apply
100     {
101         typedef vector21<
102               typename Vector::item0, typename Vector::item1
103             , typename Vector::item2, typename Vector::item3
104             , typename Vector::item4, typename Vector::item5
105             , typename Vector::item6, typename Vector::item7
106             , typename Vector::item8, typename Vector::item9
107             , typename Vector::item10, typename Vector::item11
108             , typename Vector::item12, typename Vector::item13
109             , typename Vector::item14, typename Vector::item15
110             , typename Vector::item16, typename Vector::item17
111             , typename Vector::item18, typename Vector::item19
112               ,
113               T
114             > type;
115     };
116 };
117
118 template<>
119 struct pop_back_impl< aux::vector_tag<21> >
120 {
121     template< typename Vector > struct apply
122     {
123         typedef vector20<
124               typename Vector::item0, typename Vector::item1
125             , typename Vector::item2, typename Vector::item3
126             , typename Vector::item4, typename Vector::item5
127             , typename Vector::item6, typename Vector::item7
128             , typename Vector::item8, typename Vector::item9
129             , typename Vector::item10, typename Vector::item11
130             , typename Vector::item12, typename Vector::item13
131             , typename Vector::item14, typename Vector::item15
132             , typename Vector::item16, typename Vector::item17
133             , typename Vector::item18, typename Vector::item19
134             > type;
135     };
136 };
137
138 template< typename V >
139 struct v_at< V,21 >
140 {
141     typedef typename V::item21 type;
142 };
143
144 template<
145       typename T0, typename T1, typename T2, typename T3, typename T4
146     , typename T5, typename T6, typename T7, typename T8, typename T9
147     , typename T10, typename T11, typename T12, typename T13, typename T14
148     , typename T15, typename T16, typename T17, typename T18, typename T19
149     , typename T20, typename T21
150     >
151 struct vector22
152 {
153     typedef aux::vector_tag<22> tag;
154     typedef vector22 type;
155     typedef T0 item0;
156     typedef T1 item1;
157     typedef T2 item2;
158     typedef T3 item3;
159     typedef T4 item4;
160     typedef T5 item5;
161     typedef T6 item6;
162     typedef T7 item7;
163     typedef T8 item8;
164     typedef T9 item9;
165     typedef T10 item10;
166     typedef T11 item11;
167     typedef T12 item12;
168     typedef T13 item13;
169     typedef T14 item14;
170     typedef T15 item15;
171     typedef T16 item16;
172     typedef T17 item17;
173     typedef T18 item18;
174     typedef T19 item19;
175     typedef T20 item20;
176     typedef T21 item21;
177     
178
179     typedef void_ item22;
180     typedef T21 back;
181     typedef v_iter< type,0 > begin;
182     typedef v_iter< type,22 > end;
183 };
184
185 template<>
186 struct push_front_impl< aux::vector_tag<21> >
187 {
188     template< typename Vector, typename T > struct apply
189     {
190         typedef vector22<
191               T
192               ,
193               typename Vector::item0, typename Vector::item1
194             , typename Vector::item2, typename Vector::item3
195             , typename Vector::item4, typename Vector::item5
196             , typename Vector::item6, typename Vector::item7
197             , typename Vector::item8, typename Vector::item9
198             , typename Vector::item10, typename Vector::item11
199             , typename Vector::item12, typename Vector::item13
200             , typename Vector::item14, typename Vector::item15
201             , typename Vector::item16, typename Vector::item17
202             , typename Vector::item18, typename Vector::item19
203             , typename Vector::item20
204             > type;
205     };
206 };
207
208 template<>
209 struct pop_front_impl< aux::vector_tag<22> >
210 {
211     template< typename Vector > struct apply
212     {
213         typedef vector21<
214               typename Vector::item1, typename Vector::item2
215             , typename Vector::item3, typename Vector::item4
216             , typename Vector::item5, typename Vector::item6
217             , typename Vector::item7, typename Vector::item8
218             , typename Vector::item9, typename Vector::item10
219             , typename Vector::item11, typename Vector::item12
220             , typename Vector::item13, typename Vector::item14
221             , typename Vector::item15, typename Vector::item16
222             , typename Vector::item17, typename Vector::item18
223             , typename Vector::item19, typename Vector::item20
224             , typename Vector::item21
225             > type;
226     };
227 };
228
229 template<>
230 struct push_back_impl< aux::vector_tag<21> >
231 {
232     template< typename Vector, typename T > struct apply
233     {
234         typedef vector22<
235               typename Vector::item0, typename Vector::item1
236             , typename Vector::item2, typename Vector::item3
237             , typename Vector::item4, typename Vector::item5
238             , typename Vector::item6, typename Vector::item7
239             , typename Vector::item8, typename Vector::item9
240             , typename Vector::item10, typename Vector::item11
241             , typename Vector::item12, typename Vector::item13
242             , typename Vector::item14, typename Vector::item15
243             , typename Vector::item16, typename Vector::item17
244             , typename Vector::item18, typename Vector::item19
245             , typename Vector::item20
246               ,
247               T
248             > type;
249     };
250 };
251
252 template<>
253 struct pop_back_impl< aux::vector_tag<22> >
254 {
255     template< typename Vector > struct apply
256     {
257         typedef vector21<
258               typename Vector::item0, typename Vector::item1
259             , typename Vector::item2, typename Vector::item3
260             , typename Vector::item4, typename Vector::item5
261             , typename Vector::item6, typename Vector::item7
262             , typename Vector::item8, typename Vector::item9
263             , typename Vector::item10, typename Vector::item11
264             , typename Vector::item12, typename Vector::item13
265             , typename Vector::item14, typename Vector::item15
266             , typename Vector::item16, typename Vector::item17
267             , typename Vector::item18, typename Vector::item19
268             , typename Vector::item20
269             > type;
270     };
271 };
272
273 template< typename V >
274 struct v_at< V,22 >
275 {
276     typedef typename V::item22 type;
277 };
278
279 template<
280       typename T0, typename T1, typename T2, typename T3, typename T4
281     , typename T5, typename T6, typename T7, typename T8, typename T9
282     , typename T10, typename T11, typename T12, typename T13, typename T14
283     , typename T15, typename T16, typename T17, typename T18, typename T19
284     , typename T20, typename T21, typename T22
285     >
286 struct vector23
287 {
288     typedef aux::vector_tag<23> tag;
289     typedef vector23 type;
290     typedef T0 item0;
291     typedef T1 item1;
292     typedef T2 item2;
293     typedef T3 item3;
294     typedef T4 item4;
295     typedef T5 item5;
296     typedef T6 item6;
297     typedef T7 item7;
298     typedef T8 item8;
299     typedef T9 item9;
300     typedef T10 item10;
301     typedef T11 item11;
302     typedef T12 item12;
303     typedef T13 item13;
304     typedef T14 item14;
305     typedef T15 item15;
306     typedef T16 item16;
307     typedef T17 item17;
308     typedef T18 item18;
309     typedef T19 item19;
310     typedef T20 item20;
311     typedef T21 item21;
312     typedef T22 item22;
313     
314
315     typedef void_ item23;
316     typedef T22 back;
317     typedef v_iter< type,0 > begin;
318     typedef v_iter< type,23 > end;
319 };
320
321 template<>
322 struct push_front_impl< aux::vector_tag<22> >
323 {
324     template< typename Vector, typename T > struct apply
325     {
326         typedef vector23<
327               T
328               ,
329               typename Vector::item0, typename Vector::item1
330             , typename Vector::item2, typename Vector::item3
331             , typename Vector::item4, typename Vector::item5
332             , typename Vector::item6, typename Vector::item7
333             , typename Vector::item8, typename Vector::item9
334             , typename Vector::item10, typename Vector::item11
335             , typename Vector::item12, typename Vector::item13
336             , typename Vector::item14, typename Vector::item15
337             , typename Vector::item16, typename Vector::item17
338             , typename Vector::item18, typename Vector::item19
339             , typename Vector::item20, typename Vector::item21
340             > type;
341     };
342 };
343
344 template<>
345 struct pop_front_impl< aux::vector_tag<23> >
346 {
347     template< typename Vector > struct apply
348     {
349         typedef vector22<
350               typename Vector::item1, typename Vector::item2
351             , typename Vector::item3, typename Vector::item4
352             , typename Vector::item5, typename Vector::item6
353             , typename Vector::item7, typename Vector::item8
354             , typename Vector::item9, typename Vector::item10
355             , typename Vector::item11, typename Vector::item12
356             , typename Vector::item13, typename Vector::item14
357             , typename Vector::item15, typename Vector::item16
358             , typename Vector::item17, typename Vector::item18
359             , typename Vector::item19, typename Vector::item20
360             , typename Vector::item21, typename Vector::item22
361             > type;
362     };
363 };
364
365 template<>
366 struct push_back_impl< aux::vector_tag<22> >
367 {
368     template< typename Vector, typename T > struct apply
369     {
370         typedef vector23<
371               typename Vector::item0, typename Vector::item1
372             , typename Vector::item2, typename Vector::item3
373             , typename Vector::item4, typename Vector::item5
374             , typename Vector::item6, typename Vector::item7
375             , typename Vector::item8, typename Vector::item9
376             , typename Vector::item10, typename Vector::item11
377             , typename Vector::item12, typename Vector::item13
378             , typename Vector::item14, typename Vector::item15
379             , typename Vector::item16, typename Vector::item17
380             , typename Vector::item18, typename Vector::item19
381             , typename Vector::item20, typename Vector::item21
382               ,
383               T
384             > type;
385     };
386 };
387
388 template<>
389 struct pop_back_impl< aux::vector_tag<23> >
390 {
391     template< typename Vector > struct apply
392     {
393         typedef vector22<
394               typename Vector::item0, typename Vector::item1
395             , typename Vector::item2, typename Vector::item3
396             , typename Vector::item4, typename Vector::item5
397             , typename Vector::item6, typename Vector::item7
398             , typename Vector::item8, typename Vector::item9
399             , typename Vector::item10, typename Vector::item11
400             , typename Vector::item12, typename Vector::item13
401             , typename Vector::item14, typename Vector::item15
402             , typename Vector::item16, typename Vector::item17
403             , typename Vector::item18, typename Vector::item19
404             , typename Vector::item20, typename Vector::item21
405             > type;
406     };
407 };
408
409 template< typename V >
410 struct v_at< V,23 >
411 {
412     typedef typename V::item23 type;
413 };
414
415 template<
416       typename T0, typename T1, typename T2, typename T3, typename T4
417     , typename T5, typename T6, typename T7, typename T8, typename T9
418     , typename T10, typename T11, typename T12, typename T13, typename T14
419     , typename T15, typename T16, typename T17, typename T18, typename T19
420     , typename T20, typename T21, typename T22, typename T23
421     >
422 struct vector24
423 {
424     typedef aux::vector_tag<24> tag;
425     typedef vector24 type;
426     typedef T0 item0;
427     typedef T1 item1;
428     typedef T2 item2;
429     typedef T3 item3;
430     typedef T4 item4;
431     typedef T5 item5;
432     typedef T6 item6;
433     typedef T7 item7;
434     typedef T8 item8;
435     typedef T9 item9;
436     typedef T10 item10;
437     typedef T11 item11;
438     typedef T12 item12;
439     typedef T13 item13;
440     typedef T14 item14;
441     typedef T15 item15;
442     typedef T16 item16;
443     typedef T17 item17;
444     typedef T18 item18;
445     typedef T19 item19;
446     typedef T20 item20;
447     typedef T21 item21;
448     typedef T22 item22;
449     typedef T23 item23;
450     
451
452     typedef void_ item24;
453     typedef T23 back;
454     typedef v_iter< type,0 > begin;
455     typedef v_iter< type,24 > end;
456 };
457
458 template<>
459 struct push_front_impl< aux::vector_tag<23> >
460 {
461     template< typename Vector, typename T > struct apply
462     {
463         typedef vector24<
464               T
465               ,
466               typename Vector::item0, typename Vector::item1
467             , typename Vector::item2, typename Vector::item3
468             , typename Vector::item4, typename Vector::item5
469             , typename Vector::item6, typename Vector::item7
470             , typename Vector::item8, typename Vector::item9
471             , typename Vector::item10, typename Vector::item11
472             , typename Vector::item12, typename Vector::item13
473             , typename Vector::item14, typename Vector::item15
474             , typename Vector::item16, typename Vector::item17
475             , typename Vector::item18, typename Vector::item19
476             , typename Vector::item20, typename Vector::item21
477             , typename Vector::item22
478             > type;
479     };
480 };
481
482 template<>
483 struct pop_front_impl< aux::vector_tag<24> >
484 {
485     template< typename Vector > struct apply
486     {
487         typedef vector23<
488               typename Vector::item1, typename Vector::item2
489             , typename Vector::item3, typename Vector::item4
490             , typename Vector::item5, typename Vector::item6
491             , typename Vector::item7, typename Vector::item8
492             , typename Vector::item9, typename Vector::item10
493             , typename Vector::item11, typename Vector::item12
494             , typename Vector::item13, typename Vector::item14
495             , typename Vector::item15, typename Vector::item16
496             , typename Vector::item17, typename Vector::item18
497             , typename Vector::item19, typename Vector::item20
498             , typename Vector::item21, typename Vector::item22
499             , typename Vector::item23
500             > type;
501     };
502 };
503
504 template<>
505 struct push_back_impl< aux::vector_tag<23> >
506 {
507     template< typename Vector, typename T > struct apply
508     {
509         typedef vector24<
510               typename Vector::item0, typename Vector::item1
511             , typename Vector::item2, typename Vector::item3
512             , typename Vector::item4, typename Vector::item5
513             , typename Vector::item6, typename Vector::item7
514             , typename Vector::item8, typename Vector::item9
515             , typename Vector::item10, typename Vector::item11
516             , typename Vector::item12, typename Vector::item13
517             , typename Vector::item14, typename Vector::item15
518             , typename Vector::item16, typename Vector::item17
519             , typename Vector::item18, typename Vector::item19
520             , typename Vector::item20, typename Vector::item21
521             , typename Vector::item22
522               ,
523               T
524             > type;
525     };
526 };
527
528 template<>
529 struct pop_back_impl< aux::vector_tag<24> >
530 {
531     template< typename Vector > struct apply
532     {
533         typedef vector23<
534               typename Vector::item0, typename Vector::item1
535             , typename Vector::item2, typename Vector::item3
536             , typename Vector::item4, typename Vector::item5
537             , typename Vector::item6, typename Vector::item7
538             , typename Vector::item8, typename Vector::item9
539             , typename Vector::item10, typename Vector::item11
540             , typename Vector::item12, typename Vector::item13
541             , typename Vector::item14, typename Vector::item15
542             , typename Vector::item16, typename Vector::item17
543             , typename Vector::item18, typename Vector::item19
544             , typename Vector::item20, typename Vector::item21
545             , typename Vector::item22
546             > type;
547     };
548 };
549
550 template< typename V >
551 struct v_at< V,24 >
552 {
553     typedef typename V::item24 type;
554 };
555
556 template<
557       typename T0, typename T1, typename T2, typename T3, typename T4
558     , typename T5, typename T6, typename T7, typename T8, typename T9
559     , typename T10, typename T11, typename T12, typename T13, typename T14
560     , typename T15, typename T16, typename T17, typename T18, typename T19
561     , typename T20, typename T21, typename T22, typename T23, typename T24
562     >
563 struct vector25
564 {
565     typedef aux::vector_tag<25> tag;
566     typedef vector25 type;
567     typedef T0 item0;
568     typedef T1 item1;
569     typedef T2 item2;
570     typedef T3 item3;
571     typedef T4 item4;
572     typedef T5 item5;
573     typedef T6 item6;
574     typedef T7 item7;
575     typedef T8 item8;
576     typedef T9 item9;
577     typedef T10 item10;
578     typedef T11 item11;
579     typedef T12 item12;
580     typedef T13 item13;
581     typedef T14 item14;
582     typedef T15 item15;
583     typedef T16 item16;
584     typedef T17 item17;
585     typedef T18 item18;
586     typedef T19 item19;
587     typedef T20 item20;
588     typedef T21 item21;
589     typedef T22 item22;
590     typedef T23 item23;
591     typedef T24 item24;
592     
593
594     typedef void_ item25;
595     typedef T24 back;
596     typedef v_iter< type,0 > begin;
597     typedef v_iter< type,25 > end;
598 };
599
600 template<>
601 struct push_front_impl< aux::vector_tag<24> >
602 {
603     template< typename Vector, typename T > struct apply
604     {
605         typedef vector25<
606               T
607               ,
608               typename Vector::item0, typename Vector::item1
609             , typename Vector::item2, typename Vector::item3
610             , typename Vector::item4, typename Vector::item5
611             , typename Vector::item6, typename Vector::item7
612             , typename Vector::item8, typename Vector::item9
613             , typename Vector::item10, typename Vector::item11
614             , typename Vector::item12, typename Vector::item13
615             , typename Vector::item14, typename Vector::item15
616             , typename Vector::item16, typename Vector::item17
617             , typename Vector::item18, typename Vector::item19
618             , typename Vector::item20, typename Vector::item21
619             , typename Vector::item22, typename Vector::item23
620             > type;
621     };
622 };
623
624 template<>
625 struct pop_front_impl< aux::vector_tag<25> >
626 {
627     template< typename Vector > struct apply
628     {
629         typedef vector24<
630               typename Vector::item1, typename Vector::item2
631             , typename Vector::item3, typename Vector::item4
632             , typename Vector::item5, typename Vector::item6
633             , typename Vector::item7, typename Vector::item8
634             , typename Vector::item9, typename Vector::item10
635             , typename Vector::item11, typename Vector::item12
636             , typename Vector::item13, typename Vector::item14
637             , typename Vector::item15, typename Vector::item16
638             , typename Vector::item17, typename Vector::item18
639             , typename Vector::item19, typename Vector::item20
640             , typename Vector::item21, typename Vector::item22
641             , typename Vector::item23, typename Vector::item24
642             > type;
643     };
644 };
645
646 template<>
647 struct push_back_impl< aux::vector_tag<24> >
648 {
649     template< typename Vector, typename T > struct apply
650     {
651         typedef vector25<
652               typename Vector::item0, typename Vector::item1
653             , typename Vector::item2, typename Vector::item3
654             , typename Vector::item4, typename Vector::item5
655             , typename Vector::item6, typename Vector::item7
656             , typename Vector::item8, typename Vector::item9
657             , typename Vector::item10, typename Vector::item11
658             , typename Vector::item12, typename Vector::item13
659             , typename Vector::item14, typename Vector::item15
660             , typename Vector::item16, typename Vector::item17
661             , typename Vector::item18, typename Vector::item19
662             , typename Vector::item20, typename Vector::item21
663             , typename Vector::item22, typename Vector::item23
664               ,
665               T
666             > type;
667     };
668 };
669
670 template<>
671 struct pop_back_impl< aux::vector_tag<25> >
672 {
673     template< typename Vector > struct apply
674     {
675         typedef vector24<
676               typename Vector::item0, typename Vector::item1
677             , typename Vector::item2, typename Vector::item3
678             , typename Vector::item4, typename Vector::item5
679             , typename Vector::item6, typename Vector::item7
680             , typename Vector::item8, typename Vector::item9
681             , typename Vector::item10, typename Vector::item11
682             , typename Vector::item12, typename Vector::item13
683             , typename Vector::item14, typename Vector::item15
684             , typename Vector::item16, typename Vector::item17
685             , typename Vector::item18, typename Vector::item19
686             , typename Vector::item20, typename Vector::item21
687             , typename Vector::item22, typename Vector::item23
688             > type;
689     };
690 };
691
692 template< typename V >
693 struct v_at< V,25 >
694 {
695     typedef typename V::item25 type;
696 };
697
698 template<
699       typename T0, typename T1, typename T2, typename T3, typename T4
700     , typename T5, typename T6, typename T7, typename T8, typename T9
701     , typename T10, typename T11, typename T12, typename T13, typename T14
702     , typename T15, typename T16, typename T17, typename T18, typename T19
703     , typename T20, typename T21, typename T22, typename T23, typename T24
704     , typename T25
705     >
706 struct vector26
707 {
708     typedef aux::vector_tag<26> tag;
709     typedef vector26 type;
710     typedef T0 item0;
711     typedef T1 item1;
712     typedef T2 item2;
713     typedef T3 item3;
714     typedef T4 item4;
715     typedef T5 item5;
716     typedef T6 item6;
717     typedef T7 item7;
718     typedef T8 item8;
719     typedef T9 item9;
720     typedef T10 item10;
721     typedef T11 item11;
722     typedef T12 item12;
723     typedef T13 item13;
724     typedef T14 item14;
725     typedef T15 item15;
726     typedef T16 item16;
727     typedef T17 item17;
728     typedef T18 item18;
729     typedef T19 item19;
730     typedef T20 item20;
731     typedef T21 item21;
732     typedef T22 item22;
733     typedef T23 item23;
734     typedef T24 item24;
735     typedef T25 item25;
736     
737
738     typedef void_ item26;
739     typedef T25 back;
740     typedef v_iter< type,0 > begin;
741     typedef v_iter< type,26 > end;
742 };
743
744 template<>
745 struct push_front_impl< aux::vector_tag<25> >
746 {
747     template< typename Vector, typename T > struct apply
748     {
749         typedef vector26<
750               T
751               ,
752               typename Vector::item0, typename Vector::item1
753             , typename Vector::item2, typename Vector::item3
754             , typename Vector::item4, typename Vector::item5
755             , typename Vector::item6, typename Vector::item7
756             , typename Vector::item8, typename Vector::item9
757             , typename Vector::item10, typename Vector::item11
758             , typename Vector::item12, typename Vector::item13
759             , typename Vector::item14, typename Vector::item15
760             , typename Vector::item16, typename Vector::item17
761             , typename Vector::item18, typename Vector::item19
762             , typename Vector::item20, typename Vector::item21
763             , typename Vector::item22, typename Vector::item23
764             , typename Vector::item24
765             > type;
766     };
767 };
768
769 template<>
770 struct pop_front_impl< aux::vector_tag<26> >
771 {
772     template< typename Vector > struct apply
773     {
774         typedef vector25<
775               typename Vector::item1, typename Vector::item2
776             , typename Vector::item3, typename Vector::item4
777             , typename Vector::item5, typename Vector::item6
778             , typename Vector::item7, typename Vector::item8
779             , typename Vector::item9, typename Vector::item10
780             , typename Vector::item11, typename Vector::item12
781             , typename Vector::item13, typename Vector::item14
782             , typename Vector::item15, typename Vector::item16
783             , typename Vector::item17, typename Vector::item18
784             , typename Vector::item19, typename Vector::item20
785             , typename Vector::item21, typename Vector::item22
786             , typename Vector::item23, typename Vector::item24
787             , typename Vector::item25
788             > type;
789     };
790 };
791
792 template<>
793 struct push_back_impl< aux::vector_tag<25> >
794 {
795     template< typename Vector, typename T > struct apply
796     {
797         typedef vector26<
798               typename Vector::item0, typename Vector::item1
799             , typename Vector::item2, typename Vector::item3
800             , typename Vector::item4, typename Vector::item5
801             , typename Vector::item6, typename Vector::item7
802             , typename Vector::item8, typename Vector::item9
803             , typename Vector::item10, typename Vector::item11
804             , typename Vector::item12, typename Vector::item13
805             , typename Vector::item14, typename Vector::item15
806             , typename Vector::item16, typename Vector::item17
807             , typename Vector::item18, typename Vector::item19
808             , typename Vector::item20, typename Vector::item21
809             , typename Vector::item22, typename Vector::item23
810             , typename Vector::item24
811               ,
812               T
813             > type;
814     };
815 };
816
817 template<>
818 struct pop_back_impl< aux::vector_tag<26> >
819 {
820     template< typename Vector > struct apply
821     {
822         typedef vector25<
823               typename Vector::item0, typename Vector::item1
824             , typename Vector::item2, typename Vector::item3
825             , typename Vector::item4, typename Vector::item5
826             , typename Vector::item6, typename Vector::item7
827             , typename Vector::item8, typename Vector::item9
828             , typename Vector::item10, typename Vector::item11
829             , typename Vector::item12, typename Vector::item13
830             , typename Vector::item14, typename Vector::item15
831             , typename Vector::item16, typename Vector::item17
832             , typename Vector::item18, typename Vector::item19
833             , typename Vector::item20, typename Vector::item21
834             , typename Vector::item22, typename Vector::item23
835             , typename Vector::item24
836             > type;
837     };
838 };
839
840 template< typename V >
841 struct v_at< V,26 >
842 {
843     typedef typename V::item26 type;
844 };
845
846 template<
847       typename T0, typename T1, typename T2, typename T3, typename T4
848     , typename T5, typename T6, typename T7, typename T8, typename T9
849     , typename T10, typename T11, typename T12, typename T13, typename T14
850     , typename T15, typename T16, typename T17, typename T18, typename T19
851     , typename T20, typename T21, typename T22, typename T23, typename T24
852     , typename T25, typename T26
853     >
854 struct vector27
855 {
856     typedef aux::vector_tag<27> tag;
857     typedef vector27 type;
858     typedef T0 item0;
859     typedef T1 item1;
860     typedef T2 item2;
861     typedef T3 item3;
862     typedef T4 item4;
863     typedef T5 item5;
864     typedef T6 item6;
865     typedef T7 item7;
866     typedef T8 item8;
867     typedef T9 item9;
868     typedef T10 item10;
869     typedef T11 item11;
870     typedef T12 item12;
871     typedef T13 item13;
872     typedef T14 item14;
873     typedef T15 item15;
874     typedef T16 item16;
875     typedef T17 item17;
876     typedef T18 item18;
877     typedef T19 item19;
878     typedef T20 item20;
879     typedef T21 item21;
880     typedef T22 item22;
881     typedef T23 item23;
882     typedef T24 item24;
883     typedef T25 item25;
884     typedef T26 item26;
885     
886
887     typedef void_ item27;
888     typedef T26 back;
889     typedef v_iter< type,0 > begin;
890     typedef v_iter< type,27 > end;
891 };
892
893 template<>
894 struct push_front_impl< aux::vector_tag<26> >
895 {
896     template< typename Vector, typename T > struct apply
897     {
898         typedef vector27<
899               T
900               ,
901               typename Vector::item0, typename Vector::item1
902             , typename Vector::item2, typename Vector::item3
903             , typename Vector::item4, typename Vector::item5
904             , typename Vector::item6, typename Vector::item7
905             , typename Vector::item8, typename Vector::item9
906             , typename Vector::item10, typename Vector::item11
907             , typename Vector::item12, typename Vector::item13
908             , typename Vector::item14, typename Vector::item15
909             , typename Vector::item16, typename Vector::item17
910             , typename Vector::item18, typename Vector::item19
911             , typename Vector::item20, typename Vector::item21
912             , typename Vector::item22, typename Vector::item23
913             , typename Vector::item24, typename Vector::item25
914             > type;
915     };
916 };
917
918 template<>
919 struct pop_front_impl< aux::vector_tag<27> >
920 {
921     template< typename Vector > struct apply
922     {
923         typedef vector26<
924               typename Vector::item1, typename Vector::item2
925             , typename Vector::item3, typename Vector::item4
926             , typename Vector::item5, typename Vector::item6
927             , typename Vector::item7, typename Vector::item8
928             , typename Vector::item9, typename Vector::item10
929             , typename Vector::item11, typename Vector::item12
930             , typename Vector::item13, typename Vector::item14
931             , typename Vector::item15, typename Vector::item16
932             , typename Vector::item17, typename Vector::item18
933             , typename Vector::item19, typename Vector::item20
934             , typename Vector::item21, typename Vector::item22
935             , typename Vector::item23, typename Vector::item24
936             , typename Vector::item25, typename Vector::item26
937             > type;
938     };
939 };
940
941 template<>
942 struct push_back_impl< aux::vector_tag<26> >
943 {
944     template< typename Vector, typename T > struct apply
945     {
946         typedef vector27<
947               typename Vector::item0, typename Vector::item1
948             , typename Vector::item2, typename Vector::item3
949             , typename Vector::item4, typename Vector::item5
950             , typename Vector::item6, typename Vector::item7
951             , typename Vector::item8, typename Vector::item9
952             , typename Vector::item10, typename Vector::item11
953             , typename Vector::item12, typename Vector::item13
954             , typename Vector::item14, typename Vector::item15
955             , typename Vector::item16, typename Vector::item17
956             , typename Vector::item18, typename Vector::item19
957             , typename Vector::item20, typename Vector::item21
958             , typename Vector::item22, typename Vector::item23
959             , typename Vector::item24, typename Vector::item25
960               ,
961               T
962             > type;
963     };
964 };
965
966 template<>
967 struct pop_back_impl< aux::vector_tag<27> >
968 {
969     template< typename Vector > struct apply
970     {
971         typedef vector26<
972               typename Vector::item0, typename Vector::item1
973             , typename Vector::item2, typename Vector::item3
974             , typename Vector::item4, typename Vector::item5
975             , typename Vector::item6, typename Vector::item7
976             , typename Vector::item8, typename Vector::item9
977             , typename Vector::item10, typename Vector::item11
978             , typename Vector::item12, typename Vector::item13
979             , typename Vector::item14, typename Vector::item15
980             , typename Vector::item16, typename Vector::item17
981             , typename Vector::item18, typename Vector::item19
982             , typename Vector::item20, typename Vector::item21
983             , typename Vector::item22, typename Vector::item23
984             , typename Vector::item24, typename Vector::item25
985             > type;
986     };
987 };
988
989 template< typename V >
990 struct v_at< V,27 >
991 {
992     typedef typename V::item27 type;
993 };
994
995 template<
996       typename T0, typename T1, typename T2, typename T3, typename T4
997     , typename T5, typename T6, typename T7, typename T8, typename T9
998     , typename T10, typename T11, typename T12, typename T13, typename T14
999     , typename T15, typename T16, typename T17, typename T18, typename T19
1000     , typename T20, typename T21, typename T22, typename T23, typename T24
1001     , typename T25, typename T26, typename T27
1002     >
1003 struct vector28
1004 {
1005     typedef aux::vector_tag<28> tag;
1006     typedef vector28 type;
1007     typedef T0 item0;
1008     typedef T1 item1;
1009     typedef T2 item2;
1010     typedef T3 item3;
1011     typedef T4 item4;
1012     typedef T5 item5;
1013     typedef T6 item6;
1014     typedef T7 item7;
1015     typedef T8 item8;
1016     typedef T9 item9;
1017     typedef T10 item10;
1018     typedef T11 item11;
1019     typedef T12 item12;
1020     typedef T13 item13;
1021     typedef T14 item14;
1022     typedef T15 item15;
1023     typedef T16 item16;
1024     typedef T17 item17;
1025     typedef T18 item18;
1026     typedef T19 item19;
1027     typedef T20 item20;
1028     typedef T21 item21;
1029     typedef T22 item22;
1030     typedef T23 item23;
1031     typedef T24 item24;
1032     typedef T25 item25;
1033     typedef T26 item26;
1034     typedef T27 item27;
1035     
1036
1037     typedef void_ item28;
1038     typedef T27 back;
1039     typedef v_iter< type,0 > begin;
1040     typedef v_iter< type,28 > end;
1041 };
1042
1043 template<>
1044 struct push_front_impl< aux::vector_tag<27> >
1045 {
1046     template< typename Vector, typename T > struct apply
1047     {
1048         typedef vector28<
1049               T
1050               ,
1051               typename Vector::item0, typename Vector::item1
1052             , typename Vector::item2, typename Vector::item3
1053             , typename Vector::item4, typename Vector::item5
1054             , typename Vector::item6, typename Vector::item7
1055             , typename Vector::item8, typename Vector::item9
1056             , typename Vector::item10, typename Vector::item11
1057             , typename Vector::item12, typename Vector::item13
1058             , typename Vector::item14, typename Vector::item15
1059             , typename Vector::item16, typename Vector::item17
1060             , typename Vector::item18, typename Vector::item19
1061             , typename Vector::item20, typename Vector::item21
1062             , typename Vector::item22, typename Vector::item23
1063             , typename Vector::item24, typename Vector::item25
1064             , typename Vector::item26
1065             > type;
1066     };
1067 };
1068
1069 template<>
1070 struct pop_front_impl< aux::vector_tag<28> >
1071 {
1072     template< typename Vector > struct apply
1073     {
1074         typedef vector27<
1075               typename Vector::item1, typename Vector::item2
1076             , typename Vector::item3, typename Vector::item4
1077             , typename Vector::item5, typename Vector::item6
1078             , typename Vector::item7, typename Vector::item8
1079             , typename Vector::item9, typename Vector::item10
1080             , typename Vector::item11, typename Vector::item12
1081             , typename Vector::item13, typename Vector::item14
1082             , typename Vector::item15, typename Vector::item16
1083             , typename Vector::item17, typename Vector::item18
1084             , typename Vector::item19, typename Vector::item20
1085             , typename Vector::item21, typename Vector::item22
1086             , typename Vector::item23, typename Vector::item24
1087             , typename Vector::item25, typename Vector::item26
1088             , typename Vector::item27
1089             > type;
1090     };
1091 };
1092
1093 template<>
1094 struct push_back_impl< aux::vector_tag<27> >
1095 {
1096     template< typename Vector, typename T > struct apply
1097     {
1098         typedef vector28<
1099               typename Vector::item0, typename Vector::item1
1100             , typename Vector::item2, typename Vector::item3
1101             , typename Vector::item4, typename Vector::item5
1102             , typename Vector::item6, typename Vector::item7
1103             , typename Vector::item8, typename Vector::item9
1104             , typename Vector::item10, typename Vector::item11
1105             , typename Vector::item12, typename Vector::item13
1106             , typename Vector::item14, typename Vector::item15
1107             , typename Vector::item16, typename Vector::item17
1108             , typename Vector::item18, typename Vector::item19
1109             , typename Vector::item20, typename Vector::item21
1110             , typename Vector::item22, typename Vector::item23
1111             , typename Vector::item24, typename Vector::item25
1112             , typename Vector::item26
1113               ,
1114               T
1115             > type;
1116     };
1117 };
1118
1119 template<>
1120 struct pop_back_impl< aux::vector_tag<28> >
1121 {
1122     template< typename Vector > struct apply
1123     {
1124         typedef vector27<
1125               typename Vector::item0, typename Vector::item1
1126             , typename Vector::item2, typename Vector::item3
1127             , typename Vector::item4, typename Vector::item5
1128             , typename Vector::item6, typename Vector::item7
1129             , typename Vector::item8, typename Vector::item9
1130             , typename Vector::item10, typename Vector::item11
1131             , typename Vector::item12, typename Vector::item13
1132             , typename Vector::item14, typename Vector::item15
1133             , typename Vector::item16, typename Vector::item17
1134             , typename Vector::item18, typename Vector::item19
1135             , typename Vector::item20, typename Vector::item21
1136             , typename Vector::item22, typename Vector::item23
1137             , typename Vector::item24, typename Vector::item25
1138             , typename Vector::item26
1139             > type;
1140     };
1141 };
1142
1143 template< typename V >
1144 struct v_at< V,28 >
1145 {
1146     typedef typename V::item28 type;
1147 };
1148
1149 template<
1150       typename T0, typename T1, typename T2, typename T3, typename T4
1151     , typename T5, typename T6, typename T7, typename T8, typename T9
1152     , typename T10, typename T11, typename T12, typename T13, typename T14
1153     , typename T15, typename T16, typename T17, typename T18, typename T19
1154     , typename T20, typename T21, typename T22, typename T23, typename T24
1155     , typename T25, typename T26, typename T27, typename T28
1156     >
1157 struct vector29
1158 {
1159     typedef aux::vector_tag<29> tag;
1160     typedef vector29 type;
1161     typedef T0 item0;
1162     typedef T1 item1;
1163     typedef T2 item2;
1164     typedef T3 item3;
1165     typedef T4 item4;
1166     typedef T5 item5;
1167     typedef T6 item6;
1168     typedef T7 item7;
1169     typedef T8 item8;
1170     typedef T9 item9;
1171     typedef T10 item10;
1172     typedef T11 item11;
1173     typedef T12 item12;
1174     typedef T13 item13;
1175     typedef T14 item14;
1176     typedef T15 item15;
1177     typedef T16 item16;
1178     typedef T17 item17;
1179     typedef T18 item18;
1180     typedef T19 item19;
1181     typedef T20 item20;
1182     typedef T21 item21;
1183     typedef T22 item22;
1184     typedef T23 item23;
1185     typedef T24 item24;
1186     typedef T25 item25;
1187     typedef T26 item26;
1188     typedef T27 item27;
1189     typedef T28 item28;
1190     
1191
1192     typedef void_ item29;
1193     typedef T28 back;
1194     typedef v_iter< type,0 > begin;
1195     typedef v_iter< type,29 > end;
1196 };
1197
1198 template<>
1199 struct push_front_impl< aux::vector_tag<28> >
1200 {
1201     template< typename Vector, typename T > struct apply
1202     {
1203         typedef vector29<
1204               T
1205               ,
1206               typename Vector::item0, typename Vector::item1
1207             , typename Vector::item2, typename Vector::item3
1208             , typename Vector::item4, typename Vector::item5
1209             , typename Vector::item6, typename Vector::item7
1210             , typename Vector::item8, typename Vector::item9
1211             , typename Vector::item10, typename Vector::item11
1212             , typename Vector::item12, typename Vector::item13
1213             , typename Vector::item14, typename Vector::item15
1214             , typename Vector::item16, typename Vector::item17
1215             , typename Vector::item18, typename Vector::item19
1216             , typename Vector::item20, typename Vector::item21
1217             , typename Vector::item22, typename Vector::item23
1218             , typename Vector::item24, typename Vector::item25
1219             , typename Vector::item26, typename Vector::item27
1220             > type;
1221     };
1222 };
1223
1224 template<>
1225 struct pop_front_impl< aux::vector_tag<29> >
1226 {
1227     template< typename Vector > struct apply
1228     {
1229         typedef vector28<
1230               typename Vector::item1, typename Vector::item2
1231             , typename Vector::item3, typename Vector::item4
1232             , typename Vector::item5, typename Vector::item6
1233             , typename Vector::item7, typename Vector::item8
1234             , typename Vector::item9, typename Vector::item10
1235             , typename Vector::item11, typename Vector::item12
1236             , typename Vector::item13, typename Vector::item14
1237             , typename Vector::item15, typename Vector::item16
1238             , typename Vector::item17, typename Vector::item18
1239             , typename Vector::item19, typename Vector::item20
1240             , typename Vector::item21, typename Vector::item22
1241             , typename Vector::item23, typename Vector::item24
1242             , typename Vector::item25, typename Vector::item26
1243             , typename Vector::item27, typename Vector::item28
1244             > type;
1245     };
1246 };
1247
1248 template<>
1249 struct push_back_impl< aux::vector_tag<28> >
1250 {
1251     template< typename Vector, typename T > struct apply
1252     {
1253         typedef vector29<
1254               typename Vector::item0, typename Vector::item1
1255             , typename Vector::item2, typename Vector::item3
1256             , typename Vector::item4, typename Vector::item5
1257             , typename Vector::item6, typename Vector::item7
1258             , typename Vector::item8, typename Vector::item9
1259             , typename Vector::item10, typename Vector::item11
1260             , typename Vector::item12, typename Vector::item13
1261             , typename Vector::item14, typename Vector::item15
1262             , typename Vector::item16, typename Vector::item17
1263             , typename Vector::item18, typename Vector::item19
1264             , typename Vector::item20, typename Vector::item21
1265             , typename Vector::item22, typename Vector::item23
1266             , typename Vector::item24, typename Vector::item25
1267             , typename Vector::item26, typename Vector::item27
1268               ,
1269               T
1270             > type;
1271     };
1272 };
1273
1274 template<>
1275 struct pop_back_impl< aux::vector_tag<29> >
1276 {
1277     template< typename Vector > struct apply
1278     {
1279         typedef vector28<
1280               typename Vector::item0, typename Vector::item1
1281             , typename Vector::item2, typename Vector::item3
1282             , typename Vector::item4, typename Vector::item5
1283             , typename Vector::item6, typename Vector::item7
1284             , typename Vector::item8, typename Vector::item9
1285             , typename Vector::item10, typename Vector::item11
1286             , typename Vector::item12, typename Vector::item13
1287             , typename Vector::item14, typename Vector::item15
1288             , typename Vector::item16, typename Vector::item17
1289             , typename Vector::item18, typename Vector::item19
1290             , typename Vector::item20, typename Vector::item21
1291             , typename Vector::item22, typename Vector::item23
1292             , typename Vector::item24, typename Vector::item25
1293             , typename Vector::item26, typename Vector::item27
1294             > type;
1295     };
1296 };
1297
1298 template< typename V >
1299 struct v_at< V,29 >
1300 {
1301     typedef typename V::item29 type;
1302 };
1303
1304 template<
1305       typename T0, typename T1, typename T2, typename T3, typename T4
1306     , typename T5, typename T6, typename T7, typename T8, typename T9
1307     , typename T10, typename T11, typename T12, typename T13, typename T14
1308     , typename T15, typename T16, typename T17, typename T18, typename T19
1309     , typename T20, typename T21, typename T22, typename T23, typename T24
1310     , typename T25, typename T26, typename T27, typename T28, typename T29
1311     >
1312 struct vector30
1313 {
1314     typedef aux::vector_tag<30> tag;
1315     typedef vector30 type;
1316     typedef T0 item0;
1317     typedef T1 item1;
1318     typedef T2 item2;
1319     typedef T3 item3;
1320     typedef T4 item4;
1321     typedef T5 item5;
1322     typedef T6 item6;
1323     typedef T7 item7;
1324     typedef T8 item8;
1325     typedef T9 item9;
1326     typedef T10 item10;
1327     typedef T11 item11;
1328     typedef T12 item12;
1329     typedef T13 item13;
1330     typedef T14 item14;
1331     typedef T15 item15;
1332     typedef T16 item16;
1333     typedef T17 item17;
1334     typedef T18 item18;
1335     typedef T19 item19;
1336     typedef T20 item20;
1337     typedef T21 item21;
1338     typedef T22 item22;
1339     typedef T23 item23;
1340     typedef T24 item24;
1341     typedef T25 item25;
1342     typedef T26 item26;
1343     typedef T27 item27;
1344     typedef T28 item28;
1345     typedef T29 item29;
1346     
1347
1348     typedef void_ item30;
1349     typedef T29 back;
1350     typedef v_iter< type,0 > begin;
1351     typedef v_iter< type,30 > end;
1352 };
1353
1354 template<>
1355 struct push_front_impl< aux::vector_tag<29> >
1356 {
1357     template< typename Vector, typename T > struct apply
1358     {
1359         typedef vector30<
1360               T
1361               ,
1362               typename Vector::item0, typename Vector::item1
1363             , typename Vector::item2, typename Vector::item3
1364             , typename Vector::item4, typename Vector::item5
1365             , typename Vector::item6, typename Vector::item7
1366             , typename Vector::item8, typename Vector::item9
1367             , typename Vector::item10, typename Vector::item11
1368             , typename Vector::item12, typename Vector::item13
1369             , typename Vector::item14, typename Vector::item15
1370             , typename Vector::item16, typename Vector::item17
1371             , typename Vector::item18, typename Vector::item19
1372             , typename Vector::item20, typename Vector::item21
1373             , typename Vector::item22, typename Vector::item23
1374             , typename Vector::item24, typename Vector::item25
1375             , typename Vector::item26, typename Vector::item27
1376             , typename Vector::item28
1377             > type;
1378     };
1379 };
1380
1381 template<>
1382 struct pop_front_impl< aux::vector_tag<30> >
1383 {
1384     template< typename Vector > struct apply
1385     {
1386         typedef vector29<
1387               typename Vector::item1, typename Vector::item2
1388             , typename Vector::item3, typename Vector::item4
1389             , typename Vector::item5, typename Vector::item6
1390             , typename Vector::item7, typename Vector::item8
1391             , typename Vector::item9, typename Vector::item10
1392             , typename Vector::item11, typename Vector::item12
1393             , typename Vector::item13, typename Vector::item14
1394             , typename Vector::item15, typename Vector::item16
1395             , typename Vector::item17, typename Vector::item18
1396             , typename Vector::item19, typename Vector::item20
1397             , typename Vector::item21, typename Vector::item22
1398             , typename Vector::item23, typename Vector::item24
1399             , typename Vector::item25, typename Vector::item26
1400             , typename Vector::item27, typename Vector::item28
1401             , typename Vector::item29
1402             > type;
1403     };
1404 };
1405
1406 template<>
1407 struct push_back_impl< aux::vector_tag<29> >
1408 {
1409     template< typename Vector, typename T > struct apply
1410     {
1411         typedef vector30<
1412               typename Vector::item0, typename Vector::item1
1413             , typename Vector::item2, typename Vector::item3
1414             , typename Vector::item4, typename Vector::item5
1415             , typename Vector::item6, typename Vector::item7
1416             , typename Vector::item8, typename Vector::item9
1417             , typename Vector::item10, typename Vector::item11
1418             , typename Vector::item12, typename Vector::item13
1419             , typename Vector::item14, typename Vector::item15
1420             , typename Vector::item16, typename Vector::item17
1421             , typename Vector::item18, typename Vector::item19
1422             , typename Vector::item20, typename Vector::item21
1423             , typename Vector::item22, typename Vector::item23
1424             , typename Vector::item24, typename Vector::item25
1425             , typename Vector::item26, typename Vector::item27
1426             , typename Vector::item28
1427               ,
1428               T
1429             > type;
1430     };
1431 };
1432
1433 template<>
1434 struct pop_back_impl< aux::vector_tag<30> >
1435 {
1436     template< typename Vector > struct apply
1437     {
1438         typedef vector29<
1439               typename Vector::item0, typename Vector::item1
1440             , typename Vector::item2, typename Vector::item3
1441             , typename Vector::item4, typename Vector::item5
1442             , typename Vector::item6, typename Vector::item7
1443             , typename Vector::item8, typename Vector::item9
1444             , typename Vector::item10, typename Vector::item11
1445             , typename Vector::item12, typename Vector::item13
1446             , typename Vector::item14, typename Vector::item15
1447             , typename Vector::item16, typename Vector::item17
1448             , typename Vector::item18, typename Vector::item19
1449             , typename Vector::item20, typename Vector::item21
1450             , typename Vector::item22, typename Vector::item23
1451             , typename Vector::item24, typename Vector::item25
1452             , typename Vector::item26, typename Vector::item27
1453             , typename Vector::item28
1454             > type;
1455     };
1456 };
1457
1458 template< typename V >
1459 struct v_at< V,30 >
1460 {
1461     typedef typename V::item30 type;
1462 };
1463
1464 }}