1 /*==============================================================================
2 Copyright (c) 2005-2010 Joel de Guzman
3 Copyright (c) 2010 Thomas Heller
5 Distributed under the Boost Software License, Version 1.0. (See accompanying
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 ==============================================================================*/
15 template <typename A0>
16 struct dynamic<A0> : noncopyable
25 dynamic_frame<self_type>
31 typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
32 init(self_type * scope)
36 dynamic_member<mpl::int_<N>, self_type *>::
37 make(mpl::int_<N>(), scope);
39 typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type const member1;
40 mutable dynamic_frame_type* frame;
49 template <typename A0 , typename A1>
50 struct dynamic<A0 , A1> : noncopyable
59 dynamic_frame<self_type>
65 typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
66 init(self_type * scope)
70 dynamic_member<mpl::int_<N>, self_type *>::
71 make(mpl::int_<N>(), scope);
73 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;
74 mutable dynamic_frame_type* frame;
83 template <typename A0 , typename A1 , typename A2>
84 struct dynamic<A0 , A1 , A2> : noncopyable
93 dynamic_frame<self_type>
99 typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
100 init(self_type * scope)
104 dynamic_member<mpl::int_<N>, self_type *>::
105 make(mpl::int_<N>(), scope);
107 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;
108 mutable dynamic_frame_type* frame;
117 template <typename A0 , typename A1 , typename A2 , typename A3>
118 struct dynamic<A0 , A1 , A2 , A3> : noncopyable
121 vector4<A0 , A1 , A2 , A3>
124 dynamic<A0 , A1 , A2 , A3>
127 dynamic_frame<self_type>
133 typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
134 init(self_type * scope)
138 dynamic_member<mpl::int_<N>, self_type *>::
139 make(mpl::int_<N>(), scope);
141 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;
142 mutable dynamic_frame_type* frame;
151 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
152 struct dynamic<A0 , A1 , A2 , A3 , A4> : noncopyable
155 vector5<A0 , A1 , A2 , A3 , A4>
158 dynamic<A0 , A1 , A2 , A3 , A4>
161 dynamic_frame<self_type>
167 typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
168 init(self_type * scope)
172 dynamic_member<mpl::int_<N>, self_type *>::
173 make(mpl::int_<N>(), scope);
175 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;
176 mutable dynamic_frame_type* frame;
185 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
186 struct dynamic<A0 , A1 , A2 , A3 , A4 , A5> : noncopyable
189 vector6<A0 , A1 , A2 , A3 , A4 , A5>
192 dynamic<A0 , A1 , A2 , A3 , A4 , A5>
195 dynamic_frame<self_type>
201 typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
202 init(self_type * scope)
206 dynamic_member<mpl::int_<N>, self_type *>::
207 make(mpl::int_<N>(), scope);
209 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;
210 mutable dynamic_frame_type* frame;
219 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
220 struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6> : noncopyable
223 vector7<A0 , A1 , A2 , A3 , A4 , A5 , A6>
226 dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6>
229 dynamic_frame<self_type>
235 typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
236 init(self_type * scope)
240 dynamic_member<mpl::int_<N>, self_type *>::
241 make(mpl::int_<N>(), scope);
243 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;
244 mutable dynamic_frame_type* frame;
253 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
254 struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> : noncopyable
257 vector8<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
260 dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
263 dynamic_frame<self_type>
269 typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
270 init(self_type * scope)
274 dynamic_member<mpl::int_<N>, self_type *>::
275 make(mpl::int_<N>(), scope);
277 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;
278 mutable dynamic_frame_type* frame;
287 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
288 struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> : noncopyable
291 vector9<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
294 dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
297 dynamic_frame<self_type>
303 typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
304 init(self_type * scope)
308 dynamic_member<mpl::int_<N>, self_type *>::
309 make(mpl::int_<N>(), scope);
311 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;
312 mutable dynamic_frame_type* frame;
321 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
322 struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> : noncopyable
325 vector10<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
328 dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
331 dynamic_frame<self_type>
337 typename expression::dynamic_member<mpl::int_<N>, self_type *>::type const
338 init(self_type * scope)
342 dynamic_member<mpl::int_<N>, self_type *>::
343 make(mpl::int_<N>(), scope);
345 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;
346 mutable dynamic_frame_type* frame;