PageRenderTime 91ms CodeModel.GetById 20ms app.highlight 67ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp

http://hadesmem.googlecode.com/
C++ Header | 829 lines | 735 code | 86 blank | 8 comment | 0 complexity | bc751afa3db901f65b002a5144e87ccb MD5 | raw file
  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
 12namespace boost { namespace mpl {
 13
 14template< typename V >
 15struct v_at< V,0 >
 16{
 17    typedef typename V::item0 type;
 18};
 19
 20template<
 21      typename T0
 22    >
 23struct 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
 34template<>
 35struct 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
 45template<>
 46struct pop_front_impl< aux::vector_tag<1> >
 47{
 48    template< typename Vector > struct apply
 49    {
 50        typedef vector0<
 51             
 52            > type;
 53    };
 54};
 55
 56template<>
 57struct 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
 68template<>
 69struct pop_back_impl< aux::vector_tag<1> >
 70{
 71    template< typename Vector > struct apply
 72    {
 73        typedef vector0<
 74             
 75            > type;
 76    };
 77};
 78
 79template< typename V >
 80struct v_at< V,1 >
 81{
 82    typedef typename V::item1 type;
 83};
 84
 85template<
 86      typename T0, typename T1
 87    >
 88struct 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
102template<>
103struct 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
115template<>
116struct 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
126template<>
127struct 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
139template<>
140struct 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
150template< typename V >
151struct v_at< V,2 >
152{
153    typedef typename V::item2 type;
154};
155
156template<
157      typename T0, typename T1, typename T2
158    >
159struct 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
174template<>
175struct 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
187template<>
188struct 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
198template<>
199struct 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
211template<>
212struct 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
222template< typename V >
223struct v_at< V,3 >
224{
225    typedef typename V::item3 type;
226};
227
228template<
229      typename T0, typename T1, typename T2, typename T3
230    >
231struct 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
247template<>
248struct 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
261template<>
262struct 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
273template<>
274struct 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
287template<>
288struct 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
299template< typename V >
300struct v_at< V,4 >
301{
302    typedef typename V::item4 type;
303};
304
305template<
306      typename T0, typename T1, typename T2, typename T3, typename T4
307    >
308struct 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
325template<>
326struct 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
339template<>
340struct 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
351template<>
352struct 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
365template<>
366struct 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
377template< typename V >
378struct v_at< V,5 >
379{
380    typedef typename V::item5 type;
381};
382
383template<
384      typename T0, typename T1, typename T2, typename T3, typename T4
385    , typename T5
386    >
387struct 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
405template<>
406struct 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
420template<>
421struct 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
433template<>
434struct 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
448template<>
449struct 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
461template< typename V >
462struct v_at< V,6 >
463{
464    typedef typename V::item6 type;
465};
466
467template<
468      typename T0, typename T1, typename T2, typename T3, typename T4
469    , typename T5, typename T6
470    >
471struct 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
490template<>
491struct 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
505template<>
506struct 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
518template<>
519struct 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
533template<>
534struct 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
546template< typename V >
547struct v_at< V,7 >
548{
549    typedef typename V::item7 type;
550};
551
552template<
553      typename T0, typename T1, typename T2, typename T3, typename T4
554    , typename T5, typename T6, typename T7
555    >
556struct 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
576template<>
577struct 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
592template<>
593struct 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
606template<>
607struct 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
622template<>
623struct 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
636template< typename V >
637struct v_at< V,8 >
638{
639    typedef typename V::item8 type;
640};
641
642template<
643      typename T0, typename T1, typename T2, typename T3, typename T4
644    , typename T5, typename T6, typename T7, typename T8
645    >
646struct 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
667template<>
668struct 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
683template<>
684struct 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
697template<>
698struct 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
713template<>
714struct 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
727template< typename V >
728struct v_at< V,9 >
729{
730    typedef typename V::item9 type;
731};
732
733template<
734      typename T0, typename T1, typename T2, typename T3, typename T4
735    , typename T5, typename T6, typename T7, typename T8, typename T9
736    >
737struct 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
759template<>
760struct 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
776template<>
777struct 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
791template<>
792struct 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
808template<>
809struct 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
823template< typename V >
824struct v_at< V,10 >
825{
826    typedef typename V::item10 type;
827};
828
829}}