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

Private GIT Repository
4de5eab926e0da5caa1ab011e3fd253e7da1831e
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / include / boost / mpl / vector / aux_ / preprocessed / no_ctps / 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 namespace aux {\r
203 template<> struct v_at_impl<41>\r
204 {\r
205     template< typename V_ > struct result_\r
206     {\r
207         typedef typename V_::item41 type;\r
208     };\r
209 };\r
210 \r
211 }\r
212 \r
213 template<>\r
214 struct at_impl< aux::vector_tag<41> >\r
215 {\r
216     template< typename V_, typename N > struct apply\r
217     {\r
218         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
219             ::template result_<V_>::type type;\r
220     };\r
221 };\r
222 \r
223 template<>\r
224 struct front_impl< aux::vector_tag<41> >\r
225 {\r
226     template< typename Vector > struct apply\r
227     {\r
228         typedef typename Vector::item0 type;\r
229     };\r
230 };\r
231 \r
232 template<>\r
233 struct back_impl< aux::vector_tag<41> >\r
234 {\r
235     template< typename Vector > struct apply\r
236     {\r
237         typedef typename Vector::back type;\r
238     };\r
239 };\r
240 \r
241 template<>\r
242 struct empty_impl< aux::vector_tag<41> >\r
243 {\r
244     template< typename Vector > struct apply\r
245         : false_\r
246     {\r
247     };\r
248 };\r
249 \r
250 template<>\r
251 struct size_impl< aux::vector_tag<41> >\r
252 {\r
253     template< typename Vector > struct apply\r
254         : long_<41>\r
255     {\r
256     };\r
257 };\r
258 \r
259 template<>\r
260 struct O1_size_impl< aux::vector_tag<41> >\r
261     : size_impl< aux::vector_tag<41> >\r
262 {\r
263 };\r
264 \r
265 template<>\r
266 struct clear_impl< aux::vector_tag<41> >\r
267 {\r
268     template< typename Vector > struct apply\r
269     {\r
270         typedef vector0<> type;\r
271     };\r
272 };\r
273 \r
274 template<\r
275       typename T0, typename T1, typename T2, typename T3, typename T4\r
276     , typename T5, typename T6, typename T7, typename T8, typename T9\r
277     , typename T10, typename T11, typename T12, typename T13, typename T14\r
278     , typename T15, typename T16, typename T17, typename T18, typename T19\r
279     , typename T20, typename T21, typename T22, typename T23, typename T24\r
280     , typename T25, typename T26, typename T27, typename T28, typename T29\r
281     , typename T30, typename T31, typename T32, typename T33, typename T34\r
282     , typename T35, typename T36, typename T37, typename T38, typename T39\r
283     , typename T40, typename T41\r
284     >\r
285 struct vector42\r
286 {\r
287     typedef aux::vector_tag<42> tag;\r
288     typedef vector42 type;\r
289     typedef T0 item0;\r
290     typedef T1 item1;\r
291     typedef T2 item2;\r
292     typedef T3 item3;\r
293     typedef T4 item4;\r
294     typedef T5 item5;\r
295     typedef T6 item6;\r
296     typedef T7 item7;\r
297     typedef T8 item8;\r
298     typedef T9 item9;\r
299     typedef T10 item10;\r
300     typedef T11 item11;\r
301     typedef T12 item12;\r
302     typedef T13 item13;\r
303     typedef T14 item14;\r
304     typedef T15 item15;\r
305     typedef T16 item16;\r
306     typedef T17 item17;\r
307     typedef T18 item18;\r
308     typedef T19 item19;\r
309     typedef T20 item20;\r
310     typedef T21 item21;\r
311     typedef T22 item22;\r
312     typedef T23 item23;\r
313     typedef T24 item24;\r
314     typedef T25 item25;\r
315     typedef T26 item26;\r
316     typedef T27 item27;\r
317     typedef T28 item28;\r
318     typedef T29 item29;\r
319     typedef T30 item30;\r
320     typedef T31 item31;\r
321     typedef T32 item32;\r
322     typedef T33 item33;\r
323     typedef T34 item34;\r
324     typedef T35 item35;\r
325     typedef T36 item36;\r
326     typedef T37 item37;\r
327     typedef T38 item38;\r
328     typedef T39 item39;\r
329     typedef T40 item40;\r
330     typedef T41 item41;\r
331     \r
332 \r
333     typedef void_ item42;\r
334     typedef T41 back;\r
335     typedef v_iter< type,0 > begin;\r
336     typedef v_iter< type,42 > end;\r
337 };\r
338 \r
339 template<>\r
340 struct push_front_impl< aux::vector_tag<41> >\r
341 {\r
342     template< typename Vector, typename T > struct apply\r
343     {\r
344         typedef vector42<\r
345               T\r
346               ,\r
347               typename Vector::item0, typename Vector::item1\r
348             , typename Vector::item2, typename Vector::item3\r
349             , typename Vector::item4, typename Vector::item5\r
350             , typename Vector::item6, typename Vector::item7\r
351             , typename Vector::item8, typename Vector::item9\r
352             , typename Vector::item10, typename Vector::item11\r
353             , typename Vector::item12, typename Vector::item13\r
354             , typename Vector::item14, typename Vector::item15\r
355             , typename Vector::item16, typename Vector::item17\r
356             , typename Vector::item18, typename Vector::item19\r
357             , typename Vector::item20, typename Vector::item21\r
358             , typename Vector::item22, typename Vector::item23\r
359             , typename Vector::item24, typename Vector::item25\r
360             , typename Vector::item26, typename Vector::item27\r
361             , typename Vector::item28, typename Vector::item29\r
362             , typename Vector::item30, typename Vector::item31\r
363             , typename Vector::item32, typename Vector::item33\r
364             , typename Vector::item34, typename Vector::item35\r
365             , typename Vector::item36, typename Vector::item37\r
366             , typename Vector::item38, typename Vector::item39\r
367             , typename Vector::item40\r
368             > type;\r
369     };\r
370 };\r
371 \r
372 template<>\r
373 struct pop_front_impl< aux::vector_tag<42> >\r
374 {\r
375     template< typename Vector > struct apply\r
376     {\r
377         typedef vector41<\r
378               typename Vector::item1, typename Vector::item2\r
379             , typename Vector::item3, typename Vector::item4\r
380             , typename Vector::item5, typename Vector::item6\r
381             , typename Vector::item7, typename Vector::item8\r
382             , typename Vector::item9, typename Vector::item10\r
383             , typename Vector::item11, typename Vector::item12\r
384             , typename Vector::item13, typename Vector::item14\r
385             , typename Vector::item15, typename Vector::item16\r
386             , typename Vector::item17, typename Vector::item18\r
387             , typename Vector::item19, typename Vector::item20\r
388             , typename Vector::item21, typename Vector::item22\r
389             , typename Vector::item23, typename Vector::item24\r
390             , typename Vector::item25, typename Vector::item26\r
391             , typename Vector::item27, typename Vector::item28\r
392             , typename Vector::item29, typename Vector::item30\r
393             , typename Vector::item31, typename Vector::item32\r
394             , typename Vector::item33, typename Vector::item34\r
395             , typename Vector::item35, typename Vector::item36\r
396             , typename Vector::item37, typename Vector::item38\r
397             , typename Vector::item39, typename Vector::item40\r
398             , typename Vector::item41\r
399             > type;\r
400     };\r
401 };\r
402 \r
403 template<>\r
404 struct push_back_impl< aux::vector_tag<41> >\r
405 {\r
406     template< typename Vector, typename T > struct apply\r
407     {\r
408         typedef vector42<\r
409               typename Vector::item0, typename Vector::item1\r
410             , typename Vector::item2, typename Vector::item3\r
411             , typename Vector::item4, typename Vector::item5\r
412             , typename Vector::item6, typename Vector::item7\r
413             , typename Vector::item8, typename Vector::item9\r
414             , typename Vector::item10, typename Vector::item11\r
415             , typename Vector::item12, typename Vector::item13\r
416             , typename Vector::item14, typename Vector::item15\r
417             , typename Vector::item16, typename Vector::item17\r
418             , typename Vector::item18, typename Vector::item19\r
419             , typename Vector::item20, typename Vector::item21\r
420             , typename Vector::item22, typename Vector::item23\r
421             , typename Vector::item24, typename Vector::item25\r
422             , typename Vector::item26, typename Vector::item27\r
423             , typename Vector::item28, typename Vector::item29\r
424             , typename Vector::item30, typename Vector::item31\r
425             , typename Vector::item32, typename Vector::item33\r
426             , typename Vector::item34, typename Vector::item35\r
427             , typename Vector::item36, typename Vector::item37\r
428             , typename Vector::item38, typename Vector::item39\r
429             , typename Vector::item40\r
430               ,\r
431               T\r
432             > type;\r
433     };\r
434 };\r
435 \r
436 template<>\r
437 struct pop_back_impl< aux::vector_tag<42> >\r
438 {\r
439     template< typename Vector > struct apply\r
440     {\r
441         typedef vector41<\r
442               typename Vector::item0, typename Vector::item1\r
443             , typename Vector::item2, typename Vector::item3\r
444             , typename Vector::item4, typename Vector::item5\r
445             , typename Vector::item6, typename Vector::item7\r
446             , typename Vector::item8, typename Vector::item9\r
447             , typename Vector::item10, typename Vector::item11\r
448             , typename Vector::item12, typename Vector::item13\r
449             , typename Vector::item14, typename Vector::item15\r
450             , typename Vector::item16, typename Vector::item17\r
451             , typename Vector::item18, typename Vector::item19\r
452             , typename Vector::item20, typename Vector::item21\r
453             , typename Vector::item22, typename Vector::item23\r
454             , typename Vector::item24, typename Vector::item25\r
455             , typename Vector::item26, typename Vector::item27\r
456             , typename Vector::item28, typename Vector::item29\r
457             , typename Vector::item30, typename Vector::item31\r
458             , typename Vector::item32, typename Vector::item33\r
459             , typename Vector::item34, typename Vector::item35\r
460             , typename Vector::item36, typename Vector::item37\r
461             , typename Vector::item38, typename Vector::item39\r
462             , typename Vector::item40\r
463             > type;\r
464     };\r
465 };\r
466 \r
467 namespace aux {\r
468 template<> struct v_at_impl<42>\r
469 {\r
470     template< typename V_ > struct result_\r
471     {\r
472         typedef typename V_::item42 type;\r
473     };\r
474 };\r
475 \r
476 }\r
477 \r
478 template<>\r
479 struct at_impl< aux::vector_tag<42> >\r
480 {\r
481     template< typename V_, typename N > struct apply\r
482     {\r
483         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
484             ::template result_<V_>::type type;\r
485     };\r
486 };\r
487 \r
488 template<>\r
489 struct front_impl< aux::vector_tag<42> >\r
490 {\r
491     template< typename Vector > struct apply\r
492     {\r
493         typedef typename Vector::item0 type;\r
494     };\r
495 };\r
496 \r
497 template<>\r
498 struct back_impl< aux::vector_tag<42> >\r
499 {\r
500     template< typename Vector > struct apply\r
501     {\r
502         typedef typename Vector::back type;\r
503     };\r
504 };\r
505 \r
506 template<>\r
507 struct empty_impl< aux::vector_tag<42> >\r
508 {\r
509     template< typename Vector > struct apply\r
510         : false_\r
511     {\r
512     };\r
513 };\r
514 \r
515 template<>\r
516 struct size_impl< aux::vector_tag<42> >\r
517 {\r
518     template< typename Vector > struct apply\r
519         : long_<42>\r
520     {\r
521     };\r
522 };\r
523 \r
524 template<>\r
525 struct O1_size_impl< aux::vector_tag<42> >\r
526     : size_impl< aux::vector_tag<42> >\r
527 {\r
528 };\r
529 \r
530 template<>\r
531 struct clear_impl< aux::vector_tag<42> >\r
532 {\r
533     template< typename Vector > struct apply\r
534     {\r
535         typedef vector0<> type;\r
536     };\r
537 };\r
538 \r
539 template<\r
540       typename T0, typename T1, typename T2, typename T3, typename T4\r
541     , typename T5, typename T6, typename T7, typename T8, typename T9\r
542     , typename T10, typename T11, typename T12, typename T13, typename T14\r
543     , typename T15, typename T16, typename T17, typename T18, typename T19\r
544     , typename T20, typename T21, typename T22, typename T23, typename T24\r
545     , typename T25, typename T26, typename T27, typename T28, typename T29\r
546     , typename T30, typename T31, typename T32, typename T33, typename T34\r
547     , typename T35, typename T36, typename T37, typename T38, typename T39\r
548     , typename T40, typename T41, typename T42\r
549     >\r
550 struct vector43\r
551 {\r
552     typedef aux::vector_tag<43> tag;\r
553     typedef vector43 type;\r
554     typedef T0 item0;\r
555     typedef T1 item1;\r
556     typedef T2 item2;\r
557     typedef T3 item3;\r
558     typedef T4 item4;\r
559     typedef T5 item5;\r
560     typedef T6 item6;\r
561     typedef T7 item7;\r
562     typedef T8 item8;\r
563     typedef T9 item9;\r
564     typedef T10 item10;\r
565     typedef T11 item11;\r
566     typedef T12 item12;\r
567     typedef T13 item13;\r
568     typedef T14 item14;\r
569     typedef T15 item15;\r
570     typedef T16 item16;\r
571     typedef T17 item17;\r
572     typedef T18 item18;\r
573     typedef T19 item19;\r
574     typedef T20 item20;\r
575     typedef T21 item21;\r
576     typedef T22 item22;\r
577     typedef T23 item23;\r
578     typedef T24 item24;\r
579     typedef T25 item25;\r
580     typedef T26 item26;\r
581     typedef T27 item27;\r
582     typedef T28 item28;\r
583     typedef T29 item29;\r
584     typedef T30 item30;\r
585     typedef T31 item31;\r
586     typedef T32 item32;\r
587     typedef T33 item33;\r
588     typedef T34 item34;\r
589     typedef T35 item35;\r
590     typedef T36 item36;\r
591     typedef T37 item37;\r
592     typedef T38 item38;\r
593     typedef T39 item39;\r
594     typedef T40 item40;\r
595     typedef T41 item41;\r
596     typedef T42 item42;\r
597     \r
598 \r
599     typedef void_ item43;\r
600     typedef T42 back;\r
601     typedef v_iter< type,0 > begin;\r
602     typedef v_iter< type,43 > end;\r
603 };\r
604 \r
605 template<>\r
606 struct push_front_impl< aux::vector_tag<42> >\r
607 {\r
608     template< typename Vector, typename T > struct apply\r
609     {\r
610         typedef vector43<\r
611               T\r
612               ,\r
613               typename Vector::item0, typename Vector::item1\r
614             , typename Vector::item2, typename Vector::item3\r
615             , typename Vector::item4, typename Vector::item5\r
616             , typename Vector::item6, typename Vector::item7\r
617             , typename Vector::item8, typename Vector::item9\r
618             , typename Vector::item10, typename Vector::item11\r
619             , typename Vector::item12, typename Vector::item13\r
620             , typename Vector::item14, typename Vector::item15\r
621             , typename Vector::item16, typename Vector::item17\r
622             , typename Vector::item18, typename Vector::item19\r
623             , typename Vector::item20, typename Vector::item21\r
624             , typename Vector::item22, typename Vector::item23\r
625             , typename Vector::item24, typename Vector::item25\r
626             , typename Vector::item26, typename Vector::item27\r
627             , typename Vector::item28, typename Vector::item29\r
628             , typename Vector::item30, typename Vector::item31\r
629             , typename Vector::item32, typename Vector::item33\r
630             , typename Vector::item34, typename Vector::item35\r
631             , typename Vector::item36, typename Vector::item37\r
632             , typename Vector::item38, typename Vector::item39\r
633             , typename Vector::item40, typename Vector::item41\r
634             > type;\r
635     };\r
636 };\r
637 \r
638 template<>\r
639 struct pop_front_impl< aux::vector_tag<43> >\r
640 {\r
641     template< typename Vector > struct apply\r
642     {\r
643         typedef vector42<\r
644               typename Vector::item1, typename Vector::item2\r
645             , typename Vector::item3, typename Vector::item4\r
646             , typename Vector::item5, typename Vector::item6\r
647             , typename Vector::item7, typename Vector::item8\r
648             , typename Vector::item9, typename Vector::item10\r
649             , typename Vector::item11, typename Vector::item12\r
650             , typename Vector::item13, typename Vector::item14\r
651             , typename Vector::item15, typename Vector::item16\r
652             , typename Vector::item17, typename Vector::item18\r
653             , typename Vector::item19, typename Vector::item20\r
654             , typename Vector::item21, typename Vector::item22\r
655             , typename Vector::item23, typename Vector::item24\r
656             , typename Vector::item25, typename Vector::item26\r
657             , typename Vector::item27, typename Vector::item28\r
658             , typename Vector::item29, typename Vector::item30\r
659             , typename Vector::item31, typename Vector::item32\r
660             , typename Vector::item33, typename Vector::item34\r
661             , typename Vector::item35, typename Vector::item36\r
662             , typename Vector::item37, typename Vector::item38\r
663             , typename Vector::item39, typename Vector::item40\r
664             , typename Vector::item41, typename Vector::item42\r
665             > type;\r
666     };\r
667 };\r
668 \r
669 template<>\r
670 struct push_back_impl< aux::vector_tag<42> >\r
671 {\r
672     template< typename Vector, typename T > struct apply\r
673     {\r
674         typedef vector43<\r
675               typename Vector::item0, typename Vector::item1\r
676             , typename Vector::item2, typename Vector::item3\r
677             , typename Vector::item4, typename Vector::item5\r
678             , typename Vector::item6, typename Vector::item7\r
679             , typename Vector::item8, typename Vector::item9\r
680             , typename Vector::item10, typename Vector::item11\r
681             , typename Vector::item12, typename Vector::item13\r
682             , typename Vector::item14, typename Vector::item15\r
683             , typename Vector::item16, typename Vector::item17\r
684             , typename Vector::item18, typename Vector::item19\r
685             , typename Vector::item20, typename Vector::item21\r
686             , typename Vector::item22, typename Vector::item23\r
687             , typename Vector::item24, typename Vector::item25\r
688             , typename Vector::item26, typename Vector::item27\r
689             , typename Vector::item28, typename Vector::item29\r
690             , typename Vector::item30, typename Vector::item31\r
691             , typename Vector::item32, typename Vector::item33\r
692             , typename Vector::item34, typename Vector::item35\r
693             , typename Vector::item36, typename Vector::item37\r
694             , typename Vector::item38, typename Vector::item39\r
695             , typename Vector::item40, typename Vector::item41\r
696               ,\r
697               T\r
698             > type;\r
699     };\r
700 };\r
701 \r
702 template<>\r
703 struct pop_back_impl< aux::vector_tag<43> >\r
704 {\r
705     template< typename Vector > struct apply\r
706     {\r
707         typedef vector42<\r
708               typename Vector::item0, typename Vector::item1\r
709             , typename Vector::item2, typename Vector::item3\r
710             , typename Vector::item4, typename Vector::item5\r
711             , typename Vector::item6, typename Vector::item7\r
712             , typename Vector::item8, typename Vector::item9\r
713             , typename Vector::item10, typename Vector::item11\r
714             , typename Vector::item12, typename Vector::item13\r
715             , typename Vector::item14, typename Vector::item15\r
716             , typename Vector::item16, typename Vector::item17\r
717             , typename Vector::item18, typename Vector::item19\r
718             , typename Vector::item20, typename Vector::item21\r
719             , typename Vector::item22, typename Vector::item23\r
720             , typename Vector::item24, typename Vector::item25\r
721             , typename Vector::item26, typename Vector::item27\r
722             , typename Vector::item28, typename Vector::item29\r
723             , typename Vector::item30, typename Vector::item31\r
724             , typename Vector::item32, typename Vector::item33\r
725             , typename Vector::item34, typename Vector::item35\r
726             , typename Vector::item36, typename Vector::item37\r
727             , typename Vector::item38, typename Vector::item39\r
728             , typename Vector::item40, typename Vector::item41\r
729             > type;\r
730     };\r
731 };\r
732 \r
733 namespace aux {\r
734 template<> struct v_at_impl<43>\r
735 {\r
736     template< typename V_ > struct result_\r
737     {\r
738         typedef typename V_::item43 type;\r
739     };\r
740 };\r
741 \r
742 }\r
743 \r
744 template<>\r
745 struct at_impl< aux::vector_tag<43> >\r
746 {\r
747     template< typename V_, typename N > struct apply\r
748     {\r
749         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
750             ::template result_<V_>::type type;\r
751     };\r
752 };\r
753 \r
754 template<>\r
755 struct front_impl< aux::vector_tag<43> >\r
756 {\r
757     template< typename Vector > struct apply\r
758     {\r
759         typedef typename Vector::item0 type;\r
760     };\r
761 };\r
762 \r
763 template<>\r
764 struct back_impl< aux::vector_tag<43> >\r
765 {\r
766     template< typename Vector > struct apply\r
767     {\r
768         typedef typename Vector::back type;\r
769     };\r
770 };\r
771 \r
772 template<>\r
773 struct empty_impl< aux::vector_tag<43> >\r
774 {\r
775     template< typename Vector > struct apply\r
776         : false_\r
777     {\r
778     };\r
779 };\r
780 \r
781 template<>\r
782 struct size_impl< aux::vector_tag<43> >\r
783 {\r
784     template< typename Vector > struct apply\r
785         : long_<43>\r
786     {\r
787     };\r
788 };\r
789 \r
790 template<>\r
791 struct O1_size_impl< aux::vector_tag<43> >\r
792     : size_impl< aux::vector_tag<43> >\r
793 {\r
794 };\r
795 \r
796 template<>\r
797 struct clear_impl< aux::vector_tag<43> >\r
798 {\r
799     template< typename Vector > struct apply\r
800     {\r
801         typedef vector0<> type;\r
802     };\r
803 };\r
804 \r
805 template<\r
806       typename T0, typename T1, typename T2, typename T3, typename T4\r
807     , typename T5, typename T6, typename T7, typename T8, typename T9\r
808     , typename T10, typename T11, typename T12, typename T13, typename T14\r
809     , typename T15, typename T16, typename T17, typename T18, typename T19\r
810     , typename T20, typename T21, typename T22, typename T23, typename T24\r
811     , typename T25, typename T26, typename T27, typename T28, typename T29\r
812     , typename T30, typename T31, typename T32, typename T33, typename T34\r
813     , typename T35, typename T36, typename T37, typename T38, typename T39\r
814     , typename T40, typename T41, typename T42, typename T43\r
815     >\r
816 struct vector44\r
817 {\r
818     typedef aux::vector_tag<44> tag;\r
819     typedef vector44 type;\r
820     typedef T0 item0;\r
821     typedef T1 item1;\r
822     typedef T2 item2;\r
823     typedef T3 item3;\r
824     typedef T4 item4;\r
825     typedef T5 item5;\r
826     typedef T6 item6;\r
827     typedef T7 item7;\r
828     typedef T8 item8;\r
829     typedef T9 item9;\r
830     typedef T10 item10;\r
831     typedef T11 item11;\r
832     typedef T12 item12;\r
833     typedef T13 item13;\r
834     typedef T14 item14;\r
835     typedef T15 item15;\r
836     typedef T16 item16;\r
837     typedef T17 item17;\r
838     typedef T18 item18;\r
839     typedef T19 item19;\r
840     typedef T20 item20;\r
841     typedef T21 item21;\r
842     typedef T22 item22;\r
843     typedef T23 item23;\r
844     typedef T24 item24;\r
845     typedef T25 item25;\r
846     typedef T26 item26;\r
847     typedef T27 item27;\r
848     typedef T28 item28;\r
849     typedef T29 item29;\r
850     typedef T30 item30;\r
851     typedef T31 item31;\r
852     typedef T32 item32;\r
853     typedef T33 item33;\r
854     typedef T34 item34;\r
855     typedef T35 item35;\r
856     typedef T36 item36;\r
857     typedef T37 item37;\r
858     typedef T38 item38;\r
859     typedef T39 item39;\r
860     typedef T40 item40;\r
861     typedef T41 item41;\r
862     typedef T42 item42;\r
863     typedef T43 item43;\r
864     \r
865 \r
866     typedef void_ item44;\r
867     typedef T43 back;\r
868     typedef v_iter< type,0 > begin;\r
869     typedef v_iter< type,44 > end;\r
870 };\r
871 \r
872 template<>\r
873 struct push_front_impl< aux::vector_tag<43> >\r
874 {\r
875     template< typename Vector, typename T > struct apply\r
876     {\r
877         typedef vector44<\r
878               T\r
879               ,\r
880               typename Vector::item0, typename Vector::item1\r
881             , typename Vector::item2, typename Vector::item3\r
882             , typename Vector::item4, typename Vector::item5\r
883             , typename Vector::item6, typename Vector::item7\r
884             , typename Vector::item8, typename Vector::item9\r
885             , typename Vector::item10, typename Vector::item11\r
886             , typename Vector::item12, typename Vector::item13\r
887             , typename Vector::item14, typename Vector::item15\r
888             , typename Vector::item16, typename Vector::item17\r
889             , typename Vector::item18, typename Vector::item19\r
890             , typename Vector::item20, typename Vector::item21\r
891             , typename Vector::item22, typename Vector::item23\r
892             , typename Vector::item24, typename Vector::item25\r
893             , typename Vector::item26, typename Vector::item27\r
894             , typename Vector::item28, typename Vector::item29\r
895             , typename Vector::item30, typename Vector::item31\r
896             , typename Vector::item32, typename Vector::item33\r
897             , typename Vector::item34, typename Vector::item35\r
898             , typename Vector::item36, typename Vector::item37\r
899             , typename Vector::item38, typename Vector::item39\r
900             , typename Vector::item40, typename Vector::item41\r
901             , typename Vector::item42\r
902             > type;\r
903     };\r
904 };\r
905 \r
906 template<>\r
907 struct pop_front_impl< aux::vector_tag<44> >\r
908 {\r
909     template< typename Vector > struct apply\r
910     {\r
911         typedef vector43<\r
912               typename Vector::item1, typename Vector::item2\r
913             , typename Vector::item3, typename Vector::item4\r
914             , typename Vector::item5, typename Vector::item6\r
915             , typename Vector::item7, typename Vector::item8\r
916             , typename Vector::item9, typename Vector::item10\r
917             , typename Vector::item11, typename Vector::item12\r
918             , typename Vector::item13, typename Vector::item14\r
919             , typename Vector::item15, typename Vector::item16\r
920             , typename Vector::item17, typename Vector::item18\r
921             , typename Vector::item19, typename Vector::item20\r
922             , typename Vector::item21, typename Vector::item22\r
923             , typename Vector::item23, typename Vector::item24\r
924             , typename Vector::item25, typename Vector::item26\r
925             , typename Vector::item27, typename Vector::item28\r
926             , typename Vector::item29, typename Vector::item30\r
927             , typename Vector::item31, typename Vector::item32\r
928             , typename Vector::item33, typename Vector::item34\r
929             , typename Vector::item35, typename Vector::item36\r
930             , typename Vector::item37, typename Vector::item38\r
931             , typename Vector::item39, typename Vector::item40\r
932             , typename Vector::item41, typename Vector::item42\r
933             , typename Vector::item43\r
934             > type;\r
935     };\r
936 };\r
937 \r
938 template<>\r
939 struct push_back_impl< aux::vector_tag<43> >\r
940 {\r
941     template< typename Vector, typename T > struct apply\r
942     {\r
943         typedef vector44<\r
944               typename Vector::item0, typename Vector::item1\r
945             , typename Vector::item2, typename Vector::item3\r
946             , typename Vector::item4, typename Vector::item5\r
947             , typename Vector::item6, typename Vector::item7\r
948             , typename Vector::item8, typename Vector::item9\r
949             , typename Vector::item10, typename Vector::item11\r
950             , typename Vector::item12, typename Vector::item13\r
951             , typename Vector::item14, typename Vector::item15\r
952             , typename Vector::item16, typename Vector::item17\r
953             , typename Vector::item18, typename Vector::item19\r
954             , typename Vector::item20, typename Vector::item21\r
955             , typename Vector::item22, typename Vector::item23\r
956             , typename Vector::item24, typename Vector::item25\r
957             , typename Vector::item26, typename Vector::item27\r
958             , typename Vector::item28, typename Vector::item29\r
959             , typename Vector::item30, typename Vector::item31\r
960             , typename Vector::item32, typename Vector::item33\r
961             , typename Vector::item34, typename Vector::item35\r
962             , typename Vector::item36, typename Vector::item37\r
963             , typename Vector::item38, typename Vector::item39\r
964             , typename Vector::item40, typename Vector::item41\r
965             , typename Vector::item42\r
966               ,\r
967               T\r
968             > type;\r
969     };\r
970 };\r
971 \r
972 template<>\r
973 struct pop_back_impl< aux::vector_tag<44> >\r
974 {\r
975     template< typename Vector > struct apply\r
976     {\r
977         typedef vector43<\r
978               typename Vector::item0, typename Vector::item1\r
979             , typename Vector::item2, typename Vector::item3\r
980             , typename Vector::item4, typename Vector::item5\r
981             , typename Vector::item6, typename Vector::item7\r
982             , typename Vector::item8, typename Vector::item9\r
983             , typename Vector::item10, typename Vector::item11\r
984             , typename Vector::item12, typename Vector::item13\r
985             , typename Vector::item14, typename Vector::item15\r
986             , typename Vector::item16, typename Vector::item17\r
987             , typename Vector::item18, typename Vector::item19\r
988             , typename Vector::item20, typename Vector::item21\r
989             , typename Vector::item22, typename Vector::item23\r
990             , typename Vector::item24, typename Vector::item25\r
991             , typename Vector::item26, typename Vector::item27\r
992             , typename Vector::item28, typename Vector::item29\r
993             , typename Vector::item30, typename Vector::item31\r
994             , typename Vector::item32, typename Vector::item33\r
995             , typename Vector::item34, typename Vector::item35\r
996             , typename Vector::item36, typename Vector::item37\r
997             , typename Vector::item38, typename Vector::item39\r
998             , typename Vector::item40, typename Vector::item41\r
999             , typename Vector::item42\r
1000             > type;\r
1001     };\r
1002 };\r
1003 \r
1004 namespace aux {\r
1005 template<> struct v_at_impl<44>\r
1006 {\r
1007     template< typename V_ > struct result_\r
1008     {\r
1009         typedef typename V_::item44 type;\r
1010     };\r
1011 };\r
1012 \r
1013 }\r
1014 \r
1015 template<>\r
1016 struct at_impl< aux::vector_tag<44> >\r
1017 {\r
1018     template< typename V_, typename N > struct apply\r
1019     {\r
1020         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
1021             ::template result_<V_>::type type;\r
1022     };\r
1023 };\r
1024 \r
1025 template<>\r
1026 struct front_impl< aux::vector_tag<44> >\r
1027 {\r
1028     template< typename Vector > struct apply\r
1029     {\r
1030         typedef typename Vector::item0 type;\r
1031     };\r
1032 };\r
1033 \r
1034 template<>\r
1035 struct back_impl< aux::vector_tag<44> >\r
1036 {\r
1037     template< typename Vector > struct apply\r
1038     {\r
1039         typedef typename Vector::back type;\r
1040     };\r
1041 };\r
1042 \r
1043 template<>\r
1044 struct empty_impl< aux::vector_tag<44> >\r
1045 {\r
1046     template< typename Vector > struct apply\r
1047         : false_\r
1048     {\r
1049     };\r
1050 };\r
1051 \r
1052 template<>\r
1053 struct size_impl< aux::vector_tag<44> >\r
1054 {\r
1055     template< typename Vector > struct apply\r
1056         : long_<44>\r
1057     {\r
1058     };\r
1059 };\r
1060 \r
1061 template<>\r
1062 struct O1_size_impl< aux::vector_tag<44> >\r
1063     : size_impl< aux::vector_tag<44> >\r
1064 {\r
1065 };\r
1066 \r
1067 template<>\r
1068 struct clear_impl< aux::vector_tag<44> >\r
1069 {\r
1070     template< typename Vector > struct apply\r
1071     {\r
1072         typedef vector0<> type;\r
1073     };\r
1074 };\r
1075 \r
1076 template<\r
1077       typename T0, typename T1, typename T2, typename T3, typename T4\r
1078     , typename T5, typename T6, typename T7, typename T8, typename T9\r
1079     , typename T10, typename T11, typename T12, typename T13, typename T14\r
1080     , typename T15, typename T16, typename T17, typename T18, typename T19\r
1081     , typename T20, typename T21, typename T22, typename T23, typename T24\r
1082     , typename T25, typename T26, typename T27, typename T28, typename T29\r
1083     , typename T30, typename T31, typename T32, typename T33, typename T34\r
1084     , typename T35, typename T36, typename T37, typename T38, typename T39\r
1085     , typename T40, typename T41, typename T42, typename T43, typename T44\r
1086     >\r
1087 struct vector45\r
1088 {\r
1089     typedef aux::vector_tag<45> tag;\r
1090     typedef vector45 type;\r
1091     typedef T0 item0;\r
1092     typedef T1 item1;\r
1093     typedef T2 item2;\r
1094     typedef T3 item3;\r
1095     typedef T4 item4;\r
1096     typedef T5 item5;\r
1097     typedef T6 item6;\r
1098     typedef T7 item7;\r
1099     typedef T8 item8;\r
1100     typedef T9 item9;\r
1101     typedef T10 item10;\r
1102     typedef T11 item11;\r
1103     typedef T12 item12;\r
1104     typedef T13 item13;\r
1105     typedef T14 item14;\r
1106     typedef T15 item15;\r
1107     typedef T16 item16;\r
1108     typedef T17 item17;\r
1109     typedef T18 item18;\r
1110     typedef T19 item19;\r
1111     typedef T20 item20;\r
1112     typedef T21 item21;\r
1113     typedef T22 item22;\r
1114     typedef T23 item23;\r
1115     typedef T24 item24;\r
1116     typedef T25 item25;\r
1117     typedef T26 item26;\r
1118     typedef T27 item27;\r
1119     typedef T28 item28;\r
1120     typedef T29 item29;\r
1121     typedef T30 item30;\r
1122     typedef T31 item31;\r
1123     typedef T32 item32;\r
1124     typedef T33 item33;\r
1125     typedef T34 item34;\r
1126     typedef T35 item35;\r
1127     typedef T36 item36;\r
1128     typedef T37 item37;\r
1129     typedef T38 item38;\r
1130     typedef T39 item39;\r
1131     typedef T40 item40;\r
1132     typedef T41 item41;\r
1133     typedef T42 item42;\r
1134     typedef T43 item43;\r
1135     typedef T44 item44;\r
1136     \r
1137 \r
1138     typedef void_ item45;\r
1139     typedef T44 back;\r
1140     typedef v_iter< type,0 > begin;\r
1141     typedef v_iter< type,45 > end;\r
1142 };\r
1143 \r
1144 template<>\r
1145 struct push_front_impl< aux::vector_tag<44> >\r
1146 {\r
1147     template< typename Vector, typename T > struct apply\r
1148     {\r
1149         typedef vector45<\r
1150               T\r
1151               ,\r
1152               typename Vector::item0, typename Vector::item1\r
1153             , typename Vector::item2, typename Vector::item3\r
1154             , typename Vector::item4, typename Vector::item5\r
1155             , typename Vector::item6, typename Vector::item7\r
1156             , typename Vector::item8, typename Vector::item9\r
1157             , typename Vector::item10, typename Vector::item11\r
1158             , typename Vector::item12, typename Vector::item13\r
1159             , typename Vector::item14, typename Vector::item15\r
1160             , typename Vector::item16, typename Vector::item17\r
1161             , typename Vector::item18, typename Vector::item19\r
1162             , typename Vector::item20, typename Vector::item21\r
1163             , typename Vector::item22, typename Vector::item23\r
1164             , typename Vector::item24, typename Vector::item25\r
1165             , typename Vector::item26, typename Vector::item27\r
1166             , typename Vector::item28, typename Vector::item29\r
1167             , typename Vector::item30, typename Vector::item31\r
1168             , typename Vector::item32, typename Vector::item33\r
1169             , typename Vector::item34, typename Vector::item35\r
1170             , typename Vector::item36, typename Vector::item37\r
1171             , typename Vector::item38, typename Vector::item39\r
1172             , typename Vector::item40, typename Vector::item41\r
1173             , typename Vector::item42, typename Vector::item43\r
1174             > type;\r
1175     };\r
1176 };\r
1177 \r
1178 template<>\r
1179 struct pop_front_impl< aux::vector_tag<45> >\r
1180 {\r
1181     template< typename Vector > struct apply\r
1182     {\r
1183         typedef vector44<\r
1184               typename Vector::item1, typename Vector::item2\r
1185             , typename Vector::item3, typename Vector::item4\r
1186             , typename Vector::item5, typename Vector::item6\r
1187             , typename Vector::item7, typename Vector::item8\r
1188             , typename Vector::item9, typename Vector::item10\r
1189             , typename Vector::item11, typename Vector::item12\r
1190             , typename Vector::item13, typename Vector::item14\r
1191             , typename Vector::item15, typename Vector::item16\r
1192             , typename Vector::item17, typename Vector::item18\r
1193             , typename Vector::item19, typename Vector::item20\r
1194             , typename Vector::item21, typename Vector::item22\r
1195             , typename Vector::item23, typename Vector::item24\r
1196             , typename Vector::item25, typename Vector::item26\r
1197             , typename Vector::item27, typename Vector::item28\r
1198             , typename Vector::item29, typename Vector::item30\r
1199             , typename Vector::item31, typename Vector::item32\r
1200             , typename Vector::item33, typename Vector::item34\r
1201             , typename Vector::item35, typename Vector::item36\r
1202             , typename Vector::item37, typename Vector::item38\r
1203             , typename Vector::item39, typename Vector::item40\r
1204             , typename Vector::item41, typename Vector::item42\r
1205             , typename Vector::item43, typename Vector::item44\r
1206             > type;\r
1207     };\r
1208 };\r
1209 \r
1210 template<>\r
1211 struct push_back_impl< aux::vector_tag<44> >\r
1212 {\r
1213     template< typename Vector, typename T > struct apply\r
1214     {\r
1215         typedef vector45<\r
1216               typename Vector::item0, typename Vector::item1\r
1217             , typename Vector::item2, typename Vector::item3\r
1218             , typename Vector::item4, typename Vector::item5\r
1219             , typename Vector::item6, typename Vector::item7\r
1220             , typename Vector::item8, typename Vector::item9\r
1221             , typename Vector::item10, typename Vector::item11\r
1222             , typename Vector::item12, typename Vector::item13\r
1223             , typename Vector::item14, typename Vector::item15\r
1224             , typename Vector::item16, typename Vector::item17\r
1225             , typename Vector::item18, typename Vector::item19\r
1226             , typename Vector::item20, typename Vector::item21\r
1227             , typename Vector::item22, typename Vector::item23\r
1228             , typename Vector::item24, typename Vector::item25\r
1229             , typename Vector::item26, typename Vector::item27\r
1230             , typename Vector::item28, typename Vector::item29\r
1231             , typename Vector::item30, typename Vector::item31\r
1232             , typename Vector::item32, typename Vector::item33\r
1233             , typename Vector::item34, typename Vector::item35\r
1234             , typename Vector::item36, typename Vector::item37\r
1235             , typename Vector::item38, typename Vector::item39\r
1236             , typename Vector::item40, typename Vector::item41\r
1237             , typename Vector::item42, typename Vector::item43\r
1238               ,\r
1239               T\r
1240             > type;\r
1241     };\r
1242 };\r
1243 \r
1244 template<>\r
1245 struct pop_back_impl< aux::vector_tag<45> >\r
1246 {\r
1247     template< typename Vector > struct apply\r
1248     {\r
1249         typedef vector44<\r
1250               typename Vector::item0, typename Vector::item1\r
1251             , typename Vector::item2, typename Vector::item3\r
1252             , typename Vector::item4, typename Vector::item5\r
1253             , typename Vector::item6, typename Vector::item7\r
1254             , typename Vector::item8, typename Vector::item9\r
1255             , typename Vector::item10, typename Vector::item11\r
1256             , typename Vector::item12, typename Vector::item13\r
1257             , typename Vector::item14, typename Vector::item15\r
1258             , typename Vector::item16, typename Vector::item17\r
1259             , typename Vector::item18, typename Vector::item19\r
1260             , typename Vector::item20, typename Vector::item21\r
1261             , typename Vector::item22, typename Vector::item23\r
1262             , typename Vector::item24, typename Vector::item25\r
1263             , typename Vector::item26, typename Vector::item27\r
1264             , typename Vector::item28, typename Vector::item29\r
1265             , typename Vector::item30, typename Vector::item31\r
1266             , typename Vector::item32, typename Vector::item33\r
1267             , typename Vector::item34, typename Vector::item35\r
1268             , typename Vector::item36, typename Vector::item37\r
1269             , typename Vector::item38, typename Vector::item39\r
1270             , typename Vector::item40, typename Vector::item41\r
1271             , typename Vector::item42, typename Vector::item43\r
1272             > type;\r
1273     };\r
1274 };\r
1275 \r
1276 namespace aux {\r
1277 template<> struct v_at_impl<45>\r
1278 {\r
1279     template< typename V_ > struct result_\r
1280     {\r
1281         typedef typename V_::item45 type;\r
1282     };\r
1283 };\r
1284 \r
1285 }\r
1286 \r
1287 template<>\r
1288 struct at_impl< aux::vector_tag<45> >\r
1289 {\r
1290     template< typename V_, typename N > struct apply\r
1291     {\r
1292         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
1293             ::template result_<V_>::type type;\r
1294     };\r
1295 };\r
1296 \r
1297 template<>\r
1298 struct front_impl< aux::vector_tag<45> >\r
1299 {\r
1300     template< typename Vector > struct apply\r
1301     {\r
1302         typedef typename Vector::item0 type;\r
1303     };\r
1304 };\r
1305 \r
1306 template<>\r
1307 struct back_impl< aux::vector_tag<45> >\r
1308 {\r
1309     template< typename Vector > struct apply\r
1310     {\r
1311         typedef typename Vector::back type;\r
1312     };\r
1313 };\r
1314 \r
1315 template<>\r
1316 struct empty_impl< aux::vector_tag<45> >\r
1317 {\r
1318     template< typename Vector > struct apply\r
1319         : false_\r
1320     {\r
1321     };\r
1322 };\r
1323 \r
1324 template<>\r
1325 struct size_impl< aux::vector_tag<45> >\r
1326 {\r
1327     template< typename Vector > struct apply\r
1328         : long_<45>\r
1329     {\r
1330     };\r
1331 };\r
1332 \r
1333 template<>\r
1334 struct O1_size_impl< aux::vector_tag<45> >\r
1335     : size_impl< aux::vector_tag<45> >\r
1336 {\r
1337 };\r
1338 \r
1339 template<>\r
1340 struct clear_impl< aux::vector_tag<45> >\r
1341 {\r
1342     template< typename Vector > struct apply\r
1343     {\r
1344         typedef vector0<> type;\r
1345     };\r
1346 };\r
1347 \r
1348 template<\r
1349       typename T0, typename T1, typename T2, typename T3, typename T4\r
1350     , typename T5, typename T6, typename T7, typename T8, typename T9\r
1351     , typename T10, typename T11, typename T12, typename T13, typename T14\r
1352     , typename T15, typename T16, typename T17, typename T18, typename T19\r
1353     , typename T20, typename T21, typename T22, typename T23, typename T24\r
1354     , typename T25, typename T26, typename T27, typename T28, typename T29\r
1355     , typename T30, typename T31, typename T32, typename T33, typename T34\r
1356     , typename T35, typename T36, typename T37, typename T38, typename T39\r
1357     , typename T40, typename T41, typename T42, typename T43, typename T44\r
1358     , typename T45\r
1359     >\r
1360 struct vector46\r
1361 {\r
1362     typedef aux::vector_tag<46> tag;\r
1363     typedef vector46 type;\r
1364     typedef T0 item0;\r
1365     typedef T1 item1;\r
1366     typedef T2 item2;\r
1367     typedef T3 item3;\r
1368     typedef T4 item4;\r
1369     typedef T5 item5;\r
1370     typedef T6 item6;\r
1371     typedef T7 item7;\r
1372     typedef T8 item8;\r
1373     typedef T9 item9;\r
1374     typedef T10 item10;\r
1375     typedef T11 item11;\r
1376     typedef T12 item12;\r
1377     typedef T13 item13;\r
1378     typedef T14 item14;\r
1379     typedef T15 item15;\r
1380     typedef T16 item16;\r
1381     typedef T17 item17;\r
1382     typedef T18 item18;\r
1383     typedef T19 item19;\r
1384     typedef T20 item20;\r
1385     typedef T21 item21;\r
1386     typedef T22 item22;\r
1387     typedef T23 item23;\r
1388     typedef T24 item24;\r
1389     typedef T25 item25;\r
1390     typedef T26 item26;\r
1391     typedef T27 item27;\r
1392     typedef T28 item28;\r
1393     typedef T29 item29;\r
1394     typedef T30 item30;\r
1395     typedef T31 item31;\r
1396     typedef T32 item32;\r
1397     typedef T33 item33;\r
1398     typedef T34 item34;\r
1399     typedef T35 item35;\r
1400     typedef T36 item36;\r
1401     typedef T37 item37;\r
1402     typedef T38 item38;\r
1403     typedef T39 item39;\r
1404     typedef T40 item40;\r
1405     typedef T41 item41;\r
1406     typedef T42 item42;\r
1407     typedef T43 item43;\r
1408     typedef T44 item44;\r
1409     typedef T45 item45;\r
1410     \r
1411 \r
1412     typedef void_ item46;\r
1413     typedef T45 back;\r
1414     typedef v_iter< type,0 > begin;\r
1415     typedef v_iter< type,46 > end;\r
1416 };\r
1417 \r
1418 template<>\r
1419 struct push_front_impl< aux::vector_tag<45> >\r
1420 {\r
1421     template< typename Vector, typename T > struct apply\r
1422     {\r
1423         typedef vector46<\r
1424               T\r
1425               ,\r
1426               typename Vector::item0, typename Vector::item1\r
1427             , typename Vector::item2, typename Vector::item3\r
1428             , typename Vector::item4, typename Vector::item5\r
1429             , typename Vector::item6, typename Vector::item7\r
1430             , typename Vector::item8, typename Vector::item9\r
1431             , typename Vector::item10, typename Vector::item11\r
1432             , typename Vector::item12, typename Vector::item13\r
1433             , typename Vector::item14, typename Vector::item15\r
1434             , typename Vector::item16, typename Vector::item17\r
1435             , typename Vector::item18, typename Vector::item19\r
1436             , typename Vector::item20, typename Vector::item21\r
1437             , typename Vector::item22, typename Vector::item23\r
1438             , typename Vector::item24, typename Vector::item25\r
1439             , typename Vector::item26, typename Vector::item27\r
1440             , typename Vector::item28, typename Vector::item29\r
1441             , typename Vector::item30, typename Vector::item31\r
1442             , typename Vector::item32, typename Vector::item33\r
1443             , typename Vector::item34, typename Vector::item35\r
1444             , typename Vector::item36, typename Vector::item37\r
1445             , typename Vector::item38, typename Vector::item39\r
1446             , typename Vector::item40, typename Vector::item41\r
1447             , typename Vector::item42, typename Vector::item43\r
1448             , typename Vector::item44\r
1449             > type;\r
1450     };\r
1451 };\r
1452 \r
1453 template<>\r
1454 struct pop_front_impl< aux::vector_tag<46> >\r
1455 {\r
1456     template< typename Vector > struct apply\r
1457     {\r
1458         typedef vector45<\r
1459               typename Vector::item1, typename Vector::item2\r
1460             , typename Vector::item3, typename Vector::item4\r
1461             , typename Vector::item5, typename Vector::item6\r
1462             , typename Vector::item7, typename Vector::item8\r
1463             , typename Vector::item9, typename Vector::item10\r
1464             , typename Vector::item11, typename Vector::item12\r
1465             , typename Vector::item13, typename Vector::item14\r
1466             , typename Vector::item15, typename Vector::item16\r
1467             , typename Vector::item17, typename Vector::item18\r
1468             , typename Vector::item19, typename Vector::item20\r
1469             , typename Vector::item21, typename Vector::item22\r
1470             , typename Vector::item23, typename Vector::item24\r
1471             , typename Vector::item25, typename Vector::item26\r
1472             , typename Vector::item27, typename Vector::item28\r
1473             , typename Vector::item29, typename Vector::item30\r
1474             , typename Vector::item31, typename Vector::item32\r
1475             , typename Vector::item33, typename Vector::item34\r
1476             , typename Vector::item35, typename Vector::item36\r
1477             , typename Vector::item37, typename Vector::item38\r
1478             , typename Vector::item39, typename Vector::item40\r
1479             , typename Vector::item41, typename Vector::item42\r
1480             , typename Vector::item43, typename Vector::item44\r
1481             , typename Vector::item45\r
1482             > type;\r
1483     };\r
1484 };\r
1485 \r
1486 template<>\r
1487 struct push_back_impl< aux::vector_tag<45> >\r
1488 {\r
1489     template< typename Vector, typename T > struct apply\r
1490     {\r
1491         typedef vector46<\r
1492               typename Vector::item0, typename Vector::item1\r
1493             , typename Vector::item2, typename Vector::item3\r
1494             , typename Vector::item4, typename Vector::item5\r
1495             , typename Vector::item6, typename Vector::item7\r
1496             , typename Vector::item8, typename Vector::item9\r
1497             , typename Vector::item10, typename Vector::item11\r
1498             , typename Vector::item12, typename Vector::item13\r
1499             , typename Vector::item14, typename Vector::item15\r
1500             , typename Vector::item16, typename Vector::item17\r
1501             , typename Vector::item18, typename Vector::item19\r
1502             , typename Vector::item20, typename Vector::item21\r
1503             , typename Vector::item22, typename Vector::item23\r
1504             , typename Vector::item24, typename Vector::item25\r
1505             , typename Vector::item26, typename Vector::item27\r
1506             , typename Vector::item28, typename Vector::item29\r
1507             , typename Vector::item30, typename Vector::item31\r
1508             , typename Vector::item32, typename Vector::item33\r
1509             , typename Vector::item34, typename Vector::item35\r
1510             , typename Vector::item36, typename Vector::item37\r
1511             , typename Vector::item38, typename Vector::item39\r
1512             , typename Vector::item40, typename Vector::item41\r
1513             , typename Vector::item42, typename Vector::item43\r
1514             , typename Vector::item44\r
1515               ,\r
1516               T\r
1517             > type;\r
1518     };\r
1519 };\r
1520 \r
1521 template<>\r
1522 struct pop_back_impl< aux::vector_tag<46> >\r
1523 {\r
1524     template< typename Vector > struct apply\r
1525     {\r
1526         typedef vector45<\r
1527               typename Vector::item0, typename Vector::item1\r
1528             , typename Vector::item2, typename Vector::item3\r
1529             , typename Vector::item4, typename Vector::item5\r
1530             , typename Vector::item6, typename Vector::item7\r
1531             , typename Vector::item8, typename Vector::item9\r
1532             , typename Vector::item10, typename Vector::item11\r
1533             , typename Vector::item12, typename Vector::item13\r
1534             , typename Vector::item14, typename Vector::item15\r
1535             , typename Vector::item16, typename Vector::item17\r
1536             , typename Vector::item18, typename Vector::item19\r
1537             , typename Vector::item20, typename Vector::item21\r
1538             , typename Vector::item22, typename Vector::item23\r
1539             , typename Vector::item24, typename Vector::item25\r
1540             , typename Vector::item26, typename Vector::item27\r
1541             , typename Vector::item28, typename Vector::item29\r
1542             , typename Vector::item30, typename Vector::item31\r
1543             , typename Vector::item32, typename Vector::item33\r
1544             , typename Vector::item34, typename Vector::item35\r
1545             , typename Vector::item36, typename Vector::item37\r
1546             , typename Vector::item38, typename Vector::item39\r
1547             , typename Vector::item40, typename Vector::item41\r
1548             , typename Vector::item42, typename Vector::item43\r
1549             , typename Vector::item44\r
1550             > type;\r
1551     };\r
1552 };\r
1553 \r
1554 namespace aux {\r
1555 template<> struct v_at_impl<46>\r
1556 {\r
1557     template< typename V_ > struct result_\r
1558     {\r
1559         typedef typename V_::item46 type;\r
1560     };\r
1561 };\r
1562 \r
1563 }\r
1564 \r
1565 template<>\r
1566 struct at_impl< aux::vector_tag<46> >\r
1567 {\r
1568     template< typename V_, typename N > struct apply\r
1569     {\r
1570         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
1571             ::template result_<V_>::type type;\r
1572     };\r
1573 };\r
1574 \r
1575 template<>\r
1576 struct front_impl< aux::vector_tag<46> >\r
1577 {\r
1578     template< typename Vector > struct apply\r
1579     {\r
1580         typedef typename Vector::item0 type;\r
1581     };\r
1582 };\r
1583 \r
1584 template<>\r
1585 struct back_impl< aux::vector_tag<46> >\r
1586 {\r
1587     template< typename Vector > struct apply\r
1588     {\r
1589         typedef typename Vector::back type;\r
1590     };\r
1591 };\r
1592 \r
1593 template<>\r
1594 struct empty_impl< aux::vector_tag<46> >\r
1595 {\r
1596     template< typename Vector > struct apply\r
1597         : false_\r
1598     {\r
1599     };\r
1600 };\r
1601 \r
1602 template<>\r
1603 struct size_impl< aux::vector_tag<46> >\r
1604 {\r
1605     template< typename Vector > struct apply\r
1606         : long_<46>\r
1607     {\r
1608     };\r
1609 };\r
1610 \r
1611 template<>\r
1612 struct O1_size_impl< aux::vector_tag<46> >\r
1613     : size_impl< aux::vector_tag<46> >\r
1614 {\r
1615 };\r
1616 \r
1617 template<>\r
1618 struct clear_impl< aux::vector_tag<46> >\r
1619 {\r
1620     template< typename Vector > struct apply\r
1621     {\r
1622         typedef vector0<> type;\r
1623     };\r
1624 };\r
1625 \r
1626 template<\r
1627       typename T0, typename T1, typename T2, typename T3, typename T4\r
1628     , typename T5, typename T6, typename T7, typename T8, typename T9\r
1629     , typename T10, typename T11, typename T12, typename T13, typename T14\r
1630     , typename T15, typename T16, typename T17, typename T18, typename T19\r
1631     , typename T20, typename T21, typename T22, typename T23, typename T24\r
1632     , typename T25, typename T26, typename T27, typename T28, typename T29\r
1633     , typename T30, typename T31, typename T32, typename T33, typename T34\r
1634     , typename T35, typename T36, typename T37, typename T38, typename T39\r
1635     , typename T40, typename T41, typename T42, typename T43, typename T44\r
1636     , typename T45, typename T46\r
1637     >\r
1638 struct vector47\r
1639 {\r
1640     typedef aux::vector_tag<47> tag;\r
1641     typedef vector47 type;\r
1642     typedef T0 item0;\r
1643     typedef T1 item1;\r
1644     typedef T2 item2;\r
1645     typedef T3 item3;\r
1646     typedef T4 item4;\r
1647     typedef T5 item5;\r
1648     typedef T6 item6;\r
1649     typedef T7 item7;\r
1650     typedef T8 item8;\r
1651     typedef T9 item9;\r
1652     typedef T10 item10;\r
1653     typedef T11 item11;\r
1654     typedef T12 item12;\r
1655     typedef T13 item13;\r
1656     typedef T14 item14;\r
1657     typedef T15 item15;\r
1658     typedef T16 item16;\r
1659     typedef T17 item17;\r
1660     typedef T18 item18;\r
1661     typedef T19 item19;\r
1662     typedef T20 item20;\r
1663     typedef T21 item21;\r
1664     typedef T22 item22;\r
1665     typedef T23 item23;\r
1666     typedef T24 item24;\r
1667     typedef T25 item25;\r
1668     typedef T26 item26;\r
1669     typedef T27 item27;\r
1670     typedef T28 item28;\r
1671     typedef T29 item29;\r
1672     typedef T30 item30;\r
1673     typedef T31 item31;\r
1674     typedef T32 item32;\r
1675     typedef T33 item33;\r
1676     typedef T34 item34;\r
1677     typedef T35 item35;\r
1678     typedef T36 item36;\r
1679     typedef T37 item37;\r
1680     typedef T38 item38;\r
1681     typedef T39 item39;\r
1682     typedef T40 item40;\r
1683     typedef T41 item41;\r
1684     typedef T42 item42;\r
1685     typedef T43 item43;\r
1686     typedef T44 item44;\r
1687     typedef T45 item45;\r
1688     typedef T46 item46;\r
1689     \r
1690 \r
1691     typedef void_ item47;\r
1692     typedef T46 back;\r
1693     typedef v_iter< type,0 > begin;\r
1694     typedef v_iter< type,47 > end;\r
1695 };\r
1696 \r
1697 template<>\r
1698 struct push_front_impl< aux::vector_tag<46> >\r
1699 {\r
1700     template< typename Vector, typename T > struct apply\r
1701     {\r
1702         typedef vector47<\r
1703               T\r
1704               ,\r
1705               typename Vector::item0, typename Vector::item1\r
1706             , typename Vector::item2, typename Vector::item3\r
1707             , typename Vector::item4, typename Vector::item5\r
1708             , typename Vector::item6, typename Vector::item7\r
1709             , typename Vector::item8, typename Vector::item9\r
1710             , typename Vector::item10, typename Vector::item11\r
1711             , typename Vector::item12, typename Vector::item13\r
1712             , typename Vector::item14, typename Vector::item15\r
1713             , typename Vector::item16, typename Vector::item17\r
1714             , typename Vector::item18, typename Vector::item19\r
1715             , typename Vector::item20, typename Vector::item21\r
1716             , typename Vector::item22, typename Vector::item23\r
1717             , typename Vector::item24, typename Vector::item25\r
1718             , typename Vector::item26, typename Vector::item27\r
1719             , typename Vector::item28, typename Vector::item29\r
1720             , typename Vector::item30, typename Vector::item31\r
1721             , typename Vector::item32, typename Vector::item33\r
1722             , typename Vector::item34, typename Vector::item35\r
1723             , typename Vector::item36, typename Vector::item37\r
1724             , typename Vector::item38, typename Vector::item39\r
1725             , typename Vector::item40, typename Vector::item41\r
1726             , typename Vector::item42, typename Vector::item43\r
1727             , typename Vector::item44, typename Vector::item45\r
1728             > type;\r
1729     };\r
1730 };\r
1731 \r
1732 template<>\r
1733 struct pop_front_impl< aux::vector_tag<47> >\r
1734 {\r
1735     template< typename Vector > struct apply\r
1736     {\r
1737         typedef vector46<\r
1738               typename Vector::item1, typename Vector::item2\r
1739             , typename Vector::item3, typename Vector::item4\r
1740             , typename Vector::item5, typename Vector::item6\r
1741             , typename Vector::item7, typename Vector::item8\r
1742             , typename Vector::item9, typename Vector::item10\r
1743             , typename Vector::item11, typename Vector::item12\r
1744             , typename Vector::item13, typename Vector::item14\r
1745             , typename Vector::item15, typename Vector::item16\r
1746             , typename Vector::item17, typename Vector::item18\r
1747             , typename Vector::item19, typename Vector::item20\r
1748             , typename Vector::item21, typename Vector::item22\r
1749             , typename Vector::item23, typename Vector::item24\r
1750             , typename Vector::item25, typename Vector::item26\r
1751             , typename Vector::item27, typename Vector::item28\r
1752             , typename Vector::item29, typename Vector::item30\r
1753             , typename Vector::item31, typename Vector::item32\r
1754             , typename Vector::item33, typename Vector::item34\r
1755             , typename Vector::item35, typename Vector::item36\r
1756             , typename Vector::item37, typename Vector::item38\r
1757             , typename Vector::item39, typename Vector::item40\r
1758             , typename Vector::item41, typename Vector::item42\r
1759             , typename Vector::item43, typename Vector::item44\r
1760             , typename Vector::item45, typename Vector::item46\r
1761             > type;\r
1762     };\r
1763 };\r
1764 \r
1765 template<>\r
1766 struct push_back_impl< aux::vector_tag<46> >\r
1767 {\r
1768     template< typename Vector, typename T > struct apply\r
1769     {\r
1770         typedef vector47<\r
1771               typename Vector::item0, typename Vector::item1\r
1772             , typename Vector::item2, typename Vector::item3\r
1773             , typename Vector::item4, typename Vector::item5\r
1774             , typename Vector::item6, typename Vector::item7\r
1775             , typename Vector::item8, typename Vector::item9\r
1776             , typename Vector::item10, typename Vector::item11\r
1777             , typename Vector::item12, typename Vector::item13\r
1778             , typename Vector::item14, typename Vector::item15\r
1779             , typename Vector::item16, typename Vector::item17\r
1780             , typename Vector::item18, typename Vector::item19\r
1781             , typename Vector::item20, typename Vector::item21\r
1782             , typename Vector::item22, typename Vector::item23\r
1783             , typename Vector::item24, typename Vector::item25\r
1784             , typename Vector::item26, typename Vector::item27\r
1785             , typename Vector::item28, typename Vector::item29\r
1786             , typename Vector::item30, typename Vector::item31\r
1787             , typename Vector::item32, typename Vector::item33\r
1788             , typename Vector::item34, typename Vector::item35\r
1789             , typename Vector::item36, typename Vector::item37\r
1790             , typename Vector::item38, typename Vector::item39\r
1791             , typename Vector::item40, typename Vector::item41\r
1792             , typename Vector::item42, typename Vector::item43\r
1793             , typename Vector::item44, typename Vector::item45\r
1794               ,\r
1795               T\r
1796             > type;\r
1797     };\r
1798 };\r
1799 \r
1800 template<>\r
1801 struct pop_back_impl< aux::vector_tag<47> >\r
1802 {\r
1803     template< typename Vector > struct apply\r
1804     {\r
1805         typedef vector46<\r
1806               typename Vector::item0, typename Vector::item1\r
1807             , typename Vector::item2, typename Vector::item3\r
1808             , typename Vector::item4, typename Vector::item5\r
1809             , typename Vector::item6, typename Vector::item7\r
1810             , typename Vector::item8, typename Vector::item9\r
1811             , typename Vector::item10, typename Vector::item11\r
1812             , typename Vector::item12, typename Vector::item13\r
1813             , typename Vector::item14, typename Vector::item15\r
1814             , typename Vector::item16, typename Vector::item17\r
1815             , typename Vector::item18, typename Vector::item19\r
1816             , typename Vector::item20, typename Vector::item21\r
1817             , typename Vector::item22, typename Vector::item23\r
1818             , typename Vector::item24, typename Vector::item25\r
1819             , typename Vector::item26, typename Vector::item27\r
1820             , typename Vector::item28, typename Vector::item29\r
1821             , typename Vector::item30, typename Vector::item31\r
1822             , typename Vector::item32, typename Vector::item33\r
1823             , typename Vector::item34, typename Vector::item35\r
1824             , typename Vector::item36, typename Vector::item37\r
1825             , typename Vector::item38, typename Vector::item39\r
1826             , typename Vector::item40, typename Vector::item41\r
1827             , typename Vector::item42, typename Vector::item43\r
1828             , typename Vector::item44, typename Vector::item45\r
1829             > type;\r
1830     };\r
1831 };\r
1832 \r
1833 namespace aux {\r
1834 template<> struct v_at_impl<47>\r
1835 {\r
1836     template< typename V_ > struct result_\r
1837     {\r
1838         typedef typename V_::item47 type;\r
1839     };\r
1840 };\r
1841 \r
1842 }\r
1843 \r
1844 template<>\r
1845 struct at_impl< aux::vector_tag<47> >\r
1846 {\r
1847     template< typename V_, typename N > struct apply\r
1848     {\r
1849         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
1850             ::template result_<V_>::type type;\r
1851     };\r
1852 };\r
1853 \r
1854 template<>\r
1855 struct front_impl< aux::vector_tag<47> >\r
1856 {\r
1857     template< typename Vector > struct apply\r
1858     {\r
1859         typedef typename Vector::item0 type;\r
1860     };\r
1861 };\r
1862 \r
1863 template<>\r
1864 struct back_impl< aux::vector_tag<47> >\r
1865 {\r
1866     template< typename Vector > struct apply\r
1867     {\r
1868         typedef typename Vector::back type;\r
1869     };\r
1870 };\r
1871 \r
1872 template<>\r
1873 struct empty_impl< aux::vector_tag<47> >\r
1874 {\r
1875     template< typename Vector > struct apply\r
1876         : false_\r
1877     {\r
1878     };\r
1879 };\r
1880 \r
1881 template<>\r
1882 struct size_impl< aux::vector_tag<47> >\r
1883 {\r
1884     template< typename Vector > struct apply\r
1885         : long_<47>\r
1886     {\r
1887     };\r
1888 };\r
1889 \r
1890 template<>\r
1891 struct O1_size_impl< aux::vector_tag<47> >\r
1892     : size_impl< aux::vector_tag<47> >\r
1893 {\r
1894 };\r
1895 \r
1896 template<>\r
1897 struct clear_impl< aux::vector_tag<47> >\r
1898 {\r
1899     template< typename Vector > struct apply\r
1900     {\r
1901         typedef vector0<> type;\r
1902     };\r
1903 };\r
1904 \r
1905 template<\r
1906       typename T0, typename T1, typename T2, typename T3, typename T4\r
1907     , typename T5, typename T6, typename T7, typename T8, typename T9\r
1908     , typename T10, typename T11, typename T12, typename T13, typename T14\r
1909     , typename T15, typename T16, typename T17, typename T18, typename T19\r
1910     , typename T20, typename T21, typename T22, typename T23, typename T24\r
1911     , typename T25, typename T26, typename T27, typename T28, typename T29\r
1912     , typename T30, typename T31, typename T32, typename T33, typename T34\r
1913     , typename T35, typename T36, typename T37, typename T38, typename T39\r
1914     , typename T40, typename T41, typename T42, typename T43, typename T44\r
1915     , typename T45, typename T46, typename T47\r
1916     >\r
1917 struct vector48\r
1918 {\r
1919     typedef aux::vector_tag<48> tag;\r
1920     typedef vector48 type;\r
1921     typedef T0 item0;\r
1922     typedef T1 item1;\r
1923     typedef T2 item2;\r
1924     typedef T3 item3;\r
1925     typedef T4 item4;\r
1926     typedef T5 item5;\r
1927     typedef T6 item6;\r
1928     typedef T7 item7;\r
1929     typedef T8 item8;\r
1930     typedef T9 item9;\r
1931     typedef T10 item10;\r
1932     typedef T11 item11;\r
1933     typedef T12 item12;\r
1934     typedef T13 item13;\r
1935     typedef T14 item14;\r
1936     typedef T15 item15;\r
1937     typedef T16 item16;\r
1938     typedef T17 item17;\r
1939     typedef T18 item18;\r
1940     typedef T19 item19;\r
1941     typedef T20 item20;\r
1942     typedef T21 item21;\r
1943     typedef T22 item22;\r
1944     typedef T23 item23;\r
1945     typedef T24 item24;\r
1946     typedef T25 item25;\r
1947     typedef T26 item26;\r
1948     typedef T27 item27;\r
1949     typedef T28 item28;\r
1950     typedef T29 item29;\r
1951     typedef T30 item30;\r
1952     typedef T31 item31;\r
1953     typedef T32 item32;\r
1954     typedef T33 item33;\r
1955     typedef T34 item34;\r
1956     typedef T35 item35;\r
1957     typedef T36 item36;\r
1958     typedef T37 item37;\r
1959     typedef T38 item38;\r
1960     typedef T39 item39;\r
1961     typedef T40 item40;\r
1962     typedef T41 item41;\r
1963     typedef T42 item42;\r
1964     typedef T43 item43;\r
1965     typedef T44 item44;\r
1966     typedef T45 item45;\r
1967     typedef T46 item46;\r
1968     typedef T47 item47;\r
1969     \r
1970 \r
1971     typedef void_ item48;\r
1972     typedef T47 back;\r
1973     typedef v_iter< type,0 > begin;\r
1974     typedef v_iter< type,48 > end;\r
1975 };\r
1976 \r
1977 template<>\r
1978 struct push_front_impl< aux::vector_tag<47> >\r
1979 {\r
1980     template< typename Vector, typename T > struct apply\r
1981     {\r
1982         typedef vector48<\r
1983               T\r
1984               ,\r
1985               typename Vector::item0, typename Vector::item1\r
1986             , typename Vector::item2, typename Vector::item3\r
1987             , typename Vector::item4, typename Vector::item5\r
1988             , typename Vector::item6, typename Vector::item7\r
1989             , typename Vector::item8, typename Vector::item9\r
1990             , typename Vector::item10, typename Vector::item11\r
1991             , typename Vector::item12, typename Vector::item13\r
1992             , typename Vector::item14, typename Vector::item15\r
1993             , typename Vector::item16, typename Vector::item17\r
1994             , typename Vector::item18, typename Vector::item19\r
1995             , typename Vector::item20, typename Vector::item21\r
1996             , typename Vector::item22, typename Vector::item23\r
1997             , typename Vector::item24, typename Vector::item25\r
1998             , typename Vector::item26, typename Vector::item27\r
1999             , typename Vector::item28, typename Vector::item29\r
2000             , typename Vector::item30, typename Vector::item31\r
2001             , typename Vector::item32, typename Vector::item33\r
2002             , typename Vector::item34, typename Vector::item35\r
2003             , typename Vector::item36, typename Vector::item37\r
2004             , typename Vector::item38, typename Vector::item39\r
2005             , typename Vector::item40, typename Vector::item41\r
2006             , typename Vector::item42, typename Vector::item43\r
2007             , typename Vector::item44, typename Vector::item45\r
2008             , typename Vector::item46\r
2009             > type;\r
2010     };\r
2011 };\r
2012 \r
2013 template<>\r
2014 struct pop_front_impl< aux::vector_tag<48> >\r
2015 {\r
2016     template< typename Vector > struct apply\r
2017     {\r
2018         typedef vector47<\r
2019               typename Vector::item1, typename Vector::item2\r
2020             , typename Vector::item3, typename Vector::item4\r
2021             , typename Vector::item5, typename Vector::item6\r
2022             , typename Vector::item7, typename Vector::item8\r
2023             , typename Vector::item9, typename Vector::item10\r
2024             , typename Vector::item11, typename Vector::item12\r
2025             , typename Vector::item13, typename Vector::item14\r
2026             , typename Vector::item15, typename Vector::item16\r
2027             , typename Vector::item17, typename Vector::item18\r
2028             , typename Vector::item19, typename Vector::item20\r
2029             , typename Vector::item21, typename Vector::item22\r
2030             , typename Vector::item23, typename Vector::item24\r
2031             , typename Vector::item25, typename Vector::item26\r
2032             , typename Vector::item27, typename Vector::item28\r
2033             , typename Vector::item29, typename Vector::item30\r
2034             , typename Vector::item31, typename Vector::item32\r
2035             , typename Vector::item33, typename Vector::item34\r
2036             , typename Vector::item35, typename Vector::item36\r
2037             , typename Vector::item37, typename Vector::item38\r
2038             , typename Vector::item39, typename Vector::item40\r
2039             , typename Vector::item41, typename Vector::item42\r
2040             , typename Vector::item43, typename Vector::item44\r
2041             , typename Vector::item45, typename Vector::item46\r
2042             , typename Vector::item47\r
2043             > type;\r
2044     };\r
2045 };\r
2046 \r
2047 template<>\r
2048 struct push_back_impl< aux::vector_tag<47> >\r
2049 {\r
2050     template< typename Vector, typename T > struct apply\r
2051     {\r
2052         typedef vector48<\r
2053               typename Vector::item0, typename Vector::item1\r
2054             , typename Vector::item2, typename Vector::item3\r
2055             , typename Vector::item4, typename Vector::item5\r
2056             , typename Vector::item6, typename Vector::item7\r
2057             , typename Vector::item8, typename Vector::item9\r
2058             , typename Vector::item10, typename Vector::item11\r
2059             , typename Vector::item12, typename Vector::item13\r
2060             , typename Vector::item14, typename Vector::item15\r
2061             , typename Vector::item16, typename Vector::item17\r
2062             , typename Vector::item18, typename Vector::item19\r
2063             , typename Vector::item20, typename Vector::item21\r
2064             , typename Vector::item22, typename Vector::item23\r
2065             , typename Vector::item24, typename Vector::item25\r
2066             , typename Vector::item26, typename Vector::item27\r
2067             , typename Vector::item28, typename Vector::item29\r
2068             , typename Vector::item30, typename Vector::item31\r
2069             , typename Vector::item32, typename Vector::item33\r
2070             , typename Vector::item34, typename Vector::item35\r
2071             , typename Vector::item36, typename Vector::item37\r
2072             , typename Vector::item38, typename Vector::item39\r
2073             , typename Vector::item40, typename Vector::item41\r
2074             , typename Vector::item42, typename Vector::item43\r
2075             , typename Vector::item44, typename Vector::item45\r
2076             , typename Vector::item46\r
2077               ,\r
2078               T\r
2079             > type;\r
2080     };\r
2081 };\r
2082 \r
2083 template<>\r
2084 struct pop_back_impl< aux::vector_tag<48> >\r
2085 {\r
2086     template< typename Vector > struct apply\r
2087     {\r
2088         typedef vector47<\r
2089               typename Vector::item0, typename Vector::item1\r
2090             , typename Vector::item2, typename Vector::item3\r
2091             , typename Vector::item4, typename Vector::item5\r
2092             , typename Vector::item6, typename Vector::item7\r
2093             , typename Vector::item8, typename Vector::item9\r
2094             , typename Vector::item10, typename Vector::item11\r
2095             , typename Vector::item12, typename Vector::item13\r
2096             , typename Vector::item14, typename Vector::item15\r
2097             , typename Vector::item16, typename Vector::item17\r
2098             , typename Vector::item18, typename Vector::item19\r
2099             , typename Vector::item20, typename Vector::item21\r
2100             , typename Vector::item22, typename Vector::item23\r
2101             , typename Vector::item24, typename Vector::item25\r
2102             , typename Vector::item26, typename Vector::item27\r
2103             , typename Vector::item28, typename Vector::item29\r
2104             , typename Vector::item30, typename Vector::item31\r
2105             , typename Vector::item32, typename Vector::item33\r
2106             , typename Vector::item34, typename Vector::item35\r
2107             , typename Vector::item36, typename Vector::item37\r
2108             , typename Vector::item38, typename Vector::item39\r
2109             , typename Vector::item40, typename Vector::item41\r
2110             , typename Vector::item42, typename Vector::item43\r
2111             , typename Vector::item44, typename Vector::item45\r
2112             , typename Vector::item46\r
2113             > type;\r
2114     };\r
2115 };\r
2116 \r
2117 namespace aux {\r
2118 template<> struct v_at_impl<48>\r
2119 {\r
2120     template< typename V_ > struct result_\r
2121     {\r
2122         typedef typename V_::item48 type;\r
2123     };\r
2124 };\r
2125 \r
2126 }\r
2127 \r
2128 template<>\r
2129 struct at_impl< aux::vector_tag<48> >\r
2130 {\r
2131     template< typename V_, typename N > struct apply\r
2132     {\r
2133         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
2134             ::template result_<V_>::type type;\r
2135     };\r
2136 };\r
2137 \r
2138 template<>\r
2139 struct front_impl< aux::vector_tag<48> >\r
2140 {\r
2141     template< typename Vector > struct apply\r
2142     {\r
2143         typedef typename Vector::item0 type;\r
2144     };\r
2145 };\r
2146 \r
2147 template<>\r
2148 struct back_impl< aux::vector_tag<48> >\r
2149 {\r
2150     template< typename Vector > struct apply\r
2151     {\r
2152         typedef typename Vector::back type;\r
2153     };\r
2154 };\r
2155 \r
2156 template<>\r
2157 struct empty_impl< aux::vector_tag<48> >\r
2158 {\r
2159     template< typename Vector > struct apply\r
2160         : false_\r
2161     {\r
2162     };\r
2163 };\r
2164 \r
2165 template<>\r
2166 struct size_impl< aux::vector_tag<48> >\r
2167 {\r
2168     template< typename Vector > struct apply\r
2169         : long_<48>\r
2170     {\r
2171     };\r
2172 };\r
2173 \r
2174 template<>\r
2175 struct O1_size_impl< aux::vector_tag<48> >\r
2176     : size_impl< aux::vector_tag<48> >\r
2177 {\r
2178 };\r
2179 \r
2180 template<>\r
2181 struct clear_impl< aux::vector_tag<48> >\r
2182 {\r
2183     template< typename Vector > struct apply\r
2184     {\r
2185         typedef vector0<> type;\r
2186     };\r
2187 };\r
2188 \r
2189 template<\r
2190       typename T0, typename T1, typename T2, typename T3, typename T4\r
2191     , typename T5, typename T6, typename T7, typename T8, typename T9\r
2192     , typename T10, typename T11, typename T12, typename T13, typename T14\r
2193     , typename T15, typename T16, typename T17, typename T18, typename T19\r
2194     , typename T20, typename T21, typename T22, typename T23, typename T24\r
2195     , typename T25, typename T26, typename T27, typename T28, typename T29\r
2196     , typename T30, typename T31, typename T32, typename T33, typename T34\r
2197     , typename T35, typename T36, typename T37, typename T38, typename T39\r
2198     , typename T40, typename T41, typename T42, typename T43, typename T44\r
2199     , typename T45, typename T46, typename T47, typename T48\r
2200     >\r
2201 struct vector49\r
2202 {\r
2203     typedef aux::vector_tag<49> tag;\r
2204     typedef vector49 type;\r
2205     typedef T0 item0;\r
2206     typedef T1 item1;\r
2207     typedef T2 item2;\r
2208     typedef T3 item3;\r
2209     typedef T4 item4;\r
2210     typedef T5 item5;\r
2211     typedef T6 item6;\r
2212     typedef T7 item7;\r
2213     typedef T8 item8;\r
2214     typedef T9 item9;\r
2215     typedef T10 item10;\r
2216     typedef T11 item11;\r
2217     typedef T12 item12;\r
2218     typedef T13 item13;\r
2219     typedef T14 item14;\r
2220     typedef T15 item15;\r
2221     typedef T16 item16;\r
2222     typedef T17 item17;\r
2223     typedef T18 item18;\r
2224     typedef T19 item19;\r
2225     typedef T20 item20;\r
2226     typedef T21 item21;\r
2227     typedef T22 item22;\r
2228     typedef T23 item23;\r
2229     typedef T24 item24;\r
2230     typedef T25 item25;\r
2231     typedef T26 item26;\r
2232     typedef T27 item27;\r
2233     typedef T28 item28;\r
2234     typedef T29 item29;\r
2235     typedef T30 item30;\r
2236     typedef T31 item31;\r
2237     typedef T32 item32;\r
2238     typedef T33 item33;\r
2239     typedef T34 item34;\r
2240     typedef T35 item35;\r
2241     typedef T36 item36;\r
2242     typedef T37 item37;\r
2243     typedef T38 item38;\r
2244     typedef T39 item39;\r
2245     typedef T40 item40;\r
2246     typedef T41 item41;\r
2247     typedef T42 item42;\r
2248     typedef T43 item43;\r
2249     typedef T44 item44;\r
2250     typedef T45 item45;\r
2251     typedef T46 item46;\r
2252     typedef T47 item47;\r
2253     typedef T48 item48;\r
2254     \r
2255 \r
2256     typedef void_ item49;\r
2257     typedef T48 back;\r
2258     typedef v_iter< type,0 > begin;\r
2259     typedef v_iter< type,49 > end;\r
2260 };\r
2261 \r
2262 template<>\r
2263 struct push_front_impl< aux::vector_tag<48> >\r
2264 {\r
2265     template< typename Vector, typename T > struct apply\r
2266     {\r
2267         typedef vector49<\r
2268               T\r
2269               ,\r
2270               typename Vector::item0, typename Vector::item1\r
2271             , typename Vector::item2, typename Vector::item3\r
2272             , typename Vector::item4, typename Vector::item5\r
2273             , typename Vector::item6, typename Vector::item7\r
2274             , typename Vector::item8, typename Vector::item9\r
2275             , typename Vector::item10, typename Vector::item11\r
2276             , typename Vector::item12, typename Vector::item13\r
2277             , typename Vector::item14, typename Vector::item15\r
2278             , typename Vector::item16, typename Vector::item17\r
2279             , typename Vector::item18, typename Vector::item19\r
2280             , typename Vector::item20, typename Vector::item21\r
2281             , typename Vector::item22, typename Vector::item23\r
2282             , typename Vector::item24, typename Vector::item25\r
2283             , typename Vector::item26, typename Vector::item27\r
2284             , typename Vector::item28, typename Vector::item29\r
2285             , typename Vector::item30, typename Vector::item31\r
2286             , typename Vector::item32, typename Vector::item33\r
2287             , typename Vector::item34, typename Vector::item35\r
2288             , typename Vector::item36, typename Vector::item37\r
2289             , typename Vector::item38, typename Vector::item39\r
2290             , typename Vector::item40, typename Vector::item41\r
2291             , typename Vector::item42, typename Vector::item43\r
2292             , typename Vector::item44, typename Vector::item45\r
2293             , typename Vector::item46, typename Vector::item47\r
2294             > type;\r
2295     };\r
2296 };\r
2297 \r
2298 template<>\r
2299 struct pop_front_impl< aux::vector_tag<49> >\r
2300 {\r
2301     template< typename Vector > struct apply\r
2302     {\r
2303         typedef vector48<\r
2304               typename Vector::item1, typename Vector::item2\r
2305             , typename Vector::item3, typename Vector::item4\r
2306             , typename Vector::item5, typename Vector::item6\r
2307             , typename Vector::item7, typename Vector::item8\r
2308             , typename Vector::item9, typename Vector::item10\r
2309             , typename Vector::item11, typename Vector::item12\r
2310             , typename Vector::item13, typename Vector::item14\r
2311             , typename Vector::item15, typename Vector::item16\r
2312             , typename Vector::item17, typename Vector::item18\r
2313             , typename Vector::item19, typename Vector::item20\r
2314             , typename Vector::item21, typename Vector::item22\r
2315             , typename Vector::item23, typename Vector::item24\r
2316             , typename Vector::item25, typename Vector::item26\r
2317             , typename Vector::item27, typename Vector::item28\r
2318             , typename Vector::item29, typename Vector::item30\r
2319             , typename Vector::item31, typename Vector::item32\r
2320             , typename Vector::item33, typename Vector::item34\r
2321             , typename Vector::item35, typename Vector::item36\r
2322             , typename Vector::item37, typename Vector::item38\r
2323             , typename Vector::item39, typename Vector::item40\r
2324             , typename Vector::item41, typename Vector::item42\r
2325             , typename Vector::item43, typename Vector::item44\r
2326             , typename Vector::item45, typename Vector::item46\r
2327             , typename Vector::item47, typename Vector::item48\r
2328             > type;\r
2329     };\r
2330 };\r
2331 \r
2332 template<>\r
2333 struct push_back_impl< aux::vector_tag<48> >\r
2334 {\r
2335     template< typename Vector, typename T > struct apply\r
2336     {\r
2337         typedef vector49<\r
2338               typename Vector::item0, typename Vector::item1\r
2339             , typename Vector::item2, typename Vector::item3\r
2340             , typename Vector::item4, typename Vector::item5\r
2341             , typename Vector::item6, typename Vector::item7\r
2342             , typename Vector::item8, typename Vector::item9\r
2343             , typename Vector::item10, typename Vector::item11\r
2344             , typename Vector::item12, typename Vector::item13\r
2345             , typename Vector::item14, typename Vector::item15\r
2346             , typename Vector::item16, typename Vector::item17\r
2347             , typename Vector::item18, typename Vector::item19\r
2348             , typename Vector::item20, typename Vector::item21\r
2349             , typename Vector::item22, typename Vector::item23\r
2350             , typename Vector::item24, typename Vector::item25\r
2351             , typename Vector::item26, typename Vector::item27\r
2352             , typename Vector::item28, typename Vector::item29\r
2353             , typename Vector::item30, typename Vector::item31\r
2354             , typename Vector::item32, typename Vector::item33\r
2355             , typename Vector::item34, typename Vector::item35\r
2356             , typename Vector::item36, typename Vector::item37\r
2357             , typename Vector::item38, typename Vector::item39\r
2358             , typename Vector::item40, typename Vector::item41\r
2359             , typename Vector::item42, typename Vector::item43\r
2360             , typename Vector::item44, typename Vector::item45\r
2361             , typename Vector::item46, typename Vector::item47\r
2362               ,\r
2363               T\r
2364             > type;\r
2365     };\r
2366 };\r
2367 \r
2368 template<>\r
2369 struct pop_back_impl< aux::vector_tag<49> >\r
2370 {\r
2371     template< typename Vector > struct apply\r
2372     {\r
2373         typedef vector48<\r
2374               typename Vector::item0, typename Vector::item1\r
2375             , typename Vector::item2, typename Vector::item3\r
2376             , typename Vector::item4, typename Vector::item5\r
2377             , typename Vector::item6, typename Vector::item7\r
2378             , typename Vector::item8, typename Vector::item9\r
2379             , typename Vector::item10, typename Vector::item11\r
2380             , typename Vector::item12, typename Vector::item13\r
2381             , typename Vector::item14, typename Vector::item15\r
2382             , typename Vector::item16, typename Vector::item17\r
2383             , typename Vector::item18, typename Vector::item19\r
2384             , typename Vector::item20, typename Vector::item21\r
2385             , typename Vector::item22, typename Vector::item23\r
2386             , typename Vector::item24, typename Vector::item25\r
2387             , typename Vector::item26, typename Vector::item27\r
2388             , typename Vector::item28, typename Vector::item29\r
2389             , typename Vector::item30, typename Vector::item31\r
2390             , typename Vector::item32, typename Vector::item33\r
2391             , typename Vector::item34, typename Vector::item35\r
2392             , typename Vector::item36, typename Vector::item37\r
2393             , typename Vector::item38, typename Vector::item39\r
2394             , typename Vector::item40, typename Vector::item41\r
2395             , typename Vector::item42, typename Vector::item43\r
2396             , typename Vector::item44, typename Vector::item45\r
2397             , typename Vector::item46, typename Vector::item47\r
2398             > type;\r
2399     };\r
2400 };\r
2401 \r
2402 namespace aux {\r
2403 template<> struct v_at_impl<49>\r
2404 {\r
2405     template< typename V_ > struct result_\r
2406     {\r
2407         typedef typename V_::item49 type;\r
2408     };\r
2409 };\r
2410 \r
2411 }\r
2412 \r
2413 template<>\r
2414 struct at_impl< aux::vector_tag<49> >\r
2415 {\r
2416     template< typename V_, typename N > struct apply\r
2417     {\r
2418         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
2419             ::template result_<V_>::type type;\r
2420     };\r
2421 };\r
2422 \r
2423 template<>\r
2424 struct front_impl< aux::vector_tag<49> >\r
2425 {\r
2426     template< typename Vector > struct apply\r
2427     {\r
2428         typedef typename Vector::item0 type;\r
2429     };\r
2430 };\r
2431 \r
2432 template<>\r
2433 struct back_impl< aux::vector_tag<49> >\r
2434 {\r
2435     template< typename Vector > struct apply\r
2436     {\r
2437         typedef typename Vector::back type;\r
2438     };\r
2439 };\r
2440 \r
2441 template<>\r
2442 struct empty_impl< aux::vector_tag<49> >\r
2443 {\r
2444     template< typename Vector > struct apply\r
2445         : false_\r
2446     {\r
2447     };\r
2448 };\r
2449 \r
2450 template<>\r
2451 struct size_impl< aux::vector_tag<49> >\r
2452 {\r
2453     template< typename Vector > struct apply\r
2454         : long_<49>\r
2455     {\r
2456     };\r
2457 };\r
2458 \r
2459 template<>\r
2460 struct O1_size_impl< aux::vector_tag<49> >\r
2461     : size_impl< aux::vector_tag<49> >\r
2462 {\r
2463 };\r
2464 \r
2465 template<>\r
2466 struct clear_impl< aux::vector_tag<49> >\r
2467 {\r
2468     template< typename Vector > struct apply\r
2469     {\r
2470         typedef vector0<> type;\r
2471     };\r
2472 };\r
2473 \r
2474 template<\r
2475       typename T0, typename T1, typename T2, typename T3, typename T4\r
2476     , typename T5, typename T6, typename T7, typename T8, typename T9\r
2477     , typename T10, typename T11, typename T12, typename T13, typename T14\r
2478     , typename T15, typename T16, typename T17, typename T18, typename T19\r
2479     , typename T20, typename T21, typename T22, typename T23, typename T24\r
2480     , typename T25, typename T26, typename T27, typename T28, typename T29\r
2481     , typename T30, typename T31, typename T32, typename T33, typename T34\r
2482     , typename T35, typename T36, typename T37, typename T38, typename T39\r
2483     , typename T40, typename T41, typename T42, typename T43, typename T44\r
2484     , typename T45, typename T46, typename T47, typename T48, typename T49\r
2485     >\r
2486 struct vector50\r
2487 {\r
2488     typedef aux::vector_tag<50> tag;\r
2489     typedef vector50 type;\r
2490     typedef T0 item0;\r
2491     typedef T1 item1;\r
2492     typedef T2 item2;\r
2493     typedef T3 item3;\r
2494     typedef T4 item4;\r
2495     typedef T5 item5;\r
2496     typedef T6 item6;\r
2497     typedef T7 item7;\r
2498     typedef T8 item8;\r
2499     typedef T9 item9;\r
2500     typedef T10 item10;\r
2501     typedef T11 item11;\r
2502     typedef T12 item12;\r
2503     typedef T13 item13;\r
2504     typedef T14 item14;\r
2505     typedef T15 item15;\r
2506     typedef T16 item16;\r
2507     typedef T17 item17;\r
2508     typedef T18 item18;\r
2509     typedef T19 item19;\r
2510     typedef T20 item20;\r
2511     typedef T21 item21;\r
2512     typedef T22 item22;\r
2513     typedef T23 item23;\r
2514     typedef T24 item24;\r
2515     typedef T25 item25;\r
2516     typedef T26 item26;\r
2517     typedef T27 item27;\r
2518     typedef T28 item28;\r
2519     typedef T29 item29;\r
2520     typedef T30 item30;\r
2521     typedef T31 item31;\r
2522     typedef T32 item32;\r
2523     typedef T33 item33;\r
2524     typedef T34 item34;\r
2525     typedef T35 item35;\r
2526     typedef T36 item36;\r
2527     typedef T37 item37;\r
2528     typedef T38 item38;\r
2529     typedef T39 item39;\r
2530     typedef T40 item40;\r
2531     typedef T41 item41;\r
2532     typedef T42 item42;\r
2533     typedef T43 item43;\r
2534     typedef T44 item44;\r
2535     typedef T45 item45;\r
2536     typedef T46 item46;\r
2537     typedef T47 item47;\r
2538     typedef T48 item48;\r
2539     typedef T49 item49;\r
2540     \r
2541 \r
2542     typedef void_ item50;\r
2543     typedef T49 back;\r
2544     typedef v_iter< type,0 > begin;\r
2545     typedef v_iter< type,50 > end;\r
2546 };\r
2547 \r
2548 template<>\r
2549 struct push_front_impl< aux::vector_tag<49> >\r
2550 {\r
2551     template< typename Vector, typename T > struct apply\r
2552     {\r
2553         typedef vector50<\r
2554               T\r
2555               ,\r
2556               typename Vector::item0, typename Vector::item1\r
2557             , typename Vector::item2, typename Vector::item3\r
2558             , typename Vector::item4, typename Vector::item5\r
2559             , typename Vector::item6, typename Vector::item7\r
2560             , typename Vector::item8, typename Vector::item9\r
2561             , typename Vector::item10, typename Vector::item11\r
2562             , typename Vector::item12, typename Vector::item13\r
2563             , typename Vector::item14, typename Vector::item15\r
2564             , typename Vector::item16, typename Vector::item17\r
2565             , typename Vector::item18, typename Vector::item19\r
2566             , typename Vector::item20, typename Vector::item21\r
2567             , typename Vector::item22, typename Vector::item23\r
2568             , typename Vector::item24, typename Vector::item25\r
2569             , typename Vector::item26, typename Vector::item27\r
2570             , typename Vector::item28, typename Vector::item29\r
2571             , typename Vector::item30, typename Vector::item31\r
2572             , typename Vector::item32, typename Vector::item33\r
2573             , typename Vector::item34, typename Vector::item35\r
2574             , typename Vector::item36, typename Vector::item37\r
2575             , typename Vector::item38, typename Vector::item39\r
2576             , typename Vector::item40, typename Vector::item41\r
2577             , typename Vector::item42, typename Vector::item43\r
2578             , typename Vector::item44, typename Vector::item45\r
2579             , typename Vector::item46, typename Vector::item47\r
2580             , typename Vector::item48\r
2581             > type;\r
2582     };\r
2583 };\r
2584 \r
2585 template<>\r
2586 struct pop_front_impl< aux::vector_tag<50> >\r
2587 {\r
2588     template< typename Vector > struct apply\r
2589     {\r
2590         typedef vector49<\r
2591               typename Vector::item1, typename Vector::item2\r
2592             , typename Vector::item3, typename Vector::item4\r
2593             , typename Vector::item5, typename Vector::item6\r
2594             , typename Vector::item7, typename Vector::item8\r
2595             , typename Vector::item9, typename Vector::item10\r
2596             , typename Vector::item11, typename Vector::item12\r
2597             , typename Vector::item13, typename Vector::item14\r
2598             , typename Vector::item15, typename Vector::item16\r
2599             , typename Vector::item17, typename Vector::item18\r
2600             , typename Vector::item19, typename Vector::item20\r
2601             , typename Vector::item21, typename Vector::item22\r
2602             , typename Vector::item23, typename Vector::item24\r
2603             , typename Vector::item25, typename Vector::item26\r
2604             , typename Vector::item27, typename Vector::item28\r
2605             , typename Vector::item29, typename Vector::item30\r
2606             , typename Vector::item31, typename Vector::item32\r
2607             , typename Vector::item33, typename Vector::item34\r
2608             , typename Vector::item35, typename Vector::item36\r
2609             , typename Vector::item37, typename Vector::item38\r
2610             , typename Vector::item39, typename Vector::item40\r
2611             , typename Vector::item41, typename Vector::item42\r
2612             , typename Vector::item43, typename Vector::item44\r
2613             , typename Vector::item45, typename Vector::item46\r
2614             , typename Vector::item47, typename Vector::item48\r
2615             , typename Vector::item49\r
2616             > type;\r
2617     };\r
2618 };\r
2619 \r
2620 template<>\r
2621 struct push_back_impl< aux::vector_tag<49> >\r
2622 {\r
2623     template< typename Vector, typename T > struct apply\r
2624     {\r
2625         typedef vector50<\r
2626               typename Vector::item0, typename Vector::item1\r
2627             , typename Vector::item2, typename Vector::item3\r
2628             , typename Vector::item4, typename Vector::item5\r
2629             , typename Vector::item6, typename Vector::item7\r
2630             , typename Vector::item8, typename Vector::item9\r
2631             , typename Vector::item10, typename Vector::item11\r
2632             , typename Vector::item12, typename Vector::item13\r
2633             , typename Vector::item14, typename Vector::item15\r
2634             , typename Vector::item16, typename Vector::item17\r
2635             , typename Vector::item18, typename Vector::item19\r
2636             , typename Vector::item20, typename Vector::item21\r
2637             , typename Vector::item22, typename Vector::item23\r
2638             , typename Vector::item24, typename Vector::item25\r
2639             , typename Vector::item26, typename Vector::item27\r
2640             , typename Vector::item28, typename Vector::item29\r
2641             , typename Vector::item30, typename Vector::item31\r
2642             , typename Vector::item32, typename Vector::item33\r
2643             , typename Vector::item34, typename Vector::item35\r
2644             , typename Vector::item36, typename Vector::item37\r
2645             , typename Vector::item38, typename Vector::item39\r
2646             , typename Vector::item40, typename Vector::item41\r
2647             , typename Vector::item42, typename Vector::item43\r
2648             , typename Vector::item44, typename Vector::item45\r
2649             , typename Vector::item46, typename Vector::item47\r
2650             , typename Vector::item48\r
2651               ,\r
2652               T\r
2653             > type;\r
2654     };\r
2655 };\r
2656 \r
2657 template<>\r
2658 struct pop_back_impl< aux::vector_tag<50> >\r
2659 {\r
2660     template< typename Vector > struct apply\r
2661     {\r
2662         typedef vector49<\r
2663               typename Vector::item0, typename Vector::item1\r
2664             , typename Vector::item2, typename Vector::item3\r
2665             , typename Vector::item4, typename Vector::item5\r
2666             , typename Vector::item6, typename Vector::item7\r
2667             , typename Vector::item8, typename Vector::item9\r
2668             , typename Vector::item10, typename Vector::item11\r
2669             , typename Vector::item12, typename Vector::item13\r
2670             , typename Vector::item14, typename Vector::item15\r
2671             , typename Vector::item16, typename Vector::item17\r
2672             , typename Vector::item18, typename Vector::item19\r
2673             , typename Vector::item20, typename Vector::item21\r
2674             , typename Vector::item22, typename Vector::item23\r
2675             , typename Vector::item24, typename Vector::item25\r
2676             , typename Vector::item26, typename Vector::item27\r
2677             , typename Vector::item28, typename Vector::item29\r
2678             , typename Vector::item30, typename Vector::item31\r
2679             , typename Vector::item32, typename Vector::item33\r
2680             , typename Vector::item34, typename Vector::item35\r
2681             , typename Vector::item36, typename Vector::item37\r
2682             , typename Vector::item38, typename Vector::item39\r
2683             , typename Vector::item40, typename Vector::item41\r
2684             , typename Vector::item42, typename Vector::item43\r
2685             , typename Vector::item44, typename Vector::item45\r
2686             , typename Vector::item46, typename Vector::item47\r
2687             , typename Vector::item48\r
2688             > type;\r
2689     };\r
2690 };\r
2691 \r
2692 namespace aux {\r
2693 template<> struct v_at_impl<50>\r
2694 {\r
2695     template< typename V_ > struct result_\r
2696     {\r
2697         typedef typename V_::item50 type;\r
2698     };\r
2699 };\r
2700 \r
2701 }\r
2702 \r
2703 template<>\r
2704 struct at_impl< aux::vector_tag<50> >\r
2705 {\r
2706     template< typename V_, typename N > struct apply\r
2707     {\r
2708         typedef typename aux::v_at_impl<BOOST_MPL_AUX_VALUE_WKND(N)::value>\r
2709             ::template result_<V_>::type type;\r
2710     };\r
2711 };\r
2712 \r
2713 template<>\r
2714 struct front_impl< aux::vector_tag<50> >\r
2715 {\r
2716     template< typename Vector > struct apply\r
2717     {\r
2718         typedef typename Vector::item0 type;\r
2719     };\r
2720 };\r
2721 \r
2722 template<>\r
2723 struct back_impl< aux::vector_tag<50> >\r
2724 {\r
2725     template< typename Vector > struct apply\r
2726     {\r
2727         typedef typename Vector::back type;\r
2728     };\r
2729 };\r
2730 \r
2731 template<>\r
2732 struct empty_impl< aux::vector_tag<50> >\r
2733 {\r
2734     template< typename Vector > struct apply\r
2735         : false_\r
2736     {\r
2737     };\r
2738 };\r
2739 \r
2740 template<>\r
2741 struct size_impl< aux::vector_tag<50> >\r
2742 {\r
2743     template< typename Vector > struct apply\r
2744         : long_<50>\r
2745     {\r
2746     };\r
2747 };\r
2748 \r
2749 template<>\r
2750 struct O1_size_impl< aux::vector_tag<50> >\r
2751     : size_impl< aux::vector_tag<50> >\r
2752 {\r
2753 };\r
2754 \r
2755 template<>\r
2756 struct clear_impl< aux::vector_tag<50> >\r
2757 {\r
2758     template< typename Vector > struct apply\r
2759     {\r
2760         typedef vector0<> type;\r
2761     };\r
2762 };\r
2763 \r
2764 }}\r