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

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