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

Private GIT Repository
bd8928b4214b845f123fb5d42ee8b89a829d768f
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / include / boost / mpl / vector / aux_ / preprocessed / plain / vector10.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/vector10.hpp" header\r
10 // -- DO NOT modify by hand!\r
11 \r
12 namespace boost { namespace mpl {\r
13 \r
14 template< typename V >\r
15 struct v_at< V,0 >\r
16 {\r
17     typedef typename V::item0 type;\r
18 };\r
19 \r
20 template<\r
21       typename T0\r
22     >\r
23 struct vector1\r
24 {\r
25     typedef aux::vector_tag<1> tag;\r
26     typedef vector1 type;\r
27     typedef T0 item0;\r
28     typedef void_ item1;\r
29     typedef T0 back;\r
30     typedef v_iter< type,0 > begin;\r
31     typedef v_iter< type,1 > end;\r
32 };\r
33 \r
34 template<>\r
35 struct push_front_impl< aux::vector_tag<0> >\r
36 {\r
37     template< typename Vector, typename T > struct apply\r
38     {\r
39         typedef vector1<\r
40               T\r
41             > type;\r
42     };\r
43 };\r
44 \r
45 template<>\r
46 struct pop_front_impl< aux::vector_tag<1> >\r
47 {\r
48     template< typename Vector > struct apply\r
49     {\r
50         typedef vector0<\r
51              \r
52             > type;\r
53     };\r
54 };\r
55 \r
56 template<>\r
57 struct push_back_impl< aux::vector_tag<0> >\r
58 {\r
59     template< typename Vector, typename T > struct apply\r
60     {\r
61         typedef vector1<\r
62              \r
63               T\r
64             > type;\r
65     };\r
66 };\r
67 \r
68 template<>\r
69 struct pop_back_impl< aux::vector_tag<1> >\r
70 {\r
71     template< typename Vector > struct apply\r
72     {\r
73         typedef vector0<\r
74              \r
75             > type;\r
76     };\r
77 };\r
78 \r
79 template< typename V >\r
80 struct v_at< V,1 >\r
81 {\r
82     typedef typename V::item1 type;\r
83 };\r
84 \r
85 template<\r
86       typename T0, typename T1\r
87     >\r
88 struct vector2\r
89 {\r
90     typedef aux::vector_tag<2> tag;\r
91     typedef vector2 type;\r
92     typedef T0 item0;\r
93     typedef T1 item1;\r
94     \r
95 \r
96     typedef void_ item2;\r
97     typedef T1 back;\r
98     typedef v_iter< type,0 > begin;\r
99     typedef v_iter< type,2 > end;\r
100 };\r
101 \r
102 template<>\r
103 struct push_front_impl< aux::vector_tag<1> >\r
104 {\r
105     template< typename Vector, typename T > struct apply\r
106     {\r
107         typedef vector2<\r
108               T\r
109               ,\r
110               typename Vector::item0\r
111             > type;\r
112     };\r
113 };\r
114 \r
115 template<>\r
116 struct pop_front_impl< aux::vector_tag<2> >\r
117 {\r
118     template< typename Vector > struct apply\r
119     {\r
120         typedef vector1<\r
121               typename Vector::item1\r
122             > type;\r
123     };\r
124 };\r
125 \r
126 template<>\r
127 struct push_back_impl< aux::vector_tag<1> >\r
128 {\r
129     template< typename Vector, typename T > struct apply\r
130     {\r
131         typedef vector2<\r
132               typename Vector::item0\r
133               ,\r
134               T\r
135             > type;\r
136     };\r
137 };\r
138 \r
139 template<>\r
140 struct pop_back_impl< aux::vector_tag<2> >\r
141 {\r
142     template< typename Vector > struct apply\r
143     {\r
144         typedef vector1<\r
145               typename Vector::item0\r
146             > type;\r
147     };\r
148 };\r
149 \r
150 template< typename V >\r
151 struct v_at< V,2 >\r
152 {\r
153     typedef typename V::item2 type;\r
154 };\r
155 \r
156 template<\r
157       typename T0, typename T1, typename T2\r
158     >\r
159 struct vector3\r
160 {\r
161     typedef aux::vector_tag<3> tag;\r
162     typedef vector3 type;\r
163     typedef T0 item0;\r
164     typedef T1 item1;\r
165     typedef T2 item2;\r
166     \r
167 \r
168     typedef void_ item3;\r
169     typedef T2 back;\r
170     typedef v_iter< type,0 > begin;\r
171     typedef v_iter< type,3 > end;\r
172 };\r
173 \r
174 template<>\r
175 struct push_front_impl< aux::vector_tag<2> >\r
176 {\r
177     template< typename Vector, typename T > struct apply\r
178     {\r
179         typedef vector3<\r
180               T\r
181               ,\r
182               typename Vector::item0, typename Vector::item1\r
183             > type;\r
184     };\r
185 };\r
186 \r
187 template<>\r
188 struct pop_front_impl< aux::vector_tag<3> >\r
189 {\r
190     template< typename Vector > struct apply\r
191     {\r
192         typedef vector2<\r
193               typename Vector::item1, typename Vector::item2\r
194             > type;\r
195     };\r
196 };\r
197 \r
198 template<>\r
199 struct push_back_impl< aux::vector_tag<2> >\r
200 {\r
201     template< typename Vector, typename T > struct apply\r
202     {\r
203         typedef vector3<\r
204               typename Vector::item0, typename Vector::item1\r
205               ,\r
206               T\r
207             > type;\r
208     };\r
209 };\r
210 \r
211 template<>\r
212 struct pop_back_impl< aux::vector_tag<3> >\r
213 {\r
214     template< typename Vector > struct apply\r
215     {\r
216         typedef vector2<\r
217               typename Vector::item0, typename Vector::item1\r
218             > type;\r
219     };\r
220 };\r
221 \r
222 template< typename V >\r
223 struct v_at< V,3 >\r
224 {\r
225     typedef typename V::item3 type;\r
226 };\r
227 \r
228 template<\r
229       typename T0, typename T1, typename T2, typename T3\r
230     >\r
231 struct vector4\r
232 {\r
233     typedef aux::vector_tag<4> tag;\r
234     typedef vector4 type;\r
235     typedef T0 item0;\r
236     typedef T1 item1;\r
237     typedef T2 item2;\r
238     typedef T3 item3;\r
239     \r
240 \r
241     typedef void_ item4;\r
242     typedef T3 back;\r
243     typedef v_iter< type,0 > begin;\r
244     typedef v_iter< type,4 > end;\r
245 };\r
246 \r
247 template<>\r
248 struct push_front_impl< aux::vector_tag<3> >\r
249 {\r
250     template< typename Vector, typename T > struct apply\r
251     {\r
252         typedef vector4<\r
253               T\r
254               ,\r
255               typename Vector::item0, typename Vector::item1\r
256             , typename Vector::item2\r
257             > type;\r
258     };\r
259 };\r
260 \r
261 template<>\r
262 struct pop_front_impl< aux::vector_tag<4> >\r
263 {\r
264     template< typename Vector > struct apply\r
265     {\r
266         typedef vector3<\r
267               typename Vector::item1, typename Vector::item2\r
268             , typename Vector::item3\r
269             > type;\r
270     };\r
271 };\r
272 \r
273 template<>\r
274 struct push_back_impl< aux::vector_tag<3> >\r
275 {\r
276     template< typename Vector, typename T > struct apply\r
277     {\r
278         typedef vector4<\r
279               typename Vector::item0, typename Vector::item1\r
280             , typename Vector::item2\r
281               ,\r
282               T\r
283             > type;\r
284     };\r
285 };\r
286 \r
287 template<>\r
288 struct pop_back_impl< aux::vector_tag<4> >\r
289 {\r
290     template< typename Vector > struct apply\r
291     {\r
292         typedef vector3<\r
293               typename Vector::item0, typename Vector::item1\r
294             , typename Vector::item2\r
295             > type;\r
296     };\r
297 };\r
298 \r
299 template< typename V >\r
300 struct v_at< V,4 >\r
301 {\r
302     typedef typename V::item4 type;\r
303 };\r
304 \r
305 template<\r
306       typename T0, typename T1, typename T2, typename T3, typename T4\r
307     >\r
308 struct vector5\r
309 {\r
310     typedef aux::vector_tag<5> tag;\r
311     typedef vector5 type;\r
312     typedef T0 item0;\r
313     typedef T1 item1;\r
314     typedef T2 item2;\r
315     typedef T3 item3;\r
316     typedef T4 item4;\r
317     \r
318 \r
319     typedef void_ item5;\r
320     typedef T4 back;\r
321     typedef v_iter< type,0 > begin;\r
322     typedef v_iter< type,5 > end;\r
323 };\r
324 \r
325 template<>\r
326 struct push_front_impl< aux::vector_tag<4> >\r
327 {\r
328     template< typename Vector, typename T > struct apply\r
329     {\r
330         typedef vector5<\r
331               T\r
332               ,\r
333               typename Vector::item0, typename Vector::item1\r
334             , typename Vector::item2, typename Vector::item3\r
335             > type;\r
336     };\r
337 };\r
338 \r
339 template<>\r
340 struct pop_front_impl< aux::vector_tag<5> >\r
341 {\r
342     template< typename Vector > struct apply\r
343     {\r
344         typedef vector4<\r
345               typename Vector::item1, typename Vector::item2\r
346             , typename Vector::item3, typename Vector::item4\r
347             > type;\r
348     };\r
349 };\r
350 \r
351 template<>\r
352 struct push_back_impl< aux::vector_tag<4> >\r
353 {\r
354     template< typename Vector, typename T > struct apply\r
355     {\r
356         typedef vector5<\r
357               typename Vector::item0, typename Vector::item1\r
358             , typename Vector::item2, typename Vector::item3\r
359               ,\r
360               T\r
361             > type;\r
362     };\r
363 };\r
364 \r
365 template<>\r
366 struct pop_back_impl< aux::vector_tag<5> >\r
367 {\r
368     template< typename Vector > struct apply\r
369     {\r
370         typedef vector4<\r
371               typename Vector::item0, typename Vector::item1\r
372             , typename Vector::item2, typename Vector::item3\r
373             > type;\r
374     };\r
375 };\r
376 \r
377 template< typename V >\r
378 struct v_at< V,5 >\r
379 {\r
380     typedef typename V::item5 type;\r
381 };\r
382 \r
383 template<\r
384       typename T0, typename T1, typename T2, typename T3, typename T4\r
385     , typename T5\r
386     >\r
387 struct vector6\r
388 {\r
389     typedef aux::vector_tag<6> tag;\r
390     typedef vector6 type;\r
391     typedef T0 item0;\r
392     typedef T1 item1;\r
393     typedef T2 item2;\r
394     typedef T3 item3;\r
395     typedef T4 item4;\r
396     typedef T5 item5;\r
397     \r
398 \r
399     typedef void_ item6;\r
400     typedef T5 back;\r
401     typedef v_iter< type,0 > begin;\r
402     typedef v_iter< type,6 > end;\r
403 };\r
404 \r
405 template<>\r
406 struct push_front_impl< aux::vector_tag<5> >\r
407 {\r
408     template< typename Vector, typename T > struct apply\r
409     {\r
410         typedef vector6<\r
411               T\r
412               ,\r
413               typename Vector::item0, typename Vector::item1\r
414             , typename Vector::item2, typename Vector::item3\r
415             , typename Vector::item4\r
416             > type;\r
417     };\r
418 };\r
419 \r
420 template<>\r
421 struct pop_front_impl< aux::vector_tag<6> >\r
422 {\r
423     template< typename Vector > struct apply\r
424     {\r
425         typedef vector5<\r
426               typename Vector::item1, typename Vector::item2\r
427             , typename Vector::item3, typename Vector::item4\r
428             , typename Vector::item5\r
429             > type;\r
430     };\r
431 };\r
432 \r
433 template<>\r
434 struct push_back_impl< aux::vector_tag<5> >\r
435 {\r
436     template< typename Vector, typename T > struct apply\r
437     {\r
438         typedef vector6<\r
439               typename Vector::item0, typename Vector::item1\r
440             , typename Vector::item2, typename Vector::item3\r
441             , typename Vector::item4\r
442               ,\r
443               T\r
444             > type;\r
445     };\r
446 };\r
447 \r
448 template<>\r
449 struct pop_back_impl< aux::vector_tag<6> >\r
450 {\r
451     template< typename Vector > struct apply\r
452     {\r
453         typedef vector5<\r
454               typename Vector::item0, typename Vector::item1\r
455             , typename Vector::item2, typename Vector::item3\r
456             , typename Vector::item4\r
457             > type;\r
458     };\r
459 };\r
460 \r
461 template< typename V >\r
462 struct v_at< V,6 >\r
463 {\r
464     typedef typename V::item6 type;\r
465 };\r
466 \r
467 template<\r
468       typename T0, typename T1, typename T2, typename T3, typename T4\r
469     , typename T5, typename T6\r
470     >\r
471 struct vector7\r
472 {\r
473     typedef aux::vector_tag<7> tag;\r
474     typedef vector7 type;\r
475     typedef T0 item0;\r
476     typedef T1 item1;\r
477     typedef T2 item2;\r
478     typedef T3 item3;\r
479     typedef T4 item4;\r
480     typedef T5 item5;\r
481     typedef T6 item6;\r
482     \r
483 \r
484     typedef void_ item7;\r
485     typedef T6 back;\r
486     typedef v_iter< type,0 > begin;\r
487     typedef v_iter< type,7 > end;\r
488 };\r
489 \r
490 template<>\r
491 struct push_front_impl< aux::vector_tag<6> >\r
492 {\r
493     template< typename Vector, typename T > struct apply\r
494     {\r
495         typedef vector7<\r
496               T\r
497               ,\r
498               typename Vector::item0, typename Vector::item1\r
499             , typename Vector::item2, typename Vector::item3\r
500             , typename Vector::item4, typename Vector::item5\r
501             > type;\r
502     };\r
503 };\r
504 \r
505 template<>\r
506 struct pop_front_impl< aux::vector_tag<7> >\r
507 {\r
508     template< typename Vector > struct apply\r
509     {\r
510         typedef vector6<\r
511               typename Vector::item1, typename Vector::item2\r
512             , typename Vector::item3, typename Vector::item4\r
513             , typename Vector::item5, typename Vector::item6\r
514             > type;\r
515     };\r
516 };\r
517 \r
518 template<>\r
519 struct push_back_impl< aux::vector_tag<6> >\r
520 {\r
521     template< typename Vector, typename T > struct apply\r
522     {\r
523         typedef vector7<\r
524               typename Vector::item0, typename Vector::item1\r
525             , typename Vector::item2, typename Vector::item3\r
526             , typename Vector::item4, typename Vector::item5\r
527               ,\r
528               T\r
529             > type;\r
530     };\r
531 };\r
532 \r
533 template<>\r
534 struct pop_back_impl< aux::vector_tag<7> >\r
535 {\r
536     template< typename Vector > struct apply\r
537     {\r
538         typedef vector6<\r
539               typename Vector::item0, typename Vector::item1\r
540             , typename Vector::item2, typename Vector::item3\r
541             , typename Vector::item4, typename Vector::item5\r
542             > type;\r
543     };\r
544 };\r
545 \r
546 template< typename V >\r
547 struct v_at< V,7 >\r
548 {\r
549     typedef typename V::item7 type;\r
550 };\r
551 \r
552 template<\r
553       typename T0, typename T1, typename T2, typename T3, typename T4\r
554     , typename T5, typename T6, typename T7\r
555     >\r
556 struct vector8\r
557 {\r
558     typedef aux::vector_tag<8> tag;\r
559     typedef vector8 type;\r
560     typedef T0 item0;\r
561     typedef T1 item1;\r
562     typedef T2 item2;\r
563     typedef T3 item3;\r
564     typedef T4 item4;\r
565     typedef T5 item5;\r
566     typedef T6 item6;\r
567     typedef T7 item7;\r
568     \r
569 \r
570     typedef void_ item8;\r
571     typedef T7 back;\r
572     typedef v_iter< type,0 > begin;\r
573     typedef v_iter< type,8 > end;\r
574 };\r
575 \r
576 template<>\r
577 struct push_front_impl< aux::vector_tag<7> >\r
578 {\r
579     template< typename Vector, typename T > struct apply\r
580     {\r
581         typedef vector8<\r
582               T\r
583               ,\r
584               typename Vector::item0, typename Vector::item1\r
585             , typename Vector::item2, typename Vector::item3\r
586             , typename Vector::item4, typename Vector::item5\r
587             , typename Vector::item6\r
588             > type;\r
589     };\r
590 };\r
591 \r
592 template<>\r
593 struct pop_front_impl< aux::vector_tag<8> >\r
594 {\r
595     template< typename Vector > struct apply\r
596     {\r
597         typedef vector7<\r
598               typename Vector::item1, typename Vector::item2\r
599             , typename Vector::item3, typename Vector::item4\r
600             , typename Vector::item5, typename Vector::item6\r
601             , typename Vector::item7\r
602             > type;\r
603     };\r
604 };\r
605 \r
606 template<>\r
607 struct push_back_impl< aux::vector_tag<7> >\r
608 {\r
609     template< typename Vector, typename T > struct apply\r
610     {\r
611         typedef vector8<\r
612               typename Vector::item0, typename Vector::item1\r
613             , typename Vector::item2, typename Vector::item3\r
614             , typename Vector::item4, typename Vector::item5\r
615             , typename Vector::item6\r
616               ,\r
617               T\r
618             > type;\r
619     };\r
620 };\r
621 \r
622 template<>\r
623 struct pop_back_impl< aux::vector_tag<8> >\r
624 {\r
625     template< typename Vector > struct apply\r
626     {\r
627         typedef vector7<\r
628               typename Vector::item0, typename Vector::item1\r
629             , typename Vector::item2, typename Vector::item3\r
630             , typename Vector::item4, typename Vector::item5\r
631             , typename Vector::item6\r
632             > type;\r
633     };\r
634 };\r
635 \r
636 template< typename V >\r
637 struct v_at< V,8 >\r
638 {\r
639     typedef typename V::item8 type;\r
640 };\r
641 \r
642 template<\r
643       typename T0, typename T1, typename T2, typename T3, typename T4\r
644     , typename T5, typename T6, typename T7, typename T8\r
645     >\r
646 struct vector9\r
647 {\r
648     typedef aux::vector_tag<9> tag;\r
649     typedef vector9 type;\r
650     typedef T0 item0;\r
651     typedef T1 item1;\r
652     typedef T2 item2;\r
653     typedef T3 item3;\r
654     typedef T4 item4;\r
655     typedef T5 item5;\r
656     typedef T6 item6;\r
657     typedef T7 item7;\r
658     typedef T8 item8;\r
659     \r
660 \r
661     typedef void_ item9;\r
662     typedef T8 back;\r
663     typedef v_iter< type,0 > begin;\r
664     typedef v_iter< type,9 > end;\r
665 };\r
666 \r
667 template<>\r
668 struct push_front_impl< aux::vector_tag<8> >\r
669 {\r
670     template< typename Vector, typename T > struct apply\r
671     {\r
672         typedef vector9<\r
673               T\r
674               ,\r
675               typename Vector::item0, typename Vector::item1\r
676             , typename Vector::item2, typename Vector::item3\r
677             , typename Vector::item4, typename Vector::item5\r
678             , typename Vector::item6, typename Vector::item7\r
679             > type;\r
680     };\r
681 };\r
682 \r
683 template<>\r
684 struct pop_front_impl< aux::vector_tag<9> >\r
685 {\r
686     template< typename Vector > struct apply\r
687     {\r
688         typedef vector8<\r
689               typename Vector::item1, typename Vector::item2\r
690             , typename Vector::item3, typename Vector::item4\r
691             , typename Vector::item5, typename Vector::item6\r
692             , typename Vector::item7, typename Vector::item8\r
693             > type;\r
694     };\r
695 };\r
696 \r
697 template<>\r
698 struct push_back_impl< aux::vector_tag<8> >\r
699 {\r
700     template< typename Vector, typename T > struct apply\r
701     {\r
702         typedef vector9<\r
703               typename Vector::item0, typename Vector::item1\r
704             , typename Vector::item2, typename Vector::item3\r
705             , typename Vector::item4, typename Vector::item5\r
706             , typename Vector::item6, typename Vector::item7\r
707               ,\r
708               T\r
709             > type;\r
710     };\r
711 };\r
712 \r
713 template<>\r
714 struct pop_back_impl< aux::vector_tag<9> >\r
715 {\r
716     template< typename Vector > struct apply\r
717     {\r
718         typedef vector8<\r
719               typename Vector::item0, typename Vector::item1\r
720             , typename Vector::item2, typename Vector::item3\r
721             , typename Vector::item4, typename Vector::item5\r
722             , typename Vector::item6, typename Vector::item7\r
723             > type;\r
724     };\r
725 };\r
726 \r
727 template< typename V >\r
728 struct v_at< V,9 >\r
729 {\r
730     typedef typename V::item9 type;\r
731 };\r
732 \r
733 template<\r
734       typename T0, typename T1, typename T2, typename T3, typename T4\r
735     , typename T5, typename T6, typename T7, typename T8, typename T9\r
736     >\r
737 struct vector10\r
738 {\r
739     typedef aux::vector_tag<10> tag;\r
740     typedef vector10 type;\r
741     typedef T0 item0;\r
742     typedef T1 item1;\r
743     typedef T2 item2;\r
744     typedef T3 item3;\r
745     typedef T4 item4;\r
746     typedef T5 item5;\r
747     typedef T6 item6;\r
748     typedef T7 item7;\r
749     typedef T8 item8;\r
750     typedef T9 item9;\r
751     \r
752 \r
753     typedef void_ item10;\r
754     typedef T9 back;\r
755     typedef v_iter< type,0 > begin;\r
756     typedef v_iter< type,10 > end;\r
757 };\r
758 \r
759 template<>\r
760 struct push_front_impl< aux::vector_tag<9> >\r
761 {\r
762     template< typename Vector, typename T > struct apply\r
763     {\r
764         typedef vector10<\r
765               T\r
766               ,\r
767               typename Vector::item0, typename Vector::item1\r
768             , typename Vector::item2, typename Vector::item3\r
769             , typename Vector::item4, typename Vector::item5\r
770             , typename Vector::item6, typename Vector::item7\r
771             , typename Vector::item8\r
772             > type;\r
773     };\r
774 };\r
775 \r
776 template<>\r
777 struct pop_front_impl< aux::vector_tag<10> >\r
778 {\r
779     template< typename Vector > struct apply\r
780     {\r
781         typedef vector9<\r
782               typename Vector::item1, typename Vector::item2\r
783             , typename Vector::item3, typename Vector::item4\r
784             , typename Vector::item5, typename Vector::item6\r
785             , typename Vector::item7, typename Vector::item8\r
786             , typename Vector::item9\r
787             > type;\r
788     };\r
789 };\r
790 \r
791 template<>\r
792 struct push_back_impl< aux::vector_tag<9> >\r
793 {\r
794     template< typename Vector, typename T > struct apply\r
795     {\r
796         typedef vector10<\r
797               typename Vector::item0, typename Vector::item1\r
798             , typename Vector::item2, typename Vector::item3\r
799             , typename Vector::item4, typename Vector::item5\r
800             , typename Vector::item6, typename Vector::item7\r
801             , typename Vector::item8\r
802               ,\r
803               T\r
804             > type;\r
805     };\r
806 };\r
807 \r
808 template<>\r
809 struct pop_back_impl< aux::vector_tag<10> >\r
810 {\r
811     template< typename Vector > struct apply\r
812     {\r
813         typedef vector9<\r
814               typename Vector::item0, typename Vector::item1\r
815             , typename Vector::item2, typename Vector::item3\r
816             , typename Vector::item4, typename Vector::item5\r
817             , typename Vector::item6, typename Vector::item7\r
818             , typename Vector::item8\r
819             > type;\r
820     };\r
821 };\r
822 \r
823 template< typename V >\r
824 struct v_at< V,10 >\r
825 {\r
826     typedef typename V::item10 type;\r
827 };\r
828 \r
829 }}\r