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

Private GIT Repository
e4b7aaa0500db1864377781e567ee34bba9e5705
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / include / boost / mpl / vector / aux_ / preprocessed / plain / vector40.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/vector40.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, typename T21, typename T22, typename T23, typename T24\r
20     , typename T25, typename T26, typename T27, typename T28, typename T29\r
21     , typename T30\r
22     >\r
23 struct vector31\r
24 {\r
25     typedef aux::vector_tag<31> tag;\r
26     typedef vector31 type;\r
27     typedef T0 item0;\r
28     typedef T1 item1;\r
29     typedef T2 item2;\r
30     typedef T3 item3;\r
31     typedef T4 item4;\r
32     typedef T5 item5;\r
33     typedef T6 item6;\r
34     typedef T7 item7;\r
35     typedef T8 item8;\r
36     typedef T9 item9;\r
37     typedef T10 item10;\r
38     typedef T11 item11;\r
39     typedef T12 item12;\r
40     typedef T13 item13;\r
41     typedef T14 item14;\r
42     typedef T15 item15;\r
43     typedef T16 item16;\r
44     typedef T17 item17;\r
45     typedef T18 item18;\r
46     typedef T19 item19;\r
47     typedef T20 item20;\r
48     typedef T21 item21;\r
49     typedef T22 item22;\r
50     typedef T23 item23;\r
51     typedef T24 item24;\r
52     typedef T25 item25;\r
53     typedef T26 item26;\r
54     typedef T27 item27;\r
55     typedef T28 item28;\r
56     typedef T29 item29;\r
57     typedef T30 item30;\r
58     \r
59 \r
60     typedef void_ item31;\r
61     typedef T30 back;\r
62     typedef v_iter< type,0 > begin;\r
63     typedef v_iter< type,31 > end;\r
64 };\r
65 \r
66 template<>\r
67 struct push_front_impl< aux::vector_tag<30> >\r
68 {\r
69     template< typename Vector, typename T > struct apply\r
70     {\r
71         typedef vector31<\r
72               T\r
73               ,\r
74               typename Vector::item0, typename Vector::item1\r
75             , typename Vector::item2, typename Vector::item3\r
76             , typename Vector::item4, typename Vector::item5\r
77             , typename Vector::item6, typename Vector::item7\r
78             , typename Vector::item8, typename Vector::item9\r
79             , typename Vector::item10, typename Vector::item11\r
80             , typename Vector::item12, typename Vector::item13\r
81             , typename Vector::item14, typename Vector::item15\r
82             , typename Vector::item16, typename Vector::item17\r
83             , typename Vector::item18, typename Vector::item19\r
84             , typename Vector::item20, typename Vector::item21\r
85             , typename Vector::item22, typename Vector::item23\r
86             , typename Vector::item24, typename Vector::item25\r
87             , typename Vector::item26, typename Vector::item27\r
88             , typename Vector::item28, typename Vector::item29\r
89             > type;\r
90     };\r
91 };\r
92 \r
93 template<>\r
94 struct pop_front_impl< aux::vector_tag<31> >\r
95 {\r
96     template< typename Vector > struct apply\r
97     {\r
98         typedef vector30<\r
99               typename Vector::item1, typename Vector::item2\r
100             , typename Vector::item3, typename Vector::item4\r
101             , typename Vector::item5, typename Vector::item6\r
102             , typename Vector::item7, typename Vector::item8\r
103             , typename Vector::item9, typename Vector::item10\r
104             , typename Vector::item11, typename Vector::item12\r
105             , typename Vector::item13, typename Vector::item14\r
106             , typename Vector::item15, typename Vector::item16\r
107             , typename Vector::item17, typename Vector::item18\r
108             , typename Vector::item19, typename Vector::item20\r
109             , typename Vector::item21, typename Vector::item22\r
110             , typename Vector::item23, typename Vector::item24\r
111             , typename Vector::item25, typename Vector::item26\r
112             , typename Vector::item27, typename Vector::item28\r
113             , typename Vector::item29, typename Vector::item30\r
114             > type;\r
115     };\r
116 };\r
117 \r
118 template<>\r
119 struct push_back_impl< aux::vector_tag<30> >\r
120 {\r
121     template< typename Vector, typename T > struct apply\r
122     {\r
123         typedef vector31<\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             , typename Vector::item20, typename Vector::item21\r
135             , typename Vector::item22, typename Vector::item23\r
136             , typename Vector::item24, typename Vector::item25\r
137             , typename Vector::item26, typename Vector::item27\r
138             , typename Vector::item28, typename Vector::item29\r
139               ,\r
140               T\r
141             > type;\r
142     };\r
143 };\r
144 \r
145 template<>\r
146 struct pop_back_impl< aux::vector_tag<31> >\r
147 {\r
148     template< typename Vector > struct apply\r
149     {\r
150         typedef vector30<\r
151               typename Vector::item0, typename Vector::item1\r
152             , typename Vector::item2, typename Vector::item3\r
153             , typename Vector::item4, typename Vector::item5\r
154             , typename Vector::item6, typename Vector::item7\r
155             , typename Vector::item8, typename Vector::item9\r
156             , typename Vector::item10, typename Vector::item11\r
157             , typename Vector::item12, typename Vector::item13\r
158             , typename Vector::item14, typename Vector::item15\r
159             , typename Vector::item16, typename Vector::item17\r
160             , typename Vector::item18, typename Vector::item19\r
161             , typename Vector::item20, typename Vector::item21\r
162             , typename Vector::item22, typename Vector::item23\r
163             , typename Vector::item24, typename Vector::item25\r
164             , typename Vector::item26, typename Vector::item27\r
165             , typename Vector::item28, typename Vector::item29\r
166             > type;\r
167     };\r
168 };\r
169 \r
170 template< typename V >\r
171 struct v_at< V,31 >\r
172 {\r
173     typedef typename V::item31 type;\r
174 };\r
175 \r
176 template<\r
177       typename T0, typename T1, typename T2, typename T3, typename T4\r
178     , typename T5, typename T6, typename T7, typename T8, typename T9\r
179     , typename T10, typename T11, typename T12, typename T13, typename T14\r
180     , typename T15, typename T16, typename T17, typename T18, typename T19\r
181     , typename T20, typename T21, typename T22, typename T23, typename T24\r
182     , typename T25, typename T26, typename T27, typename T28, typename T29\r
183     , typename T30, typename T31\r
184     >\r
185 struct vector32\r
186 {\r
187     typedef aux::vector_tag<32> tag;\r
188     typedef vector32 type;\r
189     typedef T0 item0;\r
190     typedef T1 item1;\r
191     typedef T2 item2;\r
192     typedef T3 item3;\r
193     typedef T4 item4;\r
194     typedef T5 item5;\r
195     typedef T6 item6;\r
196     typedef T7 item7;\r
197     typedef T8 item8;\r
198     typedef T9 item9;\r
199     typedef T10 item10;\r
200     typedef T11 item11;\r
201     typedef T12 item12;\r
202     typedef T13 item13;\r
203     typedef T14 item14;\r
204     typedef T15 item15;\r
205     typedef T16 item16;\r
206     typedef T17 item17;\r
207     typedef T18 item18;\r
208     typedef T19 item19;\r
209     typedef T20 item20;\r
210     typedef T21 item21;\r
211     typedef T22 item22;\r
212     typedef T23 item23;\r
213     typedef T24 item24;\r
214     typedef T25 item25;\r
215     typedef T26 item26;\r
216     typedef T27 item27;\r
217     typedef T28 item28;\r
218     typedef T29 item29;\r
219     typedef T30 item30;\r
220     typedef T31 item31;\r
221     \r
222 \r
223     typedef void_ item32;\r
224     typedef T31 back;\r
225     typedef v_iter< type,0 > begin;\r
226     typedef v_iter< type,32 > end;\r
227 };\r
228 \r
229 template<>\r
230 struct push_front_impl< aux::vector_tag<31> >\r
231 {\r
232     template< typename Vector, typename T > struct apply\r
233     {\r
234         typedef vector32<\r
235               T\r
236               ,\r
237               typename Vector::item0, typename Vector::item1\r
238             , typename Vector::item2, typename Vector::item3\r
239             , typename Vector::item4, typename Vector::item5\r
240             , typename Vector::item6, typename Vector::item7\r
241             , typename Vector::item8, typename Vector::item9\r
242             , typename Vector::item10, typename Vector::item11\r
243             , typename Vector::item12, typename Vector::item13\r
244             , typename Vector::item14, typename Vector::item15\r
245             , typename Vector::item16, typename Vector::item17\r
246             , typename Vector::item18, typename Vector::item19\r
247             , typename Vector::item20, typename Vector::item21\r
248             , typename Vector::item22, typename Vector::item23\r
249             , typename Vector::item24, typename Vector::item25\r
250             , typename Vector::item26, typename Vector::item27\r
251             , typename Vector::item28, typename Vector::item29\r
252             , typename Vector::item30\r
253             > type;\r
254     };\r
255 };\r
256 \r
257 template<>\r
258 struct pop_front_impl< aux::vector_tag<32> >\r
259 {\r
260     template< typename Vector > struct apply\r
261     {\r
262         typedef vector31<\r
263               typename Vector::item1, typename Vector::item2\r
264             , typename Vector::item3, typename Vector::item4\r
265             , typename Vector::item5, typename Vector::item6\r
266             , typename Vector::item7, typename Vector::item8\r
267             , typename Vector::item9, typename Vector::item10\r
268             , typename Vector::item11, typename Vector::item12\r
269             , typename Vector::item13, typename Vector::item14\r
270             , typename Vector::item15, typename Vector::item16\r
271             , typename Vector::item17, typename Vector::item18\r
272             , typename Vector::item19, typename Vector::item20\r
273             , typename Vector::item21, typename Vector::item22\r
274             , typename Vector::item23, typename Vector::item24\r
275             , typename Vector::item25, typename Vector::item26\r
276             , typename Vector::item27, typename Vector::item28\r
277             , typename Vector::item29, typename Vector::item30\r
278             , typename Vector::item31\r
279             > type;\r
280     };\r
281 };\r
282 \r
283 template<>\r
284 struct push_back_impl< aux::vector_tag<31> >\r
285 {\r
286     template< typename Vector, typename T > struct apply\r
287     {\r
288         typedef vector32<\r
289               typename Vector::item0, typename Vector::item1\r
290             , typename Vector::item2, typename Vector::item3\r
291             , typename Vector::item4, typename Vector::item5\r
292             , typename Vector::item6, typename Vector::item7\r
293             , typename Vector::item8, typename Vector::item9\r
294             , typename Vector::item10, typename Vector::item11\r
295             , typename Vector::item12, typename Vector::item13\r
296             , typename Vector::item14, typename Vector::item15\r
297             , typename Vector::item16, typename Vector::item17\r
298             , typename Vector::item18, typename Vector::item19\r
299             , typename Vector::item20, typename Vector::item21\r
300             , typename Vector::item22, typename Vector::item23\r
301             , typename Vector::item24, typename Vector::item25\r
302             , typename Vector::item26, typename Vector::item27\r
303             , typename Vector::item28, typename Vector::item29\r
304             , typename Vector::item30\r
305               ,\r
306               T\r
307             > type;\r
308     };\r
309 };\r
310 \r
311 template<>\r
312 struct pop_back_impl< aux::vector_tag<32> >\r
313 {\r
314     template< typename Vector > struct apply\r
315     {\r
316         typedef vector31<\r
317               typename Vector::item0, typename Vector::item1\r
318             , typename Vector::item2, typename Vector::item3\r
319             , typename Vector::item4, typename Vector::item5\r
320             , typename Vector::item6, typename Vector::item7\r
321             , typename Vector::item8, typename Vector::item9\r
322             , typename Vector::item10, typename Vector::item11\r
323             , typename Vector::item12, typename Vector::item13\r
324             , typename Vector::item14, typename Vector::item15\r
325             , typename Vector::item16, typename Vector::item17\r
326             , typename Vector::item18, typename Vector::item19\r
327             , typename Vector::item20, typename Vector::item21\r
328             , typename Vector::item22, typename Vector::item23\r
329             , typename Vector::item24, typename Vector::item25\r
330             , typename Vector::item26, typename Vector::item27\r
331             , typename Vector::item28, typename Vector::item29\r
332             , typename Vector::item30\r
333             > type;\r
334     };\r
335 };\r
336 \r
337 template< typename V >\r
338 struct v_at< V,32 >\r
339 {\r
340     typedef typename V::item32 type;\r
341 };\r
342 \r
343 template<\r
344       typename T0, typename T1, typename T2, typename T3, typename T4\r
345     , typename T5, typename T6, typename T7, typename T8, typename T9\r
346     , typename T10, typename T11, typename T12, typename T13, typename T14\r
347     , typename T15, typename T16, typename T17, typename T18, typename T19\r
348     , typename T20, typename T21, typename T22, typename T23, typename T24\r
349     , typename T25, typename T26, typename T27, typename T28, typename T29\r
350     , typename T30, typename T31, typename T32\r
351     >\r
352 struct vector33\r
353 {\r
354     typedef aux::vector_tag<33> tag;\r
355     typedef vector33 type;\r
356     typedef T0 item0;\r
357     typedef T1 item1;\r
358     typedef T2 item2;\r
359     typedef T3 item3;\r
360     typedef T4 item4;\r
361     typedef T5 item5;\r
362     typedef T6 item6;\r
363     typedef T7 item7;\r
364     typedef T8 item8;\r
365     typedef T9 item9;\r
366     typedef T10 item10;\r
367     typedef T11 item11;\r
368     typedef T12 item12;\r
369     typedef T13 item13;\r
370     typedef T14 item14;\r
371     typedef T15 item15;\r
372     typedef T16 item16;\r
373     typedef T17 item17;\r
374     typedef T18 item18;\r
375     typedef T19 item19;\r
376     typedef T20 item20;\r
377     typedef T21 item21;\r
378     typedef T22 item22;\r
379     typedef T23 item23;\r
380     typedef T24 item24;\r
381     typedef T25 item25;\r
382     typedef T26 item26;\r
383     typedef T27 item27;\r
384     typedef T28 item28;\r
385     typedef T29 item29;\r
386     typedef T30 item30;\r
387     typedef T31 item31;\r
388     typedef T32 item32;\r
389     \r
390 \r
391     typedef void_ item33;\r
392     typedef T32 back;\r
393     typedef v_iter< type,0 > begin;\r
394     typedef v_iter< type,33 > end;\r
395 };\r
396 \r
397 template<>\r
398 struct push_front_impl< aux::vector_tag<32> >\r
399 {\r
400     template< typename Vector, typename T > struct apply\r
401     {\r
402         typedef vector33<\r
403               T\r
404               ,\r
405               typename Vector::item0, typename Vector::item1\r
406             , typename Vector::item2, typename Vector::item3\r
407             , typename Vector::item4, typename Vector::item5\r
408             , typename Vector::item6, typename Vector::item7\r
409             , typename Vector::item8, typename Vector::item9\r
410             , typename Vector::item10, typename Vector::item11\r
411             , typename Vector::item12, typename Vector::item13\r
412             , typename Vector::item14, typename Vector::item15\r
413             , typename Vector::item16, typename Vector::item17\r
414             , typename Vector::item18, typename Vector::item19\r
415             , typename Vector::item20, typename Vector::item21\r
416             , typename Vector::item22, typename Vector::item23\r
417             , typename Vector::item24, typename Vector::item25\r
418             , typename Vector::item26, typename Vector::item27\r
419             , typename Vector::item28, typename Vector::item29\r
420             , typename Vector::item30, typename Vector::item31\r
421             > type;\r
422     };\r
423 };\r
424 \r
425 template<>\r
426 struct pop_front_impl< aux::vector_tag<33> >\r
427 {\r
428     template< typename Vector > struct apply\r
429     {\r
430         typedef vector32<\r
431               typename Vector::item1, typename Vector::item2\r
432             , typename Vector::item3, typename Vector::item4\r
433             , typename Vector::item5, typename Vector::item6\r
434             , typename Vector::item7, typename Vector::item8\r
435             , typename Vector::item9, typename Vector::item10\r
436             , typename Vector::item11, typename Vector::item12\r
437             , typename Vector::item13, typename Vector::item14\r
438             , typename Vector::item15, typename Vector::item16\r
439             , typename Vector::item17, typename Vector::item18\r
440             , typename Vector::item19, typename Vector::item20\r
441             , typename Vector::item21, typename Vector::item22\r
442             , typename Vector::item23, typename Vector::item24\r
443             , typename Vector::item25, typename Vector::item26\r
444             , typename Vector::item27, typename Vector::item28\r
445             , typename Vector::item29, typename Vector::item30\r
446             , typename Vector::item31, typename Vector::item32\r
447             > type;\r
448     };\r
449 };\r
450 \r
451 template<>\r
452 struct push_back_impl< aux::vector_tag<32> >\r
453 {\r
454     template< typename Vector, typename T > struct apply\r
455     {\r
456         typedef vector33<\r
457               typename Vector::item0, typename Vector::item1\r
458             , typename Vector::item2, typename Vector::item3\r
459             , typename Vector::item4, typename Vector::item5\r
460             , typename Vector::item6, typename Vector::item7\r
461             , typename Vector::item8, typename Vector::item9\r
462             , typename Vector::item10, typename Vector::item11\r
463             , typename Vector::item12, typename Vector::item13\r
464             , typename Vector::item14, typename Vector::item15\r
465             , typename Vector::item16, typename Vector::item17\r
466             , typename Vector::item18, typename Vector::item19\r
467             , typename Vector::item20, typename Vector::item21\r
468             , typename Vector::item22, typename Vector::item23\r
469             , typename Vector::item24, typename Vector::item25\r
470             , typename Vector::item26, typename Vector::item27\r
471             , typename Vector::item28, typename Vector::item29\r
472             , typename Vector::item30, typename Vector::item31\r
473               ,\r
474               T\r
475             > type;\r
476     };\r
477 };\r
478 \r
479 template<>\r
480 struct pop_back_impl< aux::vector_tag<33> >\r
481 {\r
482     template< typename Vector > struct apply\r
483     {\r
484         typedef vector32<\r
485               typename Vector::item0, typename Vector::item1\r
486             , typename Vector::item2, typename Vector::item3\r
487             , typename Vector::item4, typename Vector::item5\r
488             , typename Vector::item6, typename Vector::item7\r
489             , typename Vector::item8, typename Vector::item9\r
490             , typename Vector::item10, typename Vector::item11\r
491             , typename Vector::item12, typename Vector::item13\r
492             , typename Vector::item14, typename Vector::item15\r
493             , typename Vector::item16, typename Vector::item17\r
494             , typename Vector::item18, typename Vector::item19\r
495             , typename Vector::item20, typename Vector::item21\r
496             , typename Vector::item22, typename Vector::item23\r
497             , typename Vector::item24, typename Vector::item25\r
498             , typename Vector::item26, typename Vector::item27\r
499             , typename Vector::item28, typename Vector::item29\r
500             , typename Vector::item30, typename Vector::item31\r
501             > type;\r
502     };\r
503 };\r
504 \r
505 template< typename V >\r
506 struct v_at< V,33 >\r
507 {\r
508     typedef typename V::item33 type;\r
509 };\r
510 \r
511 template<\r
512       typename T0, typename T1, typename T2, typename T3, typename T4\r
513     , typename T5, typename T6, typename T7, typename T8, typename T9\r
514     , typename T10, typename T11, typename T12, typename T13, typename T14\r
515     , typename T15, typename T16, typename T17, typename T18, typename T19\r
516     , typename T20, typename T21, typename T22, typename T23, typename T24\r
517     , typename T25, typename T26, typename T27, typename T28, typename T29\r
518     , typename T30, typename T31, typename T32, typename T33\r
519     >\r
520 struct vector34\r
521 {\r
522     typedef aux::vector_tag<34> tag;\r
523     typedef vector34 type;\r
524     typedef T0 item0;\r
525     typedef T1 item1;\r
526     typedef T2 item2;\r
527     typedef T3 item3;\r
528     typedef T4 item4;\r
529     typedef T5 item5;\r
530     typedef T6 item6;\r
531     typedef T7 item7;\r
532     typedef T8 item8;\r
533     typedef T9 item9;\r
534     typedef T10 item10;\r
535     typedef T11 item11;\r
536     typedef T12 item12;\r
537     typedef T13 item13;\r
538     typedef T14 item14;\r
539     typedef T15 item15;\r
540     typedef T16 item16;\r
541     typedef T17 item17;\r
542     typedef T18 item18;\r
543     typedef T19 item19;\r
544     typedef T20 item20;\r
545     typedef T21 item21;\r
546     typedef T22 item22;\r
547     typedef T23 item23;\r
548     typedef T24 item24;\r
549     typedef T25 item25;\r
550     typedef T26 item26;\r
551     typedef T27 item27;\r
552     typedef T28 item28;\r
553     typedef T29 item29;\r
554     typedef T30 item30;\r
555     typedef T31 item31;\r
556     typedef T32 item32;\r
557     typedef T33 item33;\r
558     \r
559 \r
560     typedef void_ item34;\r
561     typedef T33 back;\r
562     typedef v_iter< type,0 > begin;\r
563     typedef v_iter< type,34 > end;\r
564 };\r
565 \r
566 template<>\r
567 struct push_front_impl< aux::vector_tag<33> >\r
568 {\r
569     template< typename Vector, typename T > struct apply\r
570     {\r
571         typedef vector34<\r
572               T\r
573               ,\r
574               typename Vector::item0, typename Vector::item1\r
575             , typename Vector::item2, typename Vector::item3\r
576             , typename Vector::item4, typename Vector::item5\r
577             , typename Vector::item6, typename Vector::item7\r
578             , typename Vector::item8, typename Vector::item9\r
579             , typename Vector::item10, typename Vector::item11\r
580             , typename Vector::item12, typename Vector::item13\r
581             , typename Vector::item14, typename Vector::item15\r
582             , typename Vector::item16, typename Vector::item17\r
583             , typename Vector::item18, typename Vector::item19\r
584             , typename Vector::item20, typename Vector::item21\r
585             , typename Vector::item22, typename Vector::item23\r
586             , typename Vector::item24, typename Vector::item25\r
587             , typename Vector::item26, typename Vector::item27\r
588             , typename Vector::item28, typename Vector::item29\r
589             , typename Vector::item30, typename Vector::item31\r
590             , typename Vector::item32\r
591             > type;\r
592     };\r
593 };\r
594 \r
595 template<>\r
596 struct pop_front_impl< aux::vector_tag<34> >\r
597 {\r
598     template< typename Vector > struct apply\r
599     {\r
600         typedef vector33<\r
601               typename Vector::item1, typename Vector::item2\r
602             , typename Vector::item3, typename Vector::item4\r
603             , typename Vector::item5, typename Vector::item6\r
604             , typename Vector::item7, typename Vector::item8\r
605             , typename Vector::item9, typename Vector::item10\r
606             , typename Vector::item11, typename Vector::item12\r
607             , typename Vector::item13, typename Vector::item14\r
608             , typename Vector::item15, typename Vector::item16\r
609             , typename Vector::item17, typename Vector::item18\r
610             , typename Vector::item19, typename Vector::item20\r
611             , typename Vector::item21, typename Vector::item22\r
612             , typename Vector::item23, typename Vector::item24\r
613             , typename Vector::item25, typename Vector::item26\r
614             , typename Vector::item27, typename Vector::item28\r
615             , typename Vector::item29, typename Vector::item30\r
616             , typename Vector::item31, typename Vector::item32\r
617             , typename Vector::item33\r
618             > type;\r
619     };\r
620 };\r
621 \r
622 template<>\r
623 struct push_back_impl< aux::vector_tag<33> >\r
624 {\r
625     template< typename Vector, typename T > struct apply\r
626     {\r
627         typedef vector34<\r
628               typename Vector::item0, typename Vector::item1\r
629             , typename Vector::item2, typename Vector::item3\r
630             , typename Vector::item4, typename Vector::item5\r
631             , typename Vector::item6, typename Vector::item7\r
632             , typename Vector::item8, typename Vector::item9\r
633             , typename Vector::item10, typename Vector::item11\r
634             , typename Vector::item12, typename Vector::item13\r
635             , typename Vector::item14, typename Vector::item15\r
636             , typename Vector::item16, typename Vector::item17\r
637             , typename Vector::item18, typename Vector::item19\r
638             , typename Vector::item20, typename Vector::item21\r
639             , typename Vector::item22, typename Vector::item23\r
640             , typename Vector::item24, typename Vector::item25\r
641             , typename Vector::item26, typename Vector::item27\r
642             , typename Vector::item28, typename Vector::item29\r
643             , typename Vector::item30, typename Vector::item31\r
644             , typename Vector::item32\r
645               ,\r
646               T\r
647             > type;\r
648     };\r
649 };\r
650 \r
651 template<>\r
652 struct pop_back_impl< aux::vector_tag<34> >\r
653 {\r
654     template< typename Vector > struct apply\r
655     {\r
656         typedef vector33<\r
657               typename Vector::item0, typename Vector::item1\r
658             , typename Vector::item2, typename Vector::item3\r
659             , typename Vector::item4, typename Vector::item5\r
660             , typename Vector::item6, typename Vector::item7\r
661             , typename Vector::item8, typename Vector::item9\r
662             , typename Vector::item10, typename Vector::item11\r
663             , typename Vector::item12, typename Vector::item13\r
664             , typename Vector::item14, typename Vector::item15\r
665             , typename Vector::item16, typename Vector::item17\r
666             , typename Vector::item18, typename Vector::item19\r
667             , typename Vector::item20, typename Vector::item21\r
668             , typename Vector::item22, typename Vector::item23\r
669             , typename Vector::item24, typename Vector::item25\r
670             , typename Vector::item26, typename Vector::item27\r
671             , typename Vector::item28, typename Vector::item29\r
672             , typename Vector::item30, typename Vector::item31\r
673             , typename Vector::item32\r
674             > type;\r
675     };\r
676 };\r
677 \r
678 template< typename V >\r
679 struct v_at< V,34 >\r
680 {\r
681     typedef typename V::item34 type;\r
682 };\r
683 \r
684 template<\r
685       typename T0, typename T1, typename T2, typename T3, typename T4\r
686     , typename T5, typename T6, typename T7, typename T8, typename T9\r
687     , typename T10, typename T11, typename T12, typename T13, typename T14\r
688     , typename T15, typename T16, typename T17, typename T18, typename T19\r
689     , typename T20, typename T21, typename T22, typename T23, typename T24\r
690     , typename T25, typename T26, typename T27, typename T28, typename T29\r
691     , typename T30, typename T31, typename T32, typename T33, typename T34\r
692     >\r
693 struct vector35\r
694 {\r
695     typedef aux::vector_tag<35> tag;\r
696     typedef vector35 type;\r
697     typedef T0 item0;\r
698     typedef T1 item1;\r
699     typedef T2 item2;\r
700     typedef T3 item3;\r
701     typedef T4 item4;\r
702     typedef T5 item5;\r
703     typedef T6 item6;\r
704     typedef T7 item7;\r
705     typedef T8 item8;\r
706     typedef T9 item9;\r
707     typedef T10 item10;\r
708     typedef T11 item11;\r
709     typedef T12 item12;\r
710     typedef T13 item13;\r
711     typedef T14 item14;\r
712     typedef T15 item15;\r
713     typedef T16 item16;\r
714     typedef T17 item17;\r
715     typedef T18 item18;\r
716     typedef T19 item19;\r
717     typedef T20 item20;\r
718     typedef T21 item21;\r
719     typedef T22 item22;\r
720     typedef T23 item23;\r
721     typedef T24 item24;\r
722     typedef T25 item25;\r
723     typedef T26 item26;\r
724     typedef T27 item27;\r
725     typedef T28 item28;\r
726     typedef T29 item29;\r
727     typedef T30 item30;\r
728     typedef T31 item31;\r
729     typedef T32 item32;\r
730     typedef T33 item33;\r
731     typedef T34 item34;\r
732     \r
733 \r
734     typedef void_ item35;\r
735     typedef T34 back;\r
736     typedef v_iter< type,0 > begin;\r
737     typedef v_iter< type,35 > end;\r
738 };\r
739 \r
740 template<>\r
741 struct push_front_impl< aux::vector_tag<34> >\r
742 {\r
743     template< typename Vector, typename T > struct apply\r
744     {\r
745         typedef vector35<\r
746               T\r
747               ,\r
748               typename Vector::item0, typename Vector::item1\r
749             , typename Vector::item2, typename Vector::item3\r
750             , typename Vector::item4, typename Vector::item5\r
751             , typename Vector::item6, typename Vector::item7\r
752             , typename Vector::item8, typename Vector::item9\r
753             , typename Vector::item10, typename Vector::item11\r
754             , typename Vector::item12, typename Vector::item13\r
755             , typename Vector::item14, typename Vector::item15\r
756             , typename Vector::item16, typename Vector::item17\r
757             , typename Vector::item18, typename Vector::item19\r
758             , typename Vector::item20, typename Vector::item21\r
759             , typename Vector::item22, typename Vector::item23\r
760             , typename Vector::item24, typename Vector::item25\r
761             , typename Vector::item26, typename Vector::item27\r
762             , typename Vector::item28, typename Vector::item29\r
763             , typename Vector::item30, typename Vector::item31\r
764             , typename Vector::item32, typename Vector::item33\r
765             > type;\r
766     };\r
767 };\r
768 \r
769 template<>\r
770 struct pop_front_impl< aux::vector_tag<35> >\r
771 {\r
772     template< typename Vector > struct apply\r
773     {\r
774         typedef vector34<\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, typename Vector::item26\r
788             , typename Vector::item27, typename Vector::item28\r
789             , typename Vector::item29, typename Vector::item30\r
790             , typename Vector::item31, typename Vector::item32\r
791             , typename Vector::item33, typename Vector::item34\r
792             > type;\r
793     };\r
794 };\r
795 \r
796 template<>\r
797 struct push_back_impl< aux::vector_tag<34> >\r
798 {\r
799     template< typename Vector, typename T > struct apply\r
800     {\r
801         typedef vector35<\r
802               typename Vector::item0, typename Vector::item1\r
803             , typename Vector::item2, typename Vector::item3\r
804             , typename Vector::item4, typename Vector::item5\r
805             , typename Vector::item6, typename Vector::item7\r
806             , typename Vector::item8, typename Vector::item9\r
807             , typename Vector::item10, typename Vector::item11\r
808             , typename Vector::item12, typename Vector::item13\r
809             , typename Vector::item14, typename Vector::item15\r
810             , typename Vector::item16, typename Vector::item17\r
811             , typename Vector::item18, typename Vector::item19\r
812             , typename Vector::item20, typename Vector::item21\r
813             , typename Vector::item22, typename Vector::item23\r
814             , typename Vector::item24, typename Vector::item25\r
815             , typename Vector::item26, typename Vector::item27\r
816             , typename Vector::item28, typename Vector::item29\r
817             , typename Vector::item30, typename Vector::item31\r
818             , typename Vector::item32, typename Vector::item33\r
819               ,\r
820               T\r
821             > type;\r
822     };\r
823 };\r
824 \r
825 template<>\r
826 struct pop_back_impl< aux::vector_tag<35> >\r
827 {\r
828     template< typename Vector > struct apply\r
829     {\r
830         typedef vector34<\r
831               typename Vector::item0, typename Vector::item1\r
832             , typename Vector::item2, typename Vector::item3\r
833             , typename Vector::item4, typename Vector::item5\r
834             , typename Vector::item6, typename Vector::item7\r
835             , typename Vector::item8, typename Vector::item9\r
836             , typename Vector::item10, typename Vector::item11\r
837             , typename Vector::item12, typename Vector::item13\r
838             , typename Vector::item14, typename Vector::item15\r
839             , typename Vector::item16, typename Vector::item17\r
840             , typename Vector::item18, typename Vector::item19\r
841             , typename Vector::item20, typename Vector::item21\r
842             , typename Vector::item22, typename Vector::item23\r
843             , typename Vector::item24, typename Vector::item25\r
844             , typename Vector::item26, typename Vector::item27\r
845             , typename Vector::item28, typename Vector::item29\r
846             , typename Vector::item30, typename Vector::item31\r
847             , typename Vector::item32, typename Vector::item33\r
848             > type;\r
849     };\r
850 };\r
851 \r
852 template< typename V >\r
853 struct v_at< V,35 >\r
854 {\r
855     typedef typename V::item35 type;\r
856 };\r
857 \r
858 template<\r
859       typename T0, typename T1, typename T2, typename T3, typename T4\r
860     , typename T5, typename T6, typename T7, typename T8, typename T9\r
861     , typename T10, typename T11, typename T12, typename T13, typename T14\r
862     , typename T15, typename T16, typename T17, typename T18, typename T19\r
863     , typename T20, typename T21, typename T22, typename T23, typename T24\r
864     , typename T25, typename T26, typename T27, typename T28, typename T29\r
865     , typename T30, typename T31, typename T32, typename T33, typename T34\r
866     , typename T35\r
867     >\r
868 struct vector36\r
869 {\r
870     typedef aux::vector_tag<36> tag;\r
871     typedef vector36 type;\r
872     typedef T0 item0;\r
873     typedef T1 item1;\r
874     typedef T2 item2;\r
875     typedef T3 item3;\r
876     typedef T4 item4;\r
877     typedef T5 item5;\r
878     typedef T6 item6;\r
879     typedef T7 item7;\r
880     typedef T8 item8;\r
881     typedef T9 item9;\r
882     typedef T10 item10;\r
883     typedef T11 item11;\r
884     typedef T12 item12;\r
885     typedef T13 item13;\r
886     typedef T14 item14;\r
887     typedef T15 item15;\r
888     typedef T16 item16;\r
889     typedef T17 item17;\r
890     typedef T18 item18;\r
891     typedef T19 item19;\r
892     typedef T20 item20;\r
893     typedef T21 item21;\r
894     typedef T22 item22;\r
895     typedef T23 item23;\r
896     typedef T24 item24;\r
897     typedef T25 item25;\r
898     typedef T26 item26;\r
899     typedef T27 item27;\r
900     typedef T28 item28;\r
901     typedef T29 item29;\r
902     typedef T30 item30;\r
903     typedef T31 item31;\r
904     typedef T32 item32;\r
905     typedef T33 item33;\r
906     typedef T34 item34;\r
907     typedef T35 item35;\r
908     \r
909 \r
910     typedef void_ item36;\r
911     typedef T35 back;\r
912     typedef v_iter< type,0 > begin;\r
913     typedef v_iter< type,36 > end;\r
914 };\r
915 \r
916 template<>\r
917 struct push_front_impl< aux::vector_tag<35> >\r
918 {\r
919     template< typename Vector, typename T > struct apply\r
920     {\r
921         typedef vector36<\r
922               T\r
923               ,\r
924               typename Vector::item0, typename Vector::item1\r
925             , typename Vector::item2, typename Vector::item3\r
926             , typename Vector::item4, typename Vector::item5\r
927             , typename Vector::item6, typename Vector::item7\r
928             , typename Vector::item8, typename Vector::item9\r
929             , typename Vector::item10, typename Vector::item11\r
930             , typename Vector::item12, typename Vector::item13\r
931             , typename Vector::item14, typename Vector::item15\r
932             , typename Vector::item16, typename Vector::item17\r
933             , typename Vector::item18, typename Vector::item19\r
934             , typename Vector::item20, typename Vector::item21\r
935             , typename Vector::item22, typename Vector::item23\r
936             , typename Vector::item24, typename Vector::item25\r
937             , typename Vector::item26, typename Vector::item27\r
938             , typename Vector::item28, typename Vector::item29\r
939             , typename Vector::item30, typename Vector::item31\r
940             , typename Vector::item32, typename Vector::item33\r
941             , typename Vector::item34\r
942             > type;\r
943     };\r
944 };\r
945 \r
946 template<>\r
947 struct pop_front_impl< aux::vector_tag<36> >\r
948 {\r
949     template< typename Vector > struct apply\r
950     {\r
951         typedef vector35<\r
952               typename Vector::item1, typename Vector::item2\r
953             , typename Vector::item3, typename Vector::item4\r
954             , typename Vector::item5, typename Vector::item6\r
955             , typename Vector::item7, typename Vector::item8\r
956             , typename Vector::item9, typename Vector::item10\r
957             , typename Vector::item11, typename Vector::item12\r
958             , typename Vector::item13, typename Vector::item14\r
959             , typename Vector::item15, typename Vector::item16\r
960             , typename Vector::item17, typename Vector::item18\r
961             , typename Vector::item19, typename Vector::item20\r
962             , typename Vector::item21, typename Vector::item22\r
963             , typename Vector::item23, typename Vector::item24\r
964             , typename Vector::item25, typename Vector::item26\r
965             , typename Vector::item27, typename Vector::item28\r
966             , typename Vector::item29, typename Vector::item30\r
967             , typename Vector::item31, typename Vector::item32\r
968             , typename Vector::item33, typename Vector::item34\r
969             , typename Vector::item35\r
970             > type;\r
971     };\r
972 };\r
973 \r
974 template<>\r
975 struct push_back_impl< aux::vector_tag<35> >\r
976 {\r
977     template< typename Vector, typename T > struct apply\r
978     {\r
979         typedef vector36<\r
980               typename Vector::item0, typename Vector::item1\r
981             , typename Vector::item2, typename Vector::item3\r
982             , typename Vector::item4, typename Vector::item5\r
983             , typename Vector::item6, typename Vector::item7\r
984             , typename Vector::item8, typename Vector::item9\r
985             , typename Vector::item10, typename Vector::item11\r
986             , typename Vector::item12, typename Vector::item13\r
987             , typename Vector::item14, typename Vector::item15\r
988             , typename Vector::item16, typename Vector::item17\r
989             , typename Vector::item18, typename Vector::item19\r
990             , typename Vector::item20, typename Vector::item21\r
991             , typename Vector::item22, typename Vector::item23\r
992             , typename Vector::item24, typename Vector::item25\r
993             , typename Vector::item26, typename Vector::item27\r
994             , typename Vector::item28, typename Vector::item29\r
995             , typename Vector::item30, typename Vector::item31\r
996             , typename Vector::item32, typename Vector::item33\r
997             , typename Vector::item34\r
998               ,\r
999               T\r
1000             > type;\r
1001     };\r
1002 };\r
1003 \r
1004 template<>\r
1005 struct pop_back_impl< aux::vector_tag<36> >\r
1006 {\r
1007     template< typename Vector > struct apply\r
1008     {\r
1009         typedef vector35<\r
1010               typename Vector::item0, typename Vector::item1\r
1011             , typename Vector::item2, typename Vector::item3\r
1012             , typename Vector::item4, typename Vector::item5\r
1013             , typename Vector::item6, typename Vector::item7\r
1014             , typename Vector::item8, typename Vector::item9\r
1015             , typename Vector::item10, typename Vector::item11\r
1016             , typename Vector::item12, typename Vector::item13\r
1017             , typename Vector::item14, typename Vector::item15\r
1018             , typename Vector::item16, typename Vector::item17\r
1019             , typename Vector::item18, typename Vector::item19\r
1020             , typename Vector::item20, typename Vector::item21\r
1021             , typename Vector::item22, typename Vector::item23\r
1022             , typename Vector::item24, typename Vector::item25\r
1023             , typename Vector::item26, typename Vector::item27\r
1024             , typename Vector::item28, typename Vector::item29\r
1025             , typename Vector::item30, typename Vector::item31\r
1026             , typename Vector::item32, typename Vector::item33\r
1027             , typename Vector::item34\r
1028             > type;\r
1029     };\r
1030 };\r
1031 \r
1032 template< typename V >\r
1033 struct v_at< V,36 >\r
1034 {\r
1035     typedef typename V::item36 type;\r
1036 };\r
1037 \r
1038 template<\r
1039       typename T0, typename T1, typename T2, typename T3, typename T4\r
1040     , typename T5, typename T6, typename T7, typename T8, typename T9\r
1041     , typename T10, typename T11, typename T12, typename T13, typename T14\r
1042     , typename T15, typename T16, typename T17, typename T18, typename T19\r
1043     , typename T20, typename T21, typename T22, typename T23, typename T24\r
1044     , typename T25, typename T26, typename T27, typename T28, typename T29\r
1045     , typename T30, typename T31, typename T32, typename T33, typename T34\r
1046     , typename T35, typename T36\r
1047     >\r
1048 struct vector37\r
1049 {\r
1050     typedef aux::vector_tag<37> tag;\r
1051     typedef vector37 type;\r
1052     typedef T0 item0;\r
1053     typedef T1 item1;\r
1054     typedef T2 item2;\r
1055     typedef T3 item3;\r
1056     typedef T4 item4;\r
1057     typedef T5 item5;\r
1058     typedef T6 item6;\r
1059     typedef T7 item7;\r
1060     typedef T8 item8;\r
1061     typedef T9 item9;\r
1062     typedef T10 item10;\r
1063     typedef T11 item11;\r
1064     typedef T12 item12;\r
1065     typedef T13 item13;\r
1066     typedef T14 item14;\r
1067     typedef T15 item15;\r
1068     typedef T16 item16;\r
1069     typedef T17 item17;\r
1070     typedef T18 item18;\r
1071     typedef T19 item19;\r
1072     typedef T20 item20;\r
1073     typedef T21 item21;\r
1074     typedef T22 item22;\r
1075     typedef T23 item23;\r
1076     typedef T24 item24;\r
1077     typedef T25 item25;\r
1078     typedef T26 item26;\r
1079     typedef T27 item27;\r
1080     typedef T28 item28;\r
1081     typedef T29 item29;\r
1082     typedef T30 item30;\r
1083     typedef T31 item31;\r
1084     typedef T32 item32;\r
1085     typedef T33 item33;\r
1086     typedef T34 item34;\r
1087     typedef T35 item35;\r
1088     typedef T36 item36;\r
1089     \r
1090 \r
1091     typedef void_ item37;\r
1092     typedef T36 back;\r
1093     typedef v_iter< type,0 > begin;\r
1094     typedef v_iter< type,37 > end;\r
1095 };\r
1096 \r
1097 template<>\r
1098 struct push_front_impl< aux::vector_tag<36> >\r
1099 {\r
1100     template< typename Vector, typename T > struct apply\r
1101     {\r
1102         typedef vector37<\r
1103               T\r
1104               ,\r
1105               typename Vector::item0, typename Vector::item1\r
1106             , typename Vector::item2, typename Vector::item3\r
1107             , typename Vector::item4, typename Vector::item5\r
1108             , typename Vector::item6, typename Vector::item7\r
1109             , typename Vector::item8, typename Vector::item9\r
1110             , typename Vector::item10, typename Vector::item11\r
1111             , typename Vector::item12, typename Vector::item13\r
1112             , typename Vector::item14, typename Vector::item15\r
1113             , typename Vector::item16, typename Vector::item17\r
1114             , typename Vector::item18, typename Vector::item19\r
1115             , typename Vector::item20, typename Vector::item21\r
1116             , typename Vector::item22, typename Vector::item23\r
1117             , typename Vector::item24, typename Vector::item25\r
1118             , typename Vector::item26, typename Vector::item27\r
1119             , typename Vector::item28, typename Vector::item29\r
1120             , typename Vector::item30, typename Vector::item31\r
1121             , typename Vector::item32, typename Vector::item33\r
1122             , typename Vector::item34, typename Vector::item35\r
1123             > type;\r
1124     };\r
1125 };\r
1126 \r
1127 template<>\r
1128 struct pop_front_impl< aux::vector_tag<37> >\r
1129 {\r
1130     template< typename Vector > struct apply\r
1131     {\r
1132         typedef vector36<\r
1133               typename Vector::item1, typename Vector::item2\r
1134             , typename Vector::item3, typename Vector::item4\r
1135             , typename Vector::item5, typename Vector::item6\r
1136             , typename Vector::item7, typename Vector::item8\r
1137             , typename Vector::item9, typename Vector::item10\r
1138             , typename Vector::item11, typename Vector::item12\r
1139             , typename Vector::item13, typename Vector::item14\r
1140             , typename Vector::item15, typename Vector::item16\r
1141             , typename Vector::item17, typename Vector::item18\r
1142             , typename Vector::item19, typename Vector::item20\r
1143             , typename Vector::item21, typename Vector::item22\r
1144             , typename Vector::item23, typename Vector::item24\r
1145             , typename Vector::item25, typename Vector::item26\r
1146             , typename Vector::item27, typename Vector::item28\r
1147             , typename Vector::item29, typename Vector::item30\r
1148             , typename Vector::item31, typename Vector::item32\r
1149             , typename Vector::item33, typename Vector::item34\r
1150             , typename Vector::item35, typename Vector::item36\r
1151             > type;\r
1152     };\r
1153 };\r
1154 \r
1155 template<>\r
1156 struct push_back_impl< aux::vector_tag<36> >\r
1157 {\r
1158     template< typename Vector, typename T > struct apply\r
1159     {\r
1160         typedef vector37<\r
1161               typename Vector::item0, typename Vector::item1\r
1162             , typename Vector::item2, typename Vector::item3\r
1163             , typename Vector::item4, typename Vector::item5\r
1164             , typename Vector::item6, typename Vector::item7\r
1165             , typename Vector::item8, typename Vector::item9\r
1166             , typename Vector::item10, typename Vector::item11\r
1167             , typename Vector::item12, typename Vector::item13\r
1168             , typename Vector::item14, typename Vector::item15\r
1169             , typename Vector::item16, typename Vector::item17\r
1170             , typename Vector::item18, typename Vector::item19\r
1171             , typename Vector::item20, typename Vector::item21\r
1172             , typename Vector::item22, typename Vector::item23\r
1173             , typename Vector::item24, typename Vector::item25\r
1174             , typename Vector::item26, typename Vector::item27\r
1175             , typename Vector::item28, typename Vector::item29\r
1176             , typename Vector::item30, typename Vector::item31\r
1177             , typename Vector::item32, typename Vector::item33\r
1178             , typename Vector::item34, typename Vector::item35\r
1179               ,\r
1180               T\r
1181             > type;\r
1182     };\r
1183 };\r
1184 \r
1185 template<>\r
1186 struct pop_back_impl< aux::vector_tag<37> >\r
1187 {\r
1188     template< typename Vector > struct apply\r
1189     {\r
1190         typedef vector36<\r
1191               typename Vector::item0, typename Vector::item1\r
1192             , typename Vector::item2, typename Vector::item3\r
1193             , typename Vector::item4, typename Vector::item5\r
1194             , typename Vector::item6, typename Vector::item7\r
1195             , typename Vector::item8, typename Vector::item9\r
1196             , typename Vector::item10, typename Vector::item11\r
1197             , typename Vector::item12, typename Vector::item13\r
1198             , typename Vector::item14, typename Vector::item15\r
1199             , typename Vector::item16, typename Vector::item17\r
1200             , typename Vector::item18, typename Vector::item19\r
1201             , typename Vector::item20, typename Vector::item21\r
1202             , typename Vector::item22, typename Vector::item23\r
1203             , typename Vector::item24, typename Vector::item25\r
1204             , typename Vector::item26, typename Vector::item27\r
1205             , typename Vector::item28, typename Vector::item29\r
1206             , typename Vector::item30, typename Vector::item31\r
1207             , typename Vector::item32, typename Vector::item33\r
1208             , typename Vector::item34, typename Vector::item35\r
1209             > type;\r
1210     };\r
1211 };\r
1212 \r
1213 template< typename V >\r
1214 struct v_at< V,37 >\r
1215 {\r
1216     typedef typename V::item37 type;\r
1217 };\r
1218 \r
1219 template<\r
1220       typename T0, typename T1, typename T2, typename T3, typename T4\r
1221     , typename T5, typename T6, typename T7, typename T8, typename T9\r
1222     , typename T10, typename T11, typename T12, typename T13, typename T14\r
1223     , typename T15, typename T16, typename T17, typename T18, typename T19\r
1224     , typename T20, typename T21, typename T22, typename T23, typename T24\r
1225     , typename T25, typename T26, typename T27, typename T28, typename T29\r
1226     , typename T30, typename T31, typename T32, typename T33, typename T34\r
1227     , typename T35, typename T36, typename T37\r
1228     >\r
1229 struct vector38\r
1230 {\r
1231     typedef aux::vector_tag<38> tag;\r
1232     typedef vector38 type;\r
1233     typedef T0 item0;\r
1234     typedef T1 item1;\r
1235     typedef T2 item2;\r
1236     typedef T3 item3;\r
1237     typedef T4 item4;\r
1238     typedef T5 item5;\r
1239     typedef T6 item6;\r
1240     typedef T7 item7;\r
1241     typedef T8 item8;\r
1242     typedef T9 item9;\r
1243     typedef T10 item10;\r
1244     typedef T11 item11;\r
1245     typedef T12 item12;\r
1246     typedef T13 item13;\r
1247     typedef T14 item14;\r
1248     typedef T15 item15;\r
1249     typedef T16 item16;\r
1250     typedef T17 item17;\r
1251     typedef T18 item18;\r
1252     typedef T19 item19;\r
1253     typedef T20 item20;\r
1254     typedef T21 item21;\r
1255     typedef T22 item22;\r
1256     typedef T23 item23;\r
1257     typedef T24 item24;\r
1258     typedef T25 item25;\r
1259     typedef T26 item26;\r
1260     typedef T27 item27;\r
1261     typedef T28 item28;\r
1262     typedef T29 item29;\r
1263     typedef T30 item30;\r
1264     typedef T31 item31;\r
1265     typedef T32 item32;\r
1266     typedef T33 item33;\r
1267     typedef T34 item34;\r
1268     typedef T35 item35;\r
1269     typedef T36 item36;\r
1270     typedef T37 item37;\r
1271     \r
1272 \r
1273     typedef void_ item38;\r
1274     typedef T37 back;\r
1275     typedef v_iter< type,0 > begin;\r
1276     typedef v_iter< type,38 > end;\r
1277 };\r
1278 \r
1279 template<>\r
1280 struct push_front_impl< aux::vector_tag<37> >\r
1281 {\r
1282     template< typename Vector, typename T > struct apply\r
1283     {\r
1284         typedef vector38<\r
1285               T\r
1286               ,\r
1287               typename Vector::item0, typename Vector::item1\r
1288             , typename Vector::item2, typename Vector::item3\r
1289             , typename Vector::item4, typename Vector::item5\r
1290             , typename Vector::item6, typename Vector::item7\r
1291             , typename Vector::item8, typename Vector::item9\r
1292             , typename Vector::item10, typename Vector::item11\r
1293             , typename Vector::item12, typename Vector::item13\r
1294             , typename Vector::item14, typename Vector::item15\r
1295             , typename Vector::item16, typename Vector::item17\r
1296             , typename Vector::item18, typename Vector::item19\r
1297             , typename Vector::item20, typename Vector::item21\r
1298             , typename Vector::item22, typename Vector::item23\r
1299             , typename Vector::item24, typename Vector::item25\r
1300             , typename Vector::item26, typename Vector::item27\r
1301             , typename Vector::item28, typename Vector::item29\r
1302             , typename Vector::item30, typename Vector::item31\r
1303             , typename Vector::item32, typename Vector::item33\r
1304             , typename Vector::item34, typename Vector::item35\r
1305             , typename Vector::item36\r
1306             > type;\r
1307     };\r
1308 };\r
1309 \r
1310 template<>\r
1311 struct pop_front_impl< aux::vector_tag<38> >\r
1312 {\r
1313     template< typename Vector > struct apply\r
1314     {\r
1315         typedef vector37<\r
1316               typename Vector::item1, typename Vector::item2\r
1317             , typename Vector::item3, typename Vector::item4\r
1318             , typename Vector::item5, typename Vector::item6\r
1319             , typename Vector::item7, typename Vector::item8\r
1320             , typename Vector::item9, typename Vector::item10\r
1321             , typename Vector::item11, typename Vector::item12\r
1322             , typename Vector::item13, typename Vector::item14\r
1323             , typename Vector::item15, typename Vector::item16\r
1324             , typename Vector::item17, typename Vector::item18\r
1325             , typename Vector::item19, typename Vector::item20\r
1326             , typename Vector::item21, typename Vector::item22\r
1327             , typename Vector::item23, typename Vector::item24\r
1328             , typename Vector::item25, typename Vector::item26\r
1329             , typename Vector::item27, typename Vector::item28\r
1330             , typename Vector::item29, typename Vector::item30\r
1331             , typename Vector::item31, typename Vector::item32\r
1332             , typename Vector::item33, typename Vector::item34\r
1333             , typename Vector::item35, typename Vector::item36\r
1334             , typename Vector::item37\r
1335             > type;\r
1336     };\r
1337 };\r
1338 \r
1339 template<>\r
1340 struct push_back_impl< aux::vector_tag<37> >\r
1341 {\r
1342     template< typename Vector, typename T > struct apply\r
1343     {\r
1344         typedef vector38<\r
1345               typename Vector::item0, typename Vector::item1\r
1346             , typename Vector::item2, typename Vector::item3\r
1347             , typename Vector::item4, typename Vector::item5\r
1348             , typename Vector::item6, typename Vector::item7\r
1349             , typename Vector::item8, typename Vector::item9\r
1350             , typename Vector::item10, typename Vector::item11\r
1351             , typename Vector::item12, typename Vector::item13\r
1352             , typename Vector::item14, typename Vector::item15\r
1353             , typename Vector::item16, typename Vector::item17\r
1354             , typename Vector::item18, typename Vector::item19\r
1355             , typename Vector::item20, typename Vector::item21\r
1356             , typename Vector::item22, typename Vector::item23\r
1357             , typename Vector::item24, typename Vector::item25\r
1358             , typename Vector::item26, typename Vector::item27\r
1359             , typename Vector::item28, typename Vector::item29\r
1360             , typename Vector::item30, typename Vector::item31\r
1361             , typename Vector::item32, typename Vector::item33\r
1362             , typename Vector::item34, typename Vector::item35\r
1363             , typename Vector::item36\r
1364               ,\r
1365               T\r
1366             > type;\r
1367     };\r
1368 };\r
1369 \r
1370 template<>\r
1371 struct pop_back_impl< aux::vector_tag<38> >\r
1372 {\r
1373     template< typename Vector > struct apply\r
1374     {\r
1375         typedef vector37<\r
1376               typename Vector::item0, typename Vector::item1\r
1377             , typename Vector::item2, typename Vector::item3\r
1378             , typename Vector::item4, typename Vector::item5\r
1379             , typename Vector::item6, typename Vector::item7\r
1380             , typename Vector::item8, typename Vector::item9\r
1381             , typename Vector::item10, typename Vector::item11\r
1382             , typename Vector::item12, typename Vector::item13\r
1383             , typename Vector::item14, typename Vector::item15\r
1384             , typename Vector::item16, typename Vector::item17\r
1385             , typename Vector::item18, typename Vector::item19\r
1386             , typename Vector::item20, typename Vector::item21\r
1387             , typename Vector::item22, typename Vector::item23\r
1388             , typename Vector::item24, typename Vector::item25\r
1389             , typename Vector::item26, typename Vector::item27\r
1390             , typename Vector::item28, typename Vector::item29\r
1391             , typename Vector::item30, typename Vector::item31\r
1392             , typename Vector::item32, typename Vector::item33\r
1393             , typename Vector::item34, typename Vector::item35\r
1394             , typename Vector::item36\r
1395             > type;\r
1396     };\r
1397 };\r
1398 \r
1399 template< typename V >\r
1400 struct v_at< V,38 >\r
1401 {\r
1402     typedef typename V::item38 type;\r
1403 };\r
1404 \r
1405 template<\r
1406       typename T0, typename T1, typename T2, typename T3, typename T4\r
1407     , typename T5, typename T6, typename T7, typename T8, typename T9\r
1408     , typename T10, typename T11, typename T12, typename T13, typename T14\r
1409     , typename T15, typename T16, typename T17, typename T18, typename T19\r
1410     , typename T20, typename T21, typename T22, typename T23, typename T24\r
1411     , typename T25, typename T26, typename T27, typename T28, typename T29\r
1412     , typename T30, typename T31, typename T32, typename T33, typename T34\r
1413     , typename T35, typename T36, typename T37, typename T38\r
1414     >\r
1415 struct vector39\r
1416 {\r
1417     typedef aux::vector_tag<39> tag;\r
1418     typedef vector39 type;\r
1419     typedef T0 item0;\r
1420     typedef T1 item1;\r
1421     typedef T2 item2;\r
1422     typedef T3 item3;\r
1423     typedef T4 item4;\r
1424     typedef T5 item5;\r
1425     typedef T6 item6;\r
1426     typedef T7 item7;\r
1427     typedef T8 item8;\r
1428     typedef T9 item9;\r
1429     typedef T10 item10;\r
1430     typedef T11 item11;\r
1431     typedef T12 item12;\r
1432     typedef T13 item13;\r
1433     typedef T14 item14;\r
1434     typedef T15 item15;\r
1435     typedef T16 item16;\r
1436     typedef T17 item17;\r
1437     typedef T18 item18;\r
1438     typedef T19 item19;\r
1439     typedef T20 item20;\r
1440     typedef T21 item21;\r
1441     typedef T22 item22;\r
1442     typedef T23 item23;\r
1443     typedef T24 item24;\r
1444     typedef T25 item25;\r
1445     typedef T26 item26;\r
1446     typedef T27 item27;\r
1447     typedef T28 item28;\r
1448     typedef T29 item29;\r
1449     typedef T30 item30;\r
1450     typedef T31 item31;\r
1451     typedef T32 item32;\r
1452     typedef T33 item33;\r
1453     typedef T34 item34;\r
1454     typedef T35 item35;\r
1455     typedef T36 item36;\r
1456     typedef T37 item37;\r
1457     typedef T38 item38;\r
1458     \r
1459 \r
1460     typedef void_ item39;\r
1461     typedef T38 back;\r
1462     typedef v_iter< type,0 > begin;\r
1463     typedef v_iter< type,39 > end;\r
1464 };\r
1465 \r
1466 template<>\r
1467 struct push_front_impl< aux::vector_tag<38> >\r
1468 {\r
1469     template< typename Vector, typename T > struct apply\r
1470     {\r
1471         typedef vector39<\r
1472               T\r
1473               ,\r
1474               typename Vector::item0, typename Vector::item1\r
1475             , typename Vector::item2, typename Vector::item3\r
1476             , typename Vector::item4, typename Vector::item5\r
1477             , typename Vector::item6, typename Vector::item7\r
1478             , typename Vector::item8, typename Vector::item9\r
1479             , typename Vector::item10, typename Vector::item11\r
1480             , typename Vector::item12, typename Vector::item13\r
1481             , typename Vector::item14, typename Vector::item15\r
1482             , typename Vector::item16, typename Vector::item17\r
1483             , typename Vector::item18, typename Vector::item19\r
1484             , typename Vector::item20, typename Vector::item21\r
1485             , typename Vector::item22, typename Vector::item23\r
1486             , typename Vector::item24, typename Vector::item25\r
1487             , typename Vector::item26, typename Vector::item27\r
1488             , typename Vector::item28, typename Vector::item29\r
1489             , typename Vector::item30, typename Vector::item31\r
1490             , typename Vector::item32, typename Vector::item33\r
1491             , typename Vector::item34, typename Vector::item35\r
1492             , typename Vector::item36, typename Vector::item37\r
1493             > type;\r
1494     };\r
1495 };\r
1496 \r
1497 template<>\r
1498 struct pop_front_impl< aux::vector_tag<39> >\r
1499 {\r
1500     template< typename Vector > struct apply\r
1501     {\r
1502         typedef vector38<\r
1503               typename Vector::item1, typename Vector::item2\r
1504             , typename Vector::item3, typename Vector::item4\r
1505             , typename Vector::item5, typename Vector::item6\r
1506             , typename Vector::item7, typename Vector::item8\r
1507             , typename Vector::item9, typename Vector::item10\r
1508             , typename Vector::item11, typename Vector::item12\r
1509             , typename Vector::item13, typename Vector::item14\r
1510             , typename Vector::item15, typename Vector::item16\r
1511             , typename Vector::item17, typename Vector::item18\r
1512             , typename Vector::item19, typename Vector::item20\r
1513             , typename Vector::item21, typename Vector::item22\r
1514             , typename Vector::item23, typename Vector::item24\r
1515             , typename Vector::item25, typename Vector::item26\r
1516             , typename Vector::item27, typename Vector::item28\r
1517             , typename Vector::item29, typename Vector::item30\r
1518             , typename Vector::item31, typename Vector::item32\r
1519             , typename Vector::item33, typename Vector::item34\r
1520             , typename Vector::item35, typename Vector::item36\r
1521             , typename Vector::item37, typename Vector::item38\r
1522             > type;\r
1523     };\r
1524 };\r
1525 \r
1526 template<>\r
1527 struct push_back_impl< aux::vector_tag<38> >\r
1528 {\r
1529     template< typename Vector, typename T > struct apply\r
1530     {\r
1531         typedef vector39<\r
1532               typename Vector::item0, typename Vector::item1\r
1533             , typename Vector::item2, typename Vector::item3\r
1534             , typename Vector::item4, typename Vector::item5\r
1535             , typename Vector::item6, typename Vector::item7\r
1536             , typename Vector::item8, typename Vector::item9\r
1537             , typename Vector::item10, typename Vector::item11\r
1538             , typename Vector::item12, typename Vector::item13\r
1539             , typename Vector::item14, typename Vector::item15\r
1540             , typename Vector::item16, typename Vector::item17\r
1541             , typename Vector::item18, typename Vector::item19\r
1542             , typename Vector::item20, typename Vector::item21\r
1543             , typename Vector::item22, typename Vector::item23\r
1544             , typename Vector::item24, typename Vector::item25\r
1545             , typename Vector::item26, typename Vector::item27\r
1546             , typename Vector::item28, typename Vector::item29\r
1547             , typename Vector::item30, typename Vector::item31\r
1548             , typename Vector::item32, typename Vector::item33\r
1549             , typename Vector::item34, typename Vector::item35\r
1550             , typename Vector::item36, typename Vector::item37\r
1551               ,\r
1552               T\r
1553             > type;\r
1554     };\r
1555 };\r
1556 \r
1557 template<>\r
1558 struct pop_back_impl< aux::vector_tag<39> >\r
1559 {\r
1560     template< typename Vector > struct apply\r
1561     {\r
1562         typedef vector38<\r
1563               typename Vector::item0, typename Vector::item1\r
1564             , typename Vector::item2, typename Vector::item3\r
1565             , typename Vector::item4, typename Vector::item5\r
1566             , typename Vector::item6, typename Vector::item7\r
1567             , typename Vector::item8, typename Vector::item9\r
1568             , typename Vector::item10, typename Vector::item11\r
1569             , typename Vector::item12, typename Vector::item13\r
1570             , typename Vector::item14, typename Vector::item15\r
1571             , typename Vector::item16, typename Vector::item17\r
1572             , typename Vector::item18, typename Vector::item19\r
1573             , typename Vector::item20, typename Vector::item21\r
1574             , typename Vector::item22, typename Vector::item23\r
1575             , typename Vector::item24, typename Vector::item25\r
1576             , typename Vector::item26, typename Vector::item27\r
1577             , typename Vector::item28, typename Vector::item29\r
1578             , typename Vector::item30, typename Vector::item31\r
1579             , typename Vector::item32, typename Vector::item33\r
1580             , typename Vector::item34, typename Vector::item35\r
1581             , typename Vector::item36, typename Vector::item37\r
1582             > type;\r
1583     };\r
1584 };\r
1585 \r
1586 template< typename V >\r
1587 struct v_at< V,39 >\r
1588 {\r
1589     typedef typename V::item39 type;\r
1590 };\r
1591 \r
1592 template<\r
1593       typename T0, typename T1, typename T2, typename T3, typename T4\r
1594     , typename T5, typename T6, typename T7, typename T8, typename T9\r
1595     , typename T10, typename T11, typename T12, typename T13, typename T14\r
1596     , typename T15, typename T16, typename T17, typename T18, typename T19\r
1597     , typename T20, typename T21, typename T22, typename T23, typename T24\r
1598     , typename T25, typename T26, typename T27, typename T28, typename T29\r
1599     , typename T30, typename T31, typename T32, typename T33, typename T34\r
1600     , typename T35, typename T36, typename T37, typename T38, typename T39\r
1601     >\r
1602 struct vector40\r
1603 {\r
1604     typedef aux::vector_tag<40> tag;\r
1605     typedef vector40 type;\r
1606     typedef T0 item0;\r
1607     typedef T1 item1;\r
1608     typedef T2 item2;\r
1609     typedef T3 item3;\r
1610     typedef T4 item4;\r
1611     typedef T5 item5;\r
1612     typedef T6 item6;\r
1613     typedef T7 item7;\r
1614     typedef T8 item8;\r
1615     typedef T9 item9;\r
1616     typedef T10 item10;\r
1617     typedef T11 item11;\r
1618     typedef T12 item12;\r
1619     typedef T13 item13;\r
1620     typedef T14 item14;\r
1621     typedef T15 item15;\r
1622     typedef T16 item16;\r
1623     typedef T17 item17;\r
1624     typedef T18 item18;\r
1625     typedef T19 item19;\r
1626     typedef T20 item20;\r
1627     typedef T21 item21;\r
1628     typedef T22 item22;\r
1629     typedef T23 item23;\r
1630     typedef T24 item24;\r
1631     typedef T25 item25;\r
1632     typedef T26 item26;\r
1633     typedef T27 item27;\r
1634     typedef T28 item28;\r
1635     typedef T29 item29;\r
1636     typedef T30 item30;\r
1637     typedef T31 item31;\r
1638     typedef T32 item32;\r
1639     typedef T33 item33;\r
1640     typedef T34 item34;\r
1641     typedef T35 item35;\r
1642     typedef T36 item36;\r
1643     typedef T37 item37;\r
1644     typedef T38 item38;\r
1645     typedef T39 item39;\r
1646     \r
1647 \r
1648     typedef void_ item40;\r
1649     typedef T39 back;\r
1650     typedef v_iter< type,0 > begin;\r
1651     typedef v_iter< type,40 > end;\r
1652 };\r
1653 \r
1654 template<>\r
1655 struct push_front_impl< aux::vector_tag<39> >\r
1656 {\r
1657     template< typename Vector, typename T > struct apply\r
1658     {\r
1659         typedef vector40<\r
1660               T\r
1661               ,\r
1662               typename Vector::item0, typename Vector::item1\r
1663             , typename Vector::item2, typename Vector::item3\r
1664             , typename Vector::item4, typename Vector::item5\r
1665             , typename Vector::item6, typename Vector::item7\r
1666             , typename Vector::item8, typename Vector::item9\r
1667             , typename Vector::item10, typename Vector::item11\r
1668             , typename Vector::item12, typename Vector::item13\r
1669             , typename Vector::item14, typename Vector::item15\r
1670             , typename Vector::item16, typename Vector::item17\r
1671             , typename Vector::item18, typename Vector::item19\r
1672             , typename Vector::item20, typename Vector::item21\r
1673             , typename Vector::item22, typename Vector::item23\r
1674             , typename Vector::item24, typename Vector::item25\r
1675             , typename Vector::item26, typename Vector::item27\r
1676             , typename Vector::item28, typename Vector::item29\r
1677             , typename Vector::item30, typename Vector::item31\r
1678             , typename Vector::item32, typename Vector::item33\r
1679             , typename Vector::item34, typename Vector::item35\r
1680             , typename Vector::item36, typename Vector::item37\r
1681             , typename Vector::item38\r
1682             > type;\r
1683     };\r
1684 };\r
1685 \r
1686 template<>\r
1687 struct pop_front_impl< aux::vector_tag<40> >\r
1688 {\r
1689     template< typename Vector > struct apply\r
1690     {\r
1691         typedef vector39<\r
1692               typename Vector::item1, typename Vector::item2\r
1693             , typename Vector::item3, typename Vector::item4\r
1694             , typename Vector::item5, typename Vector::item6\r
1695             , typename Vector::item7, typename Vector::item8\r
1696             , typename Vector::item9, typename Vector::item10\r
1697             , typename Vector::item11, typename Vector::item12\r
1698             , typename Vector::item13, typename Vector::item14\r
1699             , typename Vector::item15, typename Vector::item16\r
1700             , typename Vector::item17, typename Vector::item18\r
1701             , typename Vector::item19, typename Vector::item20\r
1702             , typename Vector::item21, typename Vector::item22\r
1703             , typename Vector::item23, typename Vector::item24\r
1704             , typename Vector::item25, typename Vector::item26\r
1705             , typename Vector::item27, typename Vector::item28\r
1706             , typename Vector::item29, typename Vector::item30\r
1707             , typename Vector::item31, typename Vector::item32\r
1708             , typename Vector::item33, typename Vector::item34\r
1709             , typename Vector::item35, typename Vector::item36\r
1710             , typename Vector::item37, typename Vector::item38\r
1711             , typename Vector::item39\r
1712             > type;\r
1713     };\r
1714 };\r
1715 \r
1716 template<>\r
1717 struct push_back_impl< aux::vector_tag<39> >\r
1718 {\r
1719     template< typename Vector, typename T > struct apply\r
1720     {\r
1721         typedef vector40<\r
1722               typename Vector::item0, typename Vector::item1\r
1723             , typename Vector::item2, typename Vector::item3\r
1724             , typename Vector::item4, typename Vector::item5\r
1725             , typename Vector::item6, typename Vector::item7\r
1726             , typename Vector::item8, typename Vector::item9\r
1727             , typename Vector::item10, typename Vector::item11\r
1728             , typename Vector::item12, typename Vector::item13\r
1729             , typename Vector::item14, typename Vector::item15\r
1730             , typename Vector::item16, typename Vector::item17\r
1731             , typename Vector::item18, typename Vector::item19\r
1732             , typename Vector::item20, typename Vector::item21\r
1733             , typename Vector::item22, typename Vector::item23\r
1734             , typename Vector::item24, typename Vector::item25\r
1735             , typename Vector::item26, typename Vector::item27\r
1736             , typename Vector::item28, typename Vector::item29\r
1737             , typename Vector::item30, typename Vector::item31\r
1738             , typename Vector::item32, typename Vector::item33\r
1739             , typename Vector::item34, typename Vector::item35\r
1740             , typename Vector::item36, typename Vector::item37\r
1741             , typename Vector::item38\r
1742               ,\r
1743               T\r
1744             > type;\r
1745     };\r
1746 };\r
1747 \r
1748 template<>\r
1749 struct pop_back_impl< aux::vector_tag<40> >\r
1750 {\r
1751     template< typename Vector > struct apply\r
1752     {\r
1753         typedef vector39<\r
1754               typename Vector::item0, typename Vector::item1\r
1755             , typename Vector::item2, typename Vector::item3\r
1756             , typename Vector::item4, typename Vector::item5\r
1757             , typename Vector::item6, typename Vector::item7\r
1758             , typename Vector::item8, typename Vector::item9\r
1759             , typename Vector::item10, typename Vector::item11\r
1760             , typename Vector::item12, typename Vector::item13\r
1761             , typename Vector::item14, typename Vector::item15\r
1762             , typename Vector::item16, typename Vector::item17\r
1763             , typename Vector::item18, typename Vector::item19\r
1764             , typename Vector::item20, typename Vector::item21\r
1765             , typename Vector::item22, typename Vector::item23\r
1766             , typename Vector::item24, typename Vector::item25\r
1767             , typename Vector::item26, typename Vector::item27\r
1768             , typename Vector::item28, typename Vector::item29\r
1769             , typename Vector::item30, typename Vector::item31\r
1770             , typename Vector::item32, typename Vector::item33\r
1771             , typename Vector::item34, typename Vector::item35\r
1772             , typename Vector::item36, typename Vector::item37\r
1773             , typename Vector::item38\r
1774             > type;\r
1775     };\r
1776 };\r
1777 \r
1778 template< typename V >\r
1779 struct v_at< V,40 >\r
1780 {\r
1781     typedef typename V::item40 type;\r
1782 };\r
1783 \r
1784 }}\r