Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:41:49

0001 
0002 // Copyright Aleksey Gurtovoy 2000-2004
0003 //
0004 // Distributed under the Boost Software License, Version 1.0. 
0005 // (See accompanying file LICENSE_1_0.txt or copy at 
0006 // http://www.boost.org/LICENSE_1_0.txt)
0007 //
0008 
0009 // Preprocessed version of "boost/mpl/vector/vector10.hpp" header
0010 // -- DO NOT modify by hand!
0011 
0012 namespace boost { namespace mpl {
0013 
0014 template< typename V >
0015 struct v_at< V,0 >
0016 {
0017     typedef typename V::item0 type;
0018 };
0019 
0020 template<
0021       typename T0
0022     >
0023 struct vector1
0024 {
0025     typedef aux::vector_tag<1> tag;
0026     typedef vector1 type;
0027     typedef T0 item0;
0028     typedef void_ item1;
0029     typedef T0 back;
0030     typedef v_iter< type,0 > begin;
0031     typedef v_iter< type,1 > end;
0032 };
0033 
0034 template<>
0035 struct push_front_impl< aux::vector_tag<0> >
0036 {
0037     template< typename Vector, typename T > struct apply
0038     {
0039         typedef vector1<
0040               T
0041             > type;
0042     };
0043 };
0044 
0045 template<>
0046 struct pop_front_impl< aux::vector_tag<1> >
0047 {
0048     template< typename Vector > struct apply
0049     {
0050         typedef vector0<
0051              
0052             > type;
0053     };
0054 };
0055 
0056 template<>
0057 struct push_back_impl< aux::vector_tag<0> >
0058 {
0059     template< typename Vector, typename T > struct apply
0060     {
0061         typedef vector1<
0062              
0063               T
0064             > type;
0065     };
0066 };
0067 
0068 template<>
0069 struct pop_back_impl< aux::vector_tag<1> >
0070 {
0071     template< typename Vector > struct apply
0072     {
0073         typedef vector0<
0074              
0075             > type;
0076     };
0077 };
0078 
0079 template< typename V >
0080 struct v_at< V,1 >
0081 {
0082     typedef typename V::item1 type;
0083 };
0084 
0085 template<
0086       typename T0, typename T1
0087     >
0088 struct vector2
0089 {
0090     typedef aux::vector_tag<2> tag;
0091     typedef vector2 type;
0092     typedef T0 item0;
0093     typedef T1 item1;
0094     
0095 
0096     typedef void_ item2;
0097     typedef T1 back;
0098     typedef v_iter< type,0 > begin;
0099     typedef v_iter< type,2 > end;
0100 };
0101 
0102 template<>
0103 struct push_front_impl< aux::vector_tag<1> >
0104 {
0105     template< typename Vector, typename T > struct apply
0106     {
0107         typedef vector2<
0108               T
0109               ,
0110               typename Vector::item0
0111             > type;
0112     };
0113 };
0114 
0115 template<>
0116 struct pop_front_impl< aux::vector_tag<2> >
0117 {
0118     template< typename Vector > struct apply
0119     {
0120         typedef vector1<
0121               typename Vector::item1
0122             > type;
0123     };
0124 };
0125 
0126 template<>
0127 struct push_back_impl< aux::vector_tag<1> >
0128 {
0129     template< typename Vector, typename T > struct apply
0130     {
0131         typedef vector2<
0132               typename Vector::item0
0133               ,
0134               T
0135             > type;
0136     };
0137 };
0138 
0139 template<>
0140 struct pop_back_impl< aux::vector_tag<2> >
0141 {
0142     template< typename Vector > struct apply
0143     {
0144         typedef vector1<
0145               typename Vector::item0
0146             > type;
0147     };
0148 };
0149 
0150 template< typename V >
0151 struct v_at< V,2 >
0152 {
0153     typedef typename V::item2 type;
0154 };
0155 
0156 template<
0157       typename T0, typename T1, typename T2
0158     >
0159 struct vector3
0160 {
0161     typedef aux::vector_tag<3> tag;
0162     typedef vector3 type;
0163     typedef T0 item0;
0164     typedef T1 item1;
0165     typedef T2 item2;
0166     
0167 
0168     typedef void_ item3;
0169     typedef T2 back;
0170     typedef v_iter< type,0 > begin;
0171     typedef v_iter< type,3 > end;
0172 };
0173 
0174 template<>
0175 struct push_front_impl< aux::vector_tag<2> >
0176 {
0177     template< typename Vector, typename T > struct apply
0178     {
0179         typedef vector3<
0180               T
0181               ,
0182               typename Vector::item0, typename Vector::item1
0183             > type;
0184     };
0185 };
0186 
0187 template<>
0188 struct pop_front_impl< aux::vector_tag<3> >
0189 {
0190     template< typename Vector > struct apply
0191     {
0192         typedef vector2<
0193               typename Vector::item1, typename Vector::item2
0194             > type;
0195     };
0196 };
0197 
0198 template<>
0199 struct push_back_impl< aux::vector_tag<2> >
0200 {
0201     template< typename Vector, typename T > struct apply
0202     {
0203         typedef vector3<
0204               typename Vector::item0, typename Vector::item1
0205               ,
0206               T
0207             > type;
0208     };
0209 };
0210 
0211 template<>
0212 struct pop_back_impl< aux::vector_tag<3> >
0213 {
0214     template< typename Vector > struct apply
0215     {
0216         typedef vector2<
0217               typename Vector::item0, typename Vector::item1
0218             > type;
0219     };
0220 };
0221 
0222 template< typename V >
0223 struct v_at< V,3 >
0224 {
0225     typedef typename V::item3 type;
0226 };
0227 
0228 template<
0229       typename T0, typename T1, typename T2, typename T3
0230     >
0231 struct vector4
0232 {
0233     typedef aux::vector_tag<4> tag;
0234     typedef vector4 type;
0235     typedef T0 item0;
0236     typedef T1 item1;
0237     typedef T2 item2;
0238     typedef T3 item3;
0239     
0240 
0241     typedef void_ item4;
0242     typedef T3 back;
0243     typedef v_iter< type,0 > begin;
0244     typedef v_iter< type,4 > end;
0245 };
0246 
0247 template<>
0248 struct push_front_impl< aux::vector_tag<3> >
0249 {
0250     template< typename Vector, typename T > struct apply
0251     {
0252         typedef vector4<
0253               T
0254               ,
0255               typename Vector::item0, typename Vector::item1
0256             , typename Vector::item2
0257             > type;
0258     };
0259 };
0260 
0261 template<>
0262 struct pop_front_impl< aux::vector_tag<4> >
0263 {
0264     template< typename Vector > struct apply
0265     {
0266         typedef vector3<
0267               typename Vector::item1, typename Vector::item2
0268             , typename Vector::item3
0269             > type;
0270     };
0271 };
0272 
0273 template<>
0274 struct push_back_impl< aux::vector_tag<3> >
0275 {
0276     template< typename Vector, typename T > struct apply
0277     {
0278         typedef vector4<
0279               typename Vector::item0, typename Vector::item1
0280             , typename Vector::item2
0281               ,
0282               T
0283             > type;
0284     };
0285 };
0286 
0287 template<>
0288 struct pop_back_impl< aux::vector_tag<4> >
0289 {
0290     template< typename Vector > struct apply
0291     {
0292         typedef vector3<
0293               typename Vector::item0, typename Vector::item1
0294             , typename Vector::item2
0295             > type;
0296     };
0297 };
0298 
0299 template< typename V >
0300 struct v_at< V,4 >
0301 {
0302     typedef typename V::item4 type;
0303 };
0304 
0305 template<
0306       typename T0, typename T1, typename T2, typename T3, typename T4
0307     >
0308 struct vector5
0309 {
0310     typedef aux::vector_tag<5> tag;
0311     typedef vector5 type;
0312     typedef T0 item0;
0313     typedef T1 item1;
0314     typedef T2 item2;
0315     typedef T3 item3;
0316     typedef T4 item4;
0317     
0318 
0319     typedef void_ item5;
0320     typedef T4 back;
0321     typedef v_iter< type,0 > begin;
0322     typedef v_iter< type,5 > end;
0323 };
0324 
0325 template<>
0326 struct push_front_impl< aux::vector_tag<4> >
0327 {
0328     template< typename Vector, typename T > struct apply
0329     {
0330         typedef vector5<
0331               T
0332               ,
0333               typename Vector::item0, typename Vector::item1
0334             , typename Vector::item2, typename Vector::item3
0335             > type;
0336     };
0337 };
0338 
0339 template<>
0340 struct pop_front_impl< aux::vector_tag<5> >
0341 {
0342     template< typename Vector > struct apply
0343     {
0344         typedef vector4<
0345               typename Vector::item1, typename Vector::item2
0346             , typename Vector::item3, typename Vector::item4
0347             > type;
0348     };
0349 };
0350 
0351 template<>
0352 struct push_back_impl< aux::vector_tag<4> >
0353 {
0354     template< typename Vector, typename T > struct apply
0355     {
0356         typedef vector5<
0357               typename Vector::item0, typename Vector::item1
0358             , typename Vector::item2, typename Vector::item3
0359               ,
0360               T
0361             > type;
0362     };
0363 };
0364 
0365 template<>
0366 struct pop_back_impl< aux::vector_tag<5> >
0367 {
0368     template< typename Vector > struct apply
0369     {
0370         typedef vector4<
0371               typename Vector::item0, typename Vector::item1
0372             , typename Vector::item2, typename Vector::item3
0373             > type;
0374     };
0375 };
0376 
0377 template< typename V >
0378 struct v_at< V,5 >
0379 {
0380     typedef typename V::item5 type;
0381 };
0382 
0383 template<
0384       typename T0, typename T1, typename T2, typename T3, typename T4
0385     , typename T5
0386     >
0387 struct vector6
0388 {
0389     typedef aux::vector_tag<6> tag;
0390     typedef vector6 type;
0391     typedef T0 item0;
0392     typedef T1 item1;
0393     typedef T2 item2;
0394     typedef T3 item3;
0395     typedef T4 item4;
0396     typedef T5 item5;
0397     
0398 
0399     typedef void_ item6;
0400     typedef T5 back;
0401     typedef v_iter< type,0 > begin;
0402     typedef v_iter< type,6 > end;
0403 };
0404 
0405 template<>
0406 struct push_front_impl< aux::vector_tag<5> >
0407 {
0408     template< typename Vector, typename T > struct apply
0409     {
0410         typedef vector6<
0411               T
0412               ,
0413               typename Vector::item0, typename Vector::item1
0414             , typename Vector::item2, typename Vector::item3
0415             , typename Vector::item4
0416             > type;
0417     };
0418 };
0419 
0420 template<>
0421 struct pop_front_impl< aux::vector_tag<6> >
0422 {
0423     template< typename Vector > struct apply
0424     {
0425         typedef vector5<
0426               typename Vector::item1, typename Vector::item2
0427             , typename Vector::item3, typename Vector::item4
0428             , typename Vector::item5
0429             > type;
0430     };
0431 };
0432 
0433 template<>
0434 struct push_back_impl< aux::vector_tag<5> >
0435 {
0436     template< typename Vector, typename T > struct apply
0437     {
0438         typedef vector6<
0439               typename Vector::item0, typename Vector::item1
0440             , typename Vector::item2, typename Vector::item3
0441             , typename Vector::item4
0442               ,
0443               T
0444             > type;
0445     };
0446 };
0447 
0448 template<>
0449 struct pop_back_impl< aux::vector_tag<6> >
0450 {
0451     template< typename Vector > struct apply
0452     {
0453         typedef vector5<
0454               typename Vector::item0, typename Vector::item1
0455             , typename Vector::item2, typename Vector::item3
0456             , typename Vector::item4
0457             > type;
0458     };
0459 };
0460 
0461 template< typename V >
0462 struct v_at< V,6 >
0463 {
0464     typedef typename V::item6 type;
0465 };
0466 
0467 template<
0468       typename T0, typename T1, typename T2, typename T3, typename T4
0469     , typename T5, typename T6
0470     >
0471 struct vector7
0472 {
0473     typedef aux::vector_tag<7> tag;
0474     typedef vector7 type;
0475     typedef T0 item0;
0476     typedef T1 item1;
0477     typedef T2 item2;
0478     typedef T3 item3;
0479     typedef T4 item4;
0480     typedef T5 item5;
0481     typedef T6 item6;
0482     
0483 
0484     typedef void_ item7;
0485     typedef T6 back;
0486     typedef v_iter< type,0 > begin;
0487     typedef v_iter< type,7 > end;
0488 };
0489 
0490 template<>
0491 struct push_front_impl< aux::vector_tag<6> >
0492 {
0493     template< typename Vector, typename T > struct apply
0494     {
0495         typedef vector7<
0496               T
0497               ,
0498               typename Vector::item0, typename Vector::item1
0499             , typename Vector::item2, typename Vector::item3
0500             , typename Vector::item4, typename Vector::item5
0501             > type;
0502     };
0503 };
0504 
0505 template<>
0506 struct pop_front_impl< aux::vector_tag<7> >
0507 {
0508     template< typename Vector > struct apply
0509     {
0510         typedef vector6<
0511               typename Vector::item1, typename Vector::item2
0512             , typename Vector::item3, typename Vector::item4
0513             , typename Vector::item5, typename Vector::item6
0514             > type;
0515     };
0516 };
0517 
0518 template<>
0519 struct push_back_impl< aux::vector_tag<6> >
0520 {
0521     template< typename Vector, typename T > struct apply
0522     {
0523         typedef vector7<
0524               typename Vector::item0, typename Vector::item1
0525             , typename Vector::item2, typename Vector::item3
0526             , typename Vector::item4, typename Vector::item5
0527               ,
0528               T
0529             > type;
0530     };
0531 };
0532 
0533 template<>
0534 struct pop_back_impl< aux::vector_tag<7> >
0535 {
0536     template< typename Vector > struct apply
0537     {
0538         typedef vector6<
0539               typename Vector::item0, typename Vector::item1
0540             , typename Vector::item2, typename Vector::item3
0541             , typename Vector::item4, typename Vector::item5
0542             > type;
0543     };
0544 };
0545 
0546 template< typename V >
0547 struct v_at< V,7 >
0548 {
0549     typedef typename V::item7 type;
0550 };
0551 
0552 template<
0553       typename T0, typename T1, typename T2, typename T3, typename T4
0554     , typename T5, typename T6, typename T7
0555     >
0556 struct vector8
0557 {
0558     typedef aux::vector_tag<8> tag;
0559     typedef vector8 type;
0560     typedef T0 item0;
0561     typedef T1 item1;
0562     typedef T2 item2;
0563     typedef T3 item3;
0564     typedef T4 item4;
0565     typedef T5 item5;
0566     typedef T6 item6;
0567     typedef T7 item7;
0568     
0569 
0570     typedef void_ item8;
0571     typedef T7 back;
0572     typedef v_iter< type,0 > begin;
0573     typedef v_iter< type,8 > end;
0574 };
0575 
0576 template<>
0577 struct push_front_impl< aux::vector_tag<7> >
0578 {
0579     template< typename Vector, typename T > struct apply
0580     {
0581         typedef vector8<
0582               T
0583               ,
0584               typename Vector::item0, typename Vector::item1
0585             , typename Vector::item2, typename Vector::item3
0586             , typename Vector::item4, typename Vector::item5
0587             , typename Vector::item6
0588             > type;
0589     };
0590 };
0591 
0592 template<>
0593 struct pop_front_impl< aux::vector_tag<8> >
0594 {
0595     template< typename Vector > struct apply
0596     {
0597         typedef vector7<
0598               typename Vector::item1, typename Vector::item2
0599             , typename Vector::item3, typename Vector::item4
0600             , typename Vector::item5, typename Vector::item6
0601             , typename Vector::item7
0602             > type;
0603     };
0604 };
0605 
0606 template<>
0607 struct push_back_impl< aux::vector_tag<7> >
0608 {
0609     template< typename Vector, typename T > struct apply
0610     {
0611         typedef vector8<
0612               typename Vector::item0, typename Vector::item1
0613             , typename Vector::item2, typename Vector::item3
0614             , typename Vector::item4, typename Vector::item5
0615             , typename Vector::item6
0616               ,
0617               T
0618             > type;
0619     };
0620 };
0621 
0622 template<>
0623 struct pop_back_impl< aux::vector_tag<8> >
0624 {
0625     template< typename Vector > struct apply
0626     {
0627         typedef vector7<
0628               typename Vector::item0, typename Vector::item1
0629             , typename Vector::item2, typename Vector::item3
0630             , typename Vector::item4, typename Vector::item5
0631             , typename Vector::item6
0632             > type;
0633     };
0634 };
0635 
0636 template< typename V >
0637 struct v_at< V,8 >
0638 {
0639     typedef typename V::item8 type;
0640 };
0641 
0642 template<
0643       typename T0, typename T1, typename T2, typename T3, typename T4
0644     , typename T5, typename T6, typename T7, typename T8
0645     >
0646 struct vector9
0647 {
0648     typedef aux::vector_tag<9> tag;
0649     typedef vector9 type;
0650     typedef T0 item0;
0651     typedef T1 item1;
0652     typedef T2 item2;
0653     typedef T3 item3;
0654     typedef T4 item4;
0655     typedef T5 item5;
0656     typedef T6 item6;
0657     typedef T7 item7;
0658     typedef T8 item8;
0659     
0660 
0661     typedef void_ item9;
0662     typedef T8 back;
0663     typedef v_iter< type,0 > begin;
0664     typedef v_iter< type,9 > end;
0665 };
0666 
0667 template<>
0668 struct push_front_impl< aux::vector_tag<8> >
0669 {
0670     template< typename Vector, typename T > struct apply
0671     {
0672         typedef vector9<
0673               T
0674               ,
0675               typename Vector::item0, typename Vector::item1
0676             , typename Vector::item2, typename Vector::item3
0677             , typename Vector::item4, typename Vector::item5
0678             , typename Vector::item6, typename Vector::item7
0679             > type;
0680     };
0681 };
0682 
0683 template<>
0684 struct pop_front_impl< aux::vector_tag<9> >
0685 {
0686     template< typename Vector > struct apply
0687     {
0688         typedef vector8<
0689               typename Vector::item1, typename Vector::item2
0690             , typename Vector::item3, typename Vector::item4
0691             , typename Vector::item5, typename Vector::item6
0692             , typename Vector::item7, typename Vector::item8
0693             > type;
0694     };
0695 };
0696 
0697 template<>
0698 struct push_back_impl< aux::vector_tag<8> >
0699 {
0700     template< typename Vector, typename T > struct apply
0701     {
0702         typedef vector9<
0703               typename Vector::item0, typename Vector::item1
0704             , typename Vector::item2, typename Vector::item3
0705             , typename Vector::item4, typename Vector::item5
0706             , typename Vector::item6, typename Vector::item7
0707               ,
0708               T
0709             > type;
0710     };
0711 };
0712 
0713 template<>
0714 struct pop_back_impl< aux::vector_tag<9> >
0715 {
0716     template< typename Vector > struct apply
0717     {
0718         typedef vector8<
0719               typename Vector::item0, typename Vector::item1
0720             , typename Vector::item2, typename Vector::item3
0721             , typename Vector::item4, typename Vector::item5
0722             , typename Vector::item6, typename Vector::item7
0723             > type;
0724     };
0725 };
0726 
0727 template< typename V >
0728 struct v_at< V,9 >
0729 {
0730     typedef typename V::item9 type;
0731 };
0732 
0733 template<
0734       typename T0, typename T1, typename T2, typename T3, typename T4
0735     , typename T5, typename T6, typename T7, typename T8, typename T9
0736     >
0737 struct vector10
0738 {
0739     typedef aux::vector_tag<10> tag;
0740     typedef vector10 type;
0741     typedef T0 item0;
0742     typedef T1 item1;
0743     typedef T2 item2;
0744     typedef T3 item3;
0745     typedef T4 item4;
0746     typedef T5 item5;
0747     typedef T6 item6;
0748     typedef T7 item7;
0749     typedef T8 item8;
0750     typedef T9 item9;
0751     
0752 
0753     typedef void_ item10;
0754     typedef T9 back;
0755     typedef v_iter< type,0 > begin;
0756     typedef v_iter< type,10 > end;
0757 };
0758 
0759 template<>
0760 struct push_front_impl< aux::vector_tag<9> >
0761 {
0762     template< typename Vector, typename T > struct apply
0763     {
0764         typedef vector10<
0765               T
0766               ,
0767               typename Vector::item0, typename Vector::item1
0768             , typename Vector::item2, typename Vector::item3
0769             , typename Vector::item4, typename Vector::item5
0770             , typename Vector::item6, typename Vector::item7
0771             , typename Vector::item8
0772             > type;
0773     };
0774 };
0775 
0776 template<>
0777 struct pop_front_impl< aux::vector_tag<10> >
0778 {
0779     template< typename Vector > struct apply
0780     {
0781         typedef vector9<
0782               typename Vector::item1, typename Vector::item2
0783             , typename Vector::item3, typename Vector::item4
0784             , typename Vector::item5, typename Vector::item6
0785             , typename Vector::item7, typename Vector::item8
0786             , typename Vector::item9
0787             > type;
0788     };
0789 };
0790 
0791 template<>
0792 struct push_back_impl< aux::vector_tag<9> >
0793 {
0794     template< typename Vector, typename T > struct apply
0795     {
0796         typedef vector10<
0797               typename Vector::item0, typename Vector::item1
0798             , typename Vector::item2, typename Vector::item3
0799             , typename Vector::item4, typename Vector::item5
0800             , typename Vector::item6, typename Vector::item7
0801             , typename Vector::item8
0802               ,
0803               T
0804             > type;
0805     };
0806 };
0807 
0808 template<>
0809 struct pop_back_impl< aux::vector_tag<10> >
0810 {
0811     template< typename Vector > struct apply
0812     {
0813         typedef vector9<
0814               typename Vector::item0, typename Vector::item1
0815             , typename Vector::item2, typename Vector::item3
0816             , typename Vector::item4, typename Vector::item5
0817             , typename Vector::item6, typename Vector::item7
0818             , typename Vector::item8
0819             > type;
0820     };
0821 };
0822 
0823 template< typename V >
0824 struct v_at< V,10 >
0825 {
0826     typedef typename V::item10 type;
0827 };
0828 
0829 }}