1 /*==============================================================================
2     Copyright (c) 2005-2010 Joel de Guzman
3     Copyright (c) 2010 Thomas Heller
4 
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 ==============================================================================*/
8 
9 
10 
11 
12 
13 
14 
15     template <typename A0>
16     struct dynamic<A0> : noncopyable
17     {
18         typedef
19             vector1<A0>
20             tuple_type;
21         typedef
22             dynamic<A0>
23             self_type;
24         typedef
25             dynamic_frame<self_type>
26             dynamic_frame_type;
dynamicdynamic27         dynamic()
28             : frame(0) {}
29         template <int N>
30         static
31         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic32         init(self_type * scope)
33         {
34             return
35                 expression::
36                     dynamic_member<mpl::int_<N>, self_type *>::
37                         make(mpl::int_<N>(), scope);
38         }
39         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1;
40         mutable dynamic_frame_type* frame;
41     };
42 
43 
44 
45 
46 
47 
48 
49     template <typename A0 , typename A1>
50     struct dynamic<A0 , A1> : noncopyable
51     {
52         typedef
53             vector2<A0 , A1>
54             tuple_type;
55         typedef
56             dynamic<A0 , A1>
57             self_type;
58         typedef
59             dynamic_frame<self_type>
60             dynamic_frame_type;
dynamicdynamic61         dynamic()
62             : frame(0) {}
63         template <int N>
64         static
65         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic66         init(self_type * scope)
67         {
68             return
69                 expression::
70                     dynamic_member<mpl::int_<N>, self_type *>::
71                         make(mpl::int_<N>(), scope);
72         }
73         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2;
74         mutable dynamic_frame_type* frame;
75     };
76 
77 
78 
79 
80 
81 
82 
83     template <typename A0 , typename A1 , typename A2>
84     struct dynamic<A0 , A1 , A2> : noncopyable
85     {
86         typedef
87             vector3<A0 , A1 , A2>
88             tuple_type;
89         typedef
90             dynamic<A0 , A1 , A2>
91             self_type;
92         typedef
93             dynamic_frame<self_type>
94             dynamic_frame_type;
dynamicdynamic95         dynamic()
96             : frame(0) {}
97         template <int N>
98         static
99         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic100         init(self_type * scope)
101         {
102             return
103                 expression::
104                     dynamic_member<mpl::int_<N>, self_type *>::
105                         make(mpl::int_<N>(), scope);
106         }
107         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3;
108         mutable dynamic_frame_type* frame;
109     };
110 
111 
112 
113 
114 
115 
116 
117     template <typename A0 , typename A1 , typename A2 , typename A3>
118     struct dynamic<A0 , A1 , A2 , A3> : noncopyable
119     {
120         typedef
121             vector4<A0 , A1 , A2 , A3>
122             tuple_type;
123         typedef
124             dynamic<A0 , A1 , A2 , A3>
125             self_type;
126         typedef
127             dynamic_frame<self_type>
128             dynamic_frame_type;
dynamicdynamic129         dynamic()
130             : frame(0) {}
131         template <int N>
132         static
133         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic134         init(self_type * scope)
135         {
136             return
137                 expression::
138                     dynamic_member<mpl::int_<N>, self_type *>::
139                         make(mpl::int_<N>(), scope);
140         }
141         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4;
142         mutable dynamic_frame_type* frame;
143     };
144 
145 
146 
147 
148 
149 
150 
151     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
152     struct dynamic<A0 , A1 , A2 , A3 , A4> : noncopyable
153     {
154         typedef
155             vector5<A0 , A1 , A2 , A3 , A4>
156             tuple_type;
157         typedef
158             dynamic<A0 , A1 , A2 , A3 , A4>
159             self_type;
160         typedef
161             dynamic_frame<self_type>
162             dynamic_frame_type;
dynamicdynamic163         dynamic()
164             : frame(0) {}
165         template <int N>
166         static
167         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic168         init(self_type * scope)
169         {
170             return
171                 expression::
172                     dynamic_member<mpl::int_<N>, self_type *>::
173                         make(mpl::int_<N>(), scope);
174         }
175         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5;
176         mutable dynamic_frame_type* frame;
177     };
178 
179 
180 
181 
182 
183 
184 
185     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
186     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5> : noncopyable
187     {
188         typedef
189             vector6<A0 , A1 , A2 , A3 , A4 , A5>
190             tuple_type;
191         typedef
192             dynamic<A0 , A1 , A2 , A3 , A4 , A5>
193             self_type;
194         typedef
195             dynamic_frame<self_type>
196             dynamic_frame_type;
dynamicdynamic197         dynamic()
198             : frame(0) {}
199         template <int N>
200         static
201         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic202         init(self_type * scope)
203         {
204             return
205                 expression::
206                     dynamic_member<mpl::int_<N>, self_type *>::
207                         make(mpl::int_<N>(), scope);
208         }
209         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6;
210         mutable dynamic_frame_type* frame;
211     };
212 
213 
214 
215 
216 
217 
218 
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
221     {
222         typedef
223             vector7<A0 , A1 , A2 , A3 , A4 , A5 , A6>
224             tuple_type;
225         typedef
226             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6>
227             self_type;
228         typedef
229             dynamic_frame<self_type>
230             dynamic_frame_type;
dynamicdynamic231         dynamic()
232             : frame(0) {}
233         template <int N>
234         static
235         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic236         init(self_type * scope)
237         {
238             return
239                 expression::
240                     dynamic_member<mpl::int_<N>, self_type *>::
241                         make(mpl::int_<N>(), scope);
242         }
243         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7;
244         mutable dynamic_frame_type* frame;
245     };
246 
247 
248 
249 
250 
251 
252 
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
255     {
256         typedef
257             vector8<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
258             tuple_type;
259         typedef
260             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
261             self_type;
262         typedef
263             dynamic_frame<self_type>
264             dynamic_frame_type;
dynamicdynamic265         dynamic()
266             : frame(0) {}
267         template <int N>
268         static
269         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic270         init(self_type * scope)
271         {
272             return
273                 expression::
274                     dynamic_member<mpl::int_<N>, self_type *>::
275                         make(mpl::int_<N>(), scope);
276         }
277         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8;
278         mutable dynamic_frame_type* frame;
279     };
280 
281 
282 
283 
284 
285 
286 
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
289     {
290         typedef
291             vector9<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
292             tuple_type;
293         typedef
294             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
295             self_type;
296         typedef
297             dynamic_frame<self_type>
298             dynamic_frame_type;
dynamicdynamic299         dynamic()
300             : frame(0) {}
301         template <int N>
302         static
303         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic304         init(self_type * scope)
305         {
306             return
307                 expression::
308                     dynamic_member<mpl::int_<N>, self_type *>::
309                         make(mpl::int_<N>(), scope);
310         }
311         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type member9;
312         mutable dynamic_frame_type* frame;
313     };
314 
315 
316 
317 
318 
319 
320 
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
323     {
324         typedef
325             vector10<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
326             tuple_type;
327         typedef
328             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
329             self_type;
330         typedef
331             dynamic_frame<self_type>
332             dynamic_frame_type;
dynamicdynamic333         dynamic()
334             : frame(0) {}
335         template <int N>
336         static
337         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic338         init(self_type * scope)
339         {
340             return
341                 expression::
342                     dynamic_member<mpl::int_<N>, self_type *>::
343                         make(mpl::int_<N>(), scope);
344         }
345         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type member9; typedef typename expression::dynamic_member< mpl::int_< 9> , self_type * >::type member10;
346         mutable dynamic_frame_type* frame;
347     };
348 
349 
350 
351 
352 
353 
354 
355     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
356     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> : noncopyable
357     {
358         typedef
359             vector11<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
360             tuple_type;
361         typedef
362             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
363             self_type;
364         typedef
365             dynamic_frame<self_type>
366             dynamic_frame_type;
dynamicdynamic367         dynamic()
368             : frame(0) {}
369         template <int N>
370         static
371         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic372         init(self_type * scope)
373         {
374             return
375                 expression::
376                     dynamic_member<mpl::int_<N>, self_type *>::
377                         make(mpl::int_<N>(), scope);
378         }
379         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type member9; typedef typename expression::dynamic_member< mpl::int_< 9> , self_type * >::type member10; typedef typename expression::dynamic_member< mpl::int_< 10> , self_type * >::type member11;
380         mutable dynamic_frame_type* frame;
381     };
382 
383 
384 
385 
386 
387 
388 
389     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
390     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> : noncopyable
391     {
392         typedef
393             vector12<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
394             tuple_type;
395         typedef
396             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
397             self_type;
398         typedef
399             dynamic_frame<self_type>
400             dynamic_frame_type;
dynamicdynamic401         dynamic()
402             : frame(0) {}
403         template <int N>
404         static
405         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic406         init(self_type * scope)
407         {
408             return
409                 expression::
410                     dynamic_member<mpl::int_<N>, self_type *>::
411                         make(mpl::int_<N>(), scope);
412         }
413         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type member9; typedef typename expression::dynamic_member< mpl::int_< 9> , self_type * >::type member10; typedef typename expression::dynamic_member< mpl::int_< 10> , self_type * >::type member11; typedef typename expression::dynamic_member< mpl::int_< 11> , self_type * >::type member12;
414         mutable dynamic_frame_type* frame;
415     };
416 
417 
418 
419 
420 
421 
422 
423     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
424     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> : noncopyable
425     {
426         typedef
427             vector13<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
428             tuple_type;
429         typedef
430             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
431             self_type;
432         typedef
433             dynamic_frame<self_type>
434             dynamic_frame_type;
dynamicdynamic435         dynamic()
436             : frame(0) {}
437         template <int N>
438         static
439         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic440         init(self_type * scope)
441         {
442             return
443                 expression::
444                     dynamic_member<mpl::int_<N>, self_type *>::
445                         make(mpl::int_<N>(), scope);
446         }
447         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type member9; typedef typename expression::dynamic_member< mpl::int_< 9> , self_type * >::type member10; typedef typename expression::dynamic_member< mpl::int_< 10> , self_type * >::type member11; typedef typename expression::dynamic_member< mpl::int_< 11> , self_type * >::type member12; typedef typename expression::dynamic_member< mpl::int_< 12> , self_type * >::type member13;
448         mutable dynamic_frame_type* frame;
449     };
450 
451 
452 
453 
454 
455 
456 
457     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
458     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> : noncopyable
459     {
460         typedef
461             vector14<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
462             tuple_type;
463         typedef
464             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
465             self_type;
466         typedef
467             dynamic_frame<self_type>
468             dynamic_frame_type;
dynamicdynamic469         dynamic()
470             : frame(0) {}
471         template <int N>
472         static
473         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic474         init(self_type * scope)
475         {
476             return
477                 expression::
478                     dynamic_member<mpl::int_<N>, self_type *>::
479                         make(mpl::int_<N>(), scope);
480         }
481         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type member9; typedef typename expression::dynamic_member< mpl::int_< 9> , self_type * >::type member10; typedef typename expression::dynamic_member< mpl::int_< 10> , self_type * >::type member11; typedef typename expression::dynamic_member< mpl::int_< 11> , self_type * >::type member12; typedef typename expression::dynamic_member< mpl::int_< 12> , self_type * >::type member13; typedef typename expression::dynamic_member< mpl::int_< 13> , self_type * >::type member14;
482         mutable dynamic_frame_type* frame;
483     };
484 
485 
486 
487 
488 
489 
490 
491     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
492     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> : noncopyable
493     {
494         typedef
495             vector15<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
496             tuple_type;
497         typedef
498             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
499             self_type;
500         typedef
501             dynamic_frame<self_type>
502             dynamic_frame_type;
dynamicdynamic503         dynamic()
504             : frame(0) {}
505         template <int N>
506         static
507         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic508         init(self_type * scope)
509         {
510             return
511                 expression::
512                     dynamic_member<mpl::int_<N>, self_type *>::
513                         make(mpl::int_<N>(), scope);
514         }
515         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type member9; typedef typename expression::dynamic_member< mpl::int_< 9> , self_type * >::type member10; typedef typename expression::dynamic_member< mpl::int_< 10> , self_type * >::type member11; typedef typename expression::dynamic_member< mpl::int_< 11> , self_type * >::type member12; typedef typename expression::dynamic_member< mpl::int_< 12> , self_type * >::type member13; typedef typename expression::dynamic_member< mpl::int_< 13> , self_type * >::type member14; typedef typename expression::dynamic_member< mpl::int_< 14> , self_type * >::type member15;
516         mutable dynamic_frame_type* frame;
517     };
518 
519 
520 
521 
522 
523 
524 
525     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
526     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> : noncopyable
527     {
528         typedef
529             vector16<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
530             tuple_type;
531         typedef
532             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
533             self_type;
534         typedef
535             dynamic_frame<self_type>
536             dynamic_frame_type;
dynamicdynamic537         dynamic()
538             : frame(0) {}
539         template <int N>
540         static
541         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic542         init(self_type * scope)
543         {
544             return
545                 expression::
546                     dynamic_member<mpl::int_<N>, self_type *>::
547                         make(mpl::int_<N>(), scope);
548         }
549         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type member9; typedef typename expression::dynamic_member< mpl::int_< 9> , self_type * >::type member10; typedef typename expression::dynamic_member< mpl::int_< 10> , self_type * >::type member11; typedef typename expression::dynamic_member< mpl::int_< 11> , self_type * >::type member12; typedef typename expression::dynamic_member< mpl::int_< 12> , self_type * >::type member13; typedef typename expression::dynamic_member< mpl::int_< 13> , self_type * >::type member14; typedef typename expression::dynamic_member< mpl::int_< 14> , self_type * >::type member15; typedef typename expression::dynamic_member< mpl::int_< 15> , self_type * >::type member16;
550         mutable dynamic_frame_type* frame;
551     };
552 
553 
554 
555 
556 
557 
558 
559     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
560     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> : noncopyable
561     {
562         typedef
563             vector17<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
564             tuple_type;
565         typedef
566             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
567             self_type;
568         typedef
569             dynamic_frame<self_type>
570             dynamic_frame_type;
dynamicdynamic571         dynamic()
572             : frame(0) {}
573         template <int N>
574         static
575         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic576         init(self_type * scope)
577         {
578             return
579                 expression::
580                     dynamic_member<mpl::int_<N>, self_type *>::
581                         make(mpl::int_<N>(), scope);
582         }
583         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type member9; typedef typename expression::dynamic_member< mpl::int_< 9> , self_type * >::type member10; typedef typename expression::dynamic_member< mpl::int_< 10> , self_type * >::type member11; typedef typename expression::dynamic_member< mpl::int_< 11> , self_type * >::type member12; typedef typename expression::dynamic_member< mpl::int_< 12> , self_type * >::type member13; typedef typename expression::dynamic_member< mpl::int_< 13> , self_type * >::type member14; typedef typename expression::dynamic_member< mpl::int_< 14> , self_type * >::type member15; typedef typename expression::dynamic_member< mpl::int_< 15> , self_type * >::type member16; typedef typename expression::dynamic_member< mpl::int_< 16> , self_type * >::type member17;
584         mutable dynamic_frame_type* frame;
585     };
586 
587 
588 
589 
590 
591 
592 
593     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
594     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> : noncopyable
595     {
596         typedef
597             vector18<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
598             tuple_type;
599         typedef
600             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
601             self_type;
602         typedef
603             dynamic_frame<self_type>
604             dynamic_frame_type;
dynamicdynamic605         dynamic()
606             : frame(0) {}
607         template <int N>
608         static
609         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic610         init(self_type * scope)
611         {
612             return
613                 expression::
614                     dynamic_member<mpl::int_<N>, self_type *>::
615                         make(mpl::int_<N>(), scope);
616         }
617         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type member9; typedef typename expression::dynamic_member< mpl::int_< 9> , self_type * >::type member10; typedef typename expression::dynamic_member< mpl::int_< 10> , self_type * >::type member11; typedef typename expression::dynamic_member< mpl::int_< 11> , self_type * >::type member12; typedef typename expression::dynamic_member< mpl::int_< 12> , self_type * >::type member13; typedef typename expression::dynamic_member< mpl::int_< 13> , self_type * >::type member14; typedef typename expression::dynamic_member< mpl::int_< 14> , self_type * >::type member15; typedef typename expression::dynamic_member< mpl::int_< 15> , self_type * >::type member16; typedef typename expression::dynamic_member< mpl::int_< 16> , self_type * >::type member17; typedef typename expression::dynamic_member< mpl::int_< 17> , self_type * >::type member18;
618         mutable dynamic_frame_type* frame;
619     };
620 
621 
622 
623 
624 
625 
626 
627     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
628     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> : noncopyable
629     {
630         typedef
631             vector19<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
632             tuple_type;
633         typedef
634             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
635             self_type;
636         typedef
637             dynamic_frame<self_type>
638             dynamic_frame_type;
dynamicdynamic639         dynamic()
640             : frame(0) {}
641         template <int N>
642         static
643         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic644         init(self_type * scope)
645         {
646             return
647                 expression::
648                     dynamic_member<mpl::int_<N>, self_type *>::
649                         make(mpl::int_<N>(), scope);
650         }
651         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type member9; typedef typename expression::dynamic_member< mpl::int_< 9> , self_type * >::type member10; typedef typename expression::dynamic_member< mpl::int_< 10> , self_type * >::type member11; typedef typename expression::dynamic_member< mpl::int_< 11> , self_type * >::type member12; typedef typename expression::dynamic_member< mpl::int_< 12> , self_type * >::type member13; typedef typename expression::dynamic_member< mpl::int_< 13> , self_type * >::type member14; typedef typename expression::dynamic_member< mpl::int_< 14> , self_type * >::type member15; typedef typename expression::dynamic_member< mpl::int_< 15> , self_type * >::type member16; typedef typename expression::dynamic_member< mpl::int_< 16> , self_type * >::type member17; typedef typename expression::dynamic_member< mpl::int_< 17> , self_type * >::type member18; typedef typename expression::dynamic_member< mpl::int_< 18> , self_type * >::type member19;
652         mutable dynamic_frame_type* frame;
653     };
654 
655 
656 
657 
658 
659 
660 
661     template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
662     struct dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> : noncopyable
663     {
664         typedef
665             vector20<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
666             tuple_type;
667         typedef
668             dynamic<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
669             self_type;
670         typedef
671             dynamic_frame<self_type>
672             dynamic_frame_type;
dynamicdynamic673         dynamic()
674             : frame(0) {}
675         template <int N>
676         static
677         typename expression::dynamic_member<mpl::int_<N>, self_type *>::type
initdynamic678         init(self_type * scope)
679         {
680             return
681                 expression::
682                     dynamic_member<mpl::int_<N>, self_type *>::
683                         make(mpl::int_<N>(), scope);
684         }
685         typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type member1; typedef typename expression::dynamic_member< mpl::int_< 1> , self_type * >::type member2; typedef typename expression::dynamic_member< mpl::int_< 2> , self_type * >::type member3; typedef typename expression::dynamic_member< mpl::int_< 3> , self_type * >::type member4; typedef typename expression::dynamic_member< mpl::int_< 4> , self_type * >::type member5; typedef typename expression::dynamic_member< mpl::int_< 5> , self_type * >::type member6; typedef typename expression::dynamic_member< mpl::int_< 6> , self_type * >::type member7; typedef typename expression::dynamic_member< mpl::int_< 7> , self_type * >::type member8; typedef typename expression::dynamic_member< mpl::int_< 8> , self_type * >::type member9; typedef typename expression::dynamic_member< mpl::int_< 9> , self_type * >::type member10; typedef typename expression::dynamic_member< mpl::int_< 10> , self_type * >::type member11; typedef typename expression::dynamic_member< mpl::int_< 11> , self_type * >::type member12; typedef typename expression::dynamic_member< mpl::int_< 12> , self_type * >::type member13; typedef typename expression::dynamic_member< mpl::int_< 13> , self_type * >::type member14; typedef typename expression::dynamic_member< mpl::int_< 14> , self_type * >::type member15; typedef typename expression::dynamic_member< mpl::int_< 15> , self_type * >::type member16; typedef typename expression::dynamic_member< mpl::int_< 16> , self_type * >::type member17; typedef typename expression::dynamic_member< mpl::int_< 17> , self_type * >::type member18; typedef typename expression::dynamic_member< mpl::int_< 18> , self_type * >::type member19; typedef typename expression::dynamic_member< mpl::int_< 19> , self_type * >::type member20;
686         mutable dynamic_frame_type* frame;
687     };
688