Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:47:42

0001 /*==============================================================================
0002     Copyright (c) 2005-2010 Joel de Guzman
0003     Copyright (c) 2010 Thomas Heller
0004 
0005     Distributed under the Boost Software License, Version 1.0. (See accompanying
0006     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0007 ==============================================================================*/
0008 namespace boost { namespace phoenix
0009 {
0010     template <typename Dummy = void>
0011     struct vector0
0012     {
0013         typedef mpl::int_<0> size_type;
0014         static const int size_value = 0;
0015     };
0016     template <int> struct vector_chooser;
0017     template <>
0018     struct vector_chooser<0>
0019     {
0020         template <typename Dummy = void>
0021         struct apply
0022         {
0023             typedef vector0<> type;
0024         };
0025     };
0026 }}
0027     
0028     
0029     
0030     
0031     
0032     
0033     
0034 namespace boost { namespace phoenix
0035 {
0036     template <typename A0>
0037     struct vector1
0038     {
0039         typedef A0 member_type0; A0 a0;
0040         
0041         typedef mpl::int_<1> size_type;
0042         static const int size_value = 1;
0043         typedef
0044             vector0<>
0045             args_type;
0046         args_type args() const
0047         {
0048             args_type r = {};
0049             return r;
0050         }
0051     };
0052     template <>
0053     struct vector_chooser<1>
0054     {
0055         template <typename A0>
0056         struct apply
0057         {
0058             typedef vector1<A0> type;
0059         };
0060     };
0061 }}
0062 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
0063     (A0)
0064   , ( boost::phoenix::vector1 ) (A0)
0065   , (A0, a0)
0066 )
0067     
0068     
0069     
0070     
0071     
0072     
0073     
0074 namespace boost { namespace phoenix
0075 {
0076     template <typename A0 , typename A1>
0077     struct vector2
0078     {
0079         typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1;
0080         
0081         typedef mpl::int_<2> size_type;
0082         static const int size_value = 2;
0083         typedef
0084             vector1<A1>
0085             args_type;
0086         args_type args() const
0087         {
0088             args_type r = {a1};
0089             return r;
0090         }
0091     };
0092     template <>
0093     struct vector_chooser<2>
0094     {
0095         template <typename A0 , typename A1>
0096         struct apply
0097         {
0098             typedef vector2<A0 , A1> type;
0099         };
0100     };
0101 }}
0102 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
0103     (A0) (A1)
0104   , ( boost::phoenix::vector2 ) (A0) (A1)
0105   , (A0, a0) (A1, a1)
0106 )
0107     
0108     
0109     
0110     
0111     
0112     
0113     
0114 namespace boost { namespace phoenix
0115 {
0116     template <typename A0 , typename A1 , typename A2>
0117     struct vector3
0118     {
0119         typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2;
0120         
0121         typedef mpl::int_<3> size_type;
0122         static const int size_value = 3;
0123         typedef
0124             vector2<A1 , A2>
0125             args_type;
0126         args_type args() const
0127         {
0128             args_type r = {a1 , a2};
0129             return r;
0130         }
0131     };
0132     template <>
0133     struct vector_chooser<3>
0134     {
0135         template <typename A0 , typename A1 , typename A2>
0136         struct apply
0137         {
0138             typedef vector3<A0 , A1 , A2> type;
0139         };
0140     };
0141 }}
0142 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
0143     (A0) (A1) (A2)
0144   , ( boost::phoenix::vector3 ) (A0) (A1) (A2)
0145   , (A0, a0) (A1, a1) (A2, a2)
0146 )
0147     
0148     
0149     
0150     
0151     
0152     
0153     
0154 namespace boost { namespace phoenix
0155 {
0156     template <typename A0 , typename A1 , typename A2 , typename A3>
0157     struct vector4
0158     {
0159         typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3;
0160         
0161         typedef mpl::int_<4> size_type;
0162         static const int size_value = 4;
0163         typedef
0164             vector3<A1 , A2 , A3>
0165             args_type;
0166         args_type args() const
0167         {
0168             args_type r = {a1 , a2 , a3};
0169             return r;
0170         }
0171     };
0172     template <>
0173     struct vector_chooser<4>
0174     {
0175         template <typename A0 , typename A1 , typename A2 , typename A3>
0176         struct apply
0177         {
0178             typedef vector4<A0 , A1 , A2 , A3> type;
0179         };
0180     };
0181 }}
0182 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
0183     (A0) (A1) (A2) (A3)
0184   , ( boost::phoenix::vector4 ) (A0) (A1) (A2) (A3)
0185   , (A0, a0) (A1, a1) (A2, a2) (A3, a3)
0186 )
0187     
0188     
0189     
0190     
0191     
0192     
0193     
0194 namespace boost { namespace phoenix
0195 {
0196     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
0197     struct vector5
0198     {
0199         typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4;
0200         
0201         typedef mpl::int_<5> size_type;
0202         static const int size_value = 5;
0203         typedef
0204             vector4<A1 , A2 , A3 , A4>
0205             args_type;
0206         args_type args() const
0207         {
0208             args_type r = {a1 , a2 , a3 , a4};
0209             return r;
0210         }
0211     };
0212     template <>
0213     struct vector_chooser<5>
0214     {
0215         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
0216         struct apply
0217         {
0218             typedef vector5<A0 , A1 , A2 , A3 , A4> type;
0219         };
0220     };
0221 }}
0222 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
0223     (A0) (A1) (A2) (A3) (A4)
0224   , ( boost::phoenix::vector5 ) (A0) (A1) (A2) (A3) (A4)
0225   , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4)
0226 )
0227     
0228     
0229     
0230     
0231     
0232     
0233     
0234 namespace boost { namespace phoenix
0235 {
0236     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
0237     struct vector6
0238     {
0239         typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5;
0240         
0241         typedef mpl::int_<6> size_type;
0242         static const int size_value = 6;
0243         typedef
0244             vector5<A1 , A2 , A3 , A4 , A5>
0245             args_type;
0246         args_type args() const
0247         {
0248             args_type r = {a1 , a2 , a3 , a4 , a5};
0249             return r;
0250         }
0251     };
0252     template <>
0253     struct vector_chooser<6>
0254     {
0255         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
0256         struct apply
0257         {
0258             typedef vector6<A0 , A1 , A2 , A3 , A4 , A5> type;
0259         };
0260     };
0261 }}
0262 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
0263     (A0) (A1) (A2) (A3) (A4) (A5)
0264   , ( boost::phoenix::vector6 ) (A0) (A1) (A2) (A3) (A4) (A5)
0265   , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5)
0266 )
0267     
0268     
0269     
0270     
0271     
0272     
0273     
0274 namespace boost { namespace phoenix
0275 {
0276     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
0277     struct vector7
0278     {
0279         typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6;
0280         
0281         typedef mpl::int_<7> size_type;
0282         static const int size_value = 7;
0283         typedef
0284             vector6<A1 , A2 , A3 , A4 , A5 , A6>
0285             args_type;
0286         args_type args() const
0287         {
0288             args_type r = {a1 , a2 , a3 , a4 , a5 , a6};
0289             return r;
0290         }
0291     };
0292     template <>
0293     struct vector_chooser<7>
0294     {
0295         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
0296         struct apply
0297         {
0298             typedef vector7<A0 , A1 , A2 , A3 , A4 , A5 , A6> type;
0299         };
0300     };
0301 }}
0302 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
0303     (A0) (A1) (A2) (A3) (A4) (A5) (A6)
0304   , ( boost::phoenix::vector7 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6)
0305   , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6)
0306 )
0307     
0308     
0309     
0310     
0311     
0312     
0313     
0314 namespace boost { namespace phoenix
0315 {
0316     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
0317     struct vector8
0318     {
0319         typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7;
0320         
0321         typedef mpl::int_<8> size_type;
0322         static const int size_value = 8;
0323         typedef
0324             vector7<A1 , A2 , A3 , A4 , A5 , A6 , A7>
0325             args_type;
0326         args_type args() const
0327         {
0328             args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7};
0329             return r;
0330         }
0331     };
0332     template <>
0333     struct vector_chooser<8>
0334     {
0335         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
0336         struct apply
0337         {
0338             typedef vector8<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> type;
0339         };
0340     };
0341 }}
0342 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
0343     (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
0344   , ( boost::phoenix::vector8 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
0345   , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7)
0346 )
0347     
0348     
0349     
0350     
0351     
0352     
0353     
0354 namespace boost { namespace phoenix
0355 {
0356     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
0357     struct vector9
0358     {
0359         typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8;
0360         
0361         typedef mpl::int_<9> size_type;
0362         static const int size_value = 9;
0363         typedef
0364             vector8<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
0365             args_type;
0366         args_type args() const
0367         {
0368             args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
0369             return r;
0370         }
0371     };
0372     template <>
0373     struct vector_chooser<9>
0374     {
0375         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
0376         struct apply
0377         {
0378             typedef vector9<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> type;
0379         };
0380     };
0381 }}
0382 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
0383     (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
0384   , ( boost::phoenix::vector9 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
0385   , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8)
0386 )
0387     
0388     
0389     
0390     
0391     
0392     
0393     
0394 namespace boost { namespace phoenix
0395 {
0396     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
0397     struct vector10
0398     {
0399         typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9;
0400         
0401         typedef mpl::int_<10> size_type;
0402         static const int size_value = 10;
0403         typedef
0404             vector9<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
0405             args_type;
0406         args_type args() const
0407         {
0408             args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
0409             return r;
0410         }
0411     };
0412     template <>
0413     struct vector_chooser<10>
0414     {
0415         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
0416         struct apply
0417         {
0418             typedef vector10<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> type;
0419         };
0420     };
0421 }}
0422 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
0423     (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
0424   , ( boost::phoenix::vector10 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
0425   , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9)
0426 )
0427     
0428     
0429     
0430     
0431     
0432     
0433     
0434 namespace boost { namespace phoenix
0435 {
0436     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
0437     struct vector11
0438     {
0439         typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10;
0440         
0441         typedef mpl::int_<11> size_type;
0442         static const int size_value = 11;
0443         typedef
0444             vector10<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
0445             args_type;
0446         args_type args() const
0447         {
0448             args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
0449             return r;
0450         }
0451     };
0452     template <>
0453     struct vector_chooser<11>
0454     {
0455         template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
0456         struct apply
0457         {
0458             typedef vector11<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> type;
0459         };
0460     };
0461 }}
0462 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
0463     (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
0464   , ( boost::phoenix::vector11 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
0465   , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10)
0466 )