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