Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:46:04

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     
0009     
0010     
0011     
0012     
0013     
0014     
0015     template <typename A0>
0016     struct dynamic<A0> : noncopyable
0017     {
0018         typedef
0019             vector1<A0>
0020             tuple_type;
0021         typedef
0022             dynamic<A0>
0023             self_type;
0024         typedef
0025             dynamic_frame<self_type>
0026             dynamic_frame_type;
0027         dynamic()
0028             : frame(0) {}
0029         template <int N>
0030         static
0031         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
0032         init(self_type * scope)
0033         {
0034             return
0035                 expression::
0036                     dynamic_member<mpl::int_<N>, self_type *>::
0037                         make(mpl::int_<N>(), scope);
0038         }
0039         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type const member1;
0040         mutable dynamic_frame_type* frame;
0041     };
0042     
0043     
0044     
0045     
0046     
0047     
0048     
0049     template <typename A0 , typename A1>
0050     struct dynamic<A0 , A1> : noncopyable
0051     {
0052         typedef
0053             vector2<A0 , A1>
0054             tuple_type;
0055         typedef
0056             dynamic<A0 , A1>
0057             self_type;
0058         typedef
0059             dynamic_frame<self_type>
0060             dynamic_frame_type;
0061         dynamic()
0062             : frame(0) {}
0063         template <int N>
0064         static
0065         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
0066         init(self_type * scope)
0067         {
0068             return
0069                 expression::
0070                     dynamic_member<mpl::int_<N>, self_type *>::
0071                         make(mpl::int_<N>(), scope);
0072         }
0073         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type const member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type const member2;
0074         mutable dynamic_frame_type* frame;
0075     };
0076     
0077     
0078     
0079     
0080     
0081     
0082     
0083     template <typename A0 , typename A1 , typename A2>
0084     struct dynamic<A0 , A1 , A2> : noncopyable
0085     {
0086         typedef
0087             vector3<A0 , A1 , A2>
0088             tuple_type;
0089         typedef
0090             dynamic<A0 , A1 , A2>
0091             self_type;
0092         typedef
0093             dynamic_frame<self_type>
0094             dynamic_frame_type;
0095         dynamic()
0096             : frame(0) {}
0097         template <int N>
0098         static
0099         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
0100         init(self_type * scope)
0101         {
0102             return
0103                 expression::
0104                     dynamic_member<mpl::int_<N>, self_type *>::
0105                         make(mpl::int_<N>(), scope);
0106         }
0107         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type const member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type const member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type const member3;
0108         mutable dynamic_frame_type* frame;
0109     };
0110     
0111     
0112     
0113     
0114     
0115     
0116     
0117     template <typename A0 , typename A1 , typename A2 , typename A3>
0118     struct dynamic<A0 , A1 , A2 , A3> : noncopyable
0119     {
0120         typedef
0121             vector4<A0 , A1 , A2 , A3>
0122             tuple_type;
0123         typedef
0124             dynamic<A0 , A1 , A2 , A3>
0125             self_type;
0126         typedef
0127             dynamic_frame<self_type>
0128             dynamic_frame_type;
0129         dynamic()
0130             : frame(0) {}
0131         template <int N>
0132         static
0133         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
0134         init(self_type * scope)
0135         {
0136             return
0137                 expression::
0138                     dynamic_member<mpl::int_<N>, self_type *>::
0139                         make(mpl::int_<N>(), scope);
0140         }
0141         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type const member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type const member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type const member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type const member4;
0142         mutable dynamic_frame_type* frame;
0143     };
0144     
0145     
0146     
0147     
0148     
0149     
0150     
0151     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
0152     struct dynamic<A0 , A1 , A2 , A3 , A4> : noncopyable
0153     {
0154         typedef
0155             vector5<A0 , A1 , A2 , A3 , A4>
0156             tuple_type;
0157         typedef
0158             dynamic<A0 , A1 , A2 , A3 , A4>
0159             self_type;
0160         typedef
0161             dynamic_frame<self_type>
0162             dynamic_frame_type;
0163         dynamic()
0164             : frame(0) {}
0165         template <int N>
0166         static
0167         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
0168         init(self_type * scope)
0169         {
0170             return
0171                 expression::
0172                     dynamic_member<mpl::int_<N>, self_type *>::
0173                         make(mpl::int_<N>(), scope);
0174         }
0175         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type const member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type const member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type const member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type const member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type const member5;
0176         mutable dynamic_frame_type* frame;
0177     };
0178     
0179     
0180     
0181     
0182     
0183     
0184     
0185     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
0186     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5> : noncopyable
0187     {
0188         typedef
0189             vector6<A0 , A1 , A2 , A3 , A4 , A5>
0190             tuple_type;
0191         typedef
0192             dynamic<A0 , A1 , A2 , A3 , A4 , A5>
0193             self_type;
0194         typedef
0195             dynamic_frame<self_type>
0196             dynamic_frame_type;
0197         dynamic()
0198             : frame(0) {}
0199         template <int N>
0200         static
0201         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
0202         init(self_type * scope)
0203         {
0204             return
0205                 expression::
0206                     dynamic_member<mpl::int_<N>, self_type *>::
0207                         make(mpl::int_<N>(), scope);
0208         }
0209         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type const member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type const member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type const member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type const member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type const member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type const member6;
0210         mutable dynamic_frame_type* frame;
0211     };
0212     
0213     
0214     
0215     
0216     
0217     
0218     
0219     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
0220     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6> : noncopyable
0221     {
0222         typedef
0223             vector7<A0 , A1 , A2 , A3 , A4 , A5 , A6>
0224             tuple_type;
0225         typedef
0226             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6>
0227             self_type;
0228         typedef
0229             dynamic_frame<self_type>
0230             dynamic_frame_type;
0231         dynamic()
0232             : frame(0) {}
0233         template <int N>
0234         static
0235         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
0236         init(self_type * scope)
0237         {
0238             return
0239                 expression::
0240                     dynamic_member<mpl::int_<N>, self_type *>::
0241                         make(mpl::int_<N>(), scope);
0242         }
0243         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type const member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type const member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type const member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type const member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type const member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type const member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type const member7;
0244         mutable dynamic_frame_type* frame;
0245     };
0246     
0247     
0248     
0249     
0250     
0251     
0252     
0253     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
0254     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> : noncopyable
0255     {
0256         typedef
0257             vector8<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
0258             tuple_type;
0259         typedef
0260             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
0261             self_type;
0262         typedef
0263             dynamic_frame<self_type>
0264             dynamic_frame_type;
0265         dynamic()
0266             : frame(0) {}
0267         template <int N>
0268         static
0269         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
0270         init(self_type * scope)
0271         {
0272             return
0273                 expression::
0274                     dynamic_member<mpl::int_<N>, self_type *>::
0275                         make(mpl::int_<N>(), scope);
0276         }
0277         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type const member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type const member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type const member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type const member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type const member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type const member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type const member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type const member8;
0278         mutable dynamic_frame_type* frame;
0279     };
0280     
0281     
0282     
0283     
0284     
0285     
0286     
0287     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
0288     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> : noncopyable
0289     {
0290         typedef
0291             vector9<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
0292             tuple_type;
0293         typedef
0294             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
0295             self_type;
0296         typedef
0297             dynamic_frame<self_type>
0298             dynamic_frame_type;
0299         dynamic()
0300             : frame(0) {}
0301         template <int N>
0302         static
0303         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
0304         init(self_type * scope)
0305         {
0306             return
0307                 expression::
0308                     dynamic_member<mpl::int_<N>, self_type *>::
0309                         make(mpl::int_<N>(), scope);
0310         }
0311         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type const member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type const member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type const member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type const member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type const member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type const member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type const member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type const member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type const member9;
0312         mutable dynamic_frame_type* frame;
0313     };
0314     
0315     
0316     
0317     
0318     
0319     
0320     
0321     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
0322     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> : noncopyable
0323     {
0324         typedef
0325             vector10<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
0326             tuple_type;
0327         typedef
0328             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
0329             self_type;
0330         typedef
0331             dynamic_frame<self_type>
0332             dynamic_frame_type;
0333         dynamic()
0334             : frame(0) {}
0335         template <int N>
0336         static
0337         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
0338         init(self_type * scope)
0339         {
0340             return
0341                 expression::
0342                     dynamic_member<mpl::int_<N>, self_type *>::
0343                         make(mpl::int_<N>(), scope);
0344         }
0345         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type const member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type const member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type const member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type const member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type const member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type const member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type const member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type const member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type const member9; typedef typename expression::dynamic_member< mpl::int_< 9> , self_type * >::type const member10;
0346         mutable dynamic_frame_type* frame;
0347     };