]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp
Logo AND Algorithmique Numérique Distribuée

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