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

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