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

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