Chris@16: /*============================================================================== Chris@16: Copyright (c) 2005-2010 Joel de Guzman Chris@16: Copyright (c) 2010 Thomas Heller Chris@16: Chris@16: Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@16: file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: ==============================================================================*/ Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: template Chris@16: struct dynamic : noncopyable Chris@16: { Chris@16: typedef Chris@16: vector1 Chris@16: tuple_type; Chris@16: typedef Chris@16: dynamic Chris@16: self_type; Chris@16: typedef Chris@16: dynamic_frame Chris@16: dynamic_frame_type; Chris@16: dynamic() Chris@16: : frame(0) {} Chris@16: template Chris@16: static Chris@16: typename expression::dynamic_member, self_type *>::type const Chris@16: init(self_type * scope) Chris@16: { Chris@16: return Chris@16: expression:: Chris@16: dynamic_member, self_type *>:: Chris@16: make(mpl::int_(), scope); Chris@16: } Chris@16: typedef typename expression::dynamic_member< mpl::int_< 0> , self_type * >::type const member1; Chris@16: mutable dynamic_frame_type* frame; Chris@16: }; Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: template Chris@16: struct dynamic : noncopyable Chris@16: { Chris@16: typedef Chris@16: vector2 Chris@16: tuple_type; Chris@16: typedef Chris@16: dynamic Chris@16: self_type; Chris@16: typedef Chris@16: dynamic_frame Chris@16: dynamic_frame_type; Chris@16: dynamic() Chris@16: : frame(0) {} Chris@16: template Chris@16: static Chris@16: typename expression::dynamic_member, self_type *>::type const Chris@16: init(self_type * scope) Chris@16: { Chris@16: return Chris@16: expression:: Chris@16: dynamic_member, self_type *>:: Chris@16: make(mpl::int_(), scope); Chris@16: } Chris@16: 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; Chris@16: mutable dynamic_frame_type* frame; Chris@16: }; Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: template Chris@16: struct dynamic : noncopyable Chris@16: { Chris@16: typedef Chris@16: vector3 Chris@16: tuple_type; Chris@16: typedef Chris@16: dynamic Chris@16: self_type; Chris@16: typedef Chris@16: dynamic_frame Chris@16: dynamic_frame_type; Chris@16: dynamic() Chris@16: : frame(0) {} Chris@16: template Chris@16: static Chris@16: typename expression::dynamic_member, self_type *>::type const Chris@16: init(self_type * scope) Chris@16: { Chris@16: return Chris@16: expression:: Chris@16: dynamic_member, self_type *>:: Chris@16: make(mpl::int_(), scope); Chris@16: } Chris@16: 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; Chris@16: mutable dynamic_frame_type* frame; Chris@16: }; Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: template Chris@16: struct dynamic : noncopyable Chris@16: { Chris@16: typedef Chris@16: vector4 Chris@16: tuple_type; Chris@16: typedef Chris@16: dynamic Chris@16: self_type; Chris@16: typedef Chris@16: dynamic_frame Chris@16: dynamic_frame_type; Chris@16: dynamic() Chris@16: : frame(0) {} Chris@16: template Chris@16: static Chris@16: typename expression::dynamic_member, self_type *>::type const Chris@16: init(self_type * scope) Chris@16: { Chris@16: return Chris@16: expression:: Chris@16: dynamic_member, self_type *>:: Chris@16: make(mpl::int_(), scope); Chris@16: } Chris@16: 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; Chris@16: mutable dynamic_frame_type* frame; Chris@16: }; Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: template Chris@16: struct dynamic : noncopyable Chris@16: { Chris@16: typedef Chris@16: vector5 Chris@16: tuple_type; Chris@16: typedef Chris@16: dynamic Chris@16: self_type; Chris@16: typedef Chris@16: dynamic_frame Chris@16: dynamic_frame_type; Chris@16: dynamic() Chris@16: : frame(0) {} Chris@16: template Chris@16: static Chris@16: typename expression::dynamic_member, self_type *>::type const Chris@16: init(self_type * scope) Chris@16: { Chris@16: return Chris@16: expression:: Chris@16: dynamic_member, self_type *>:: Chris@16: make(mpl::int_(), scope); Chris@16: } Chris@16: 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; Chris@16: mutable dynamic_frame_type* frame; Chris@16: }; Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: template Chris@16: struct dynamic : noncopyable Chris@16: { Chris@16: typedef Chris@16: vector6 Chris@16: tuple_type; Chris@16: typedef Chris@16: dynamic Chris@16: self_type; Chris@16: typedef Chris@16: dynamic_frame Chris@16: dynamic_frame_type; Chris@16: dynamic() Chris@16: : frame(0) {} Chris@16: template Chris@16: static Chris@16: typename expression::dynamic_member, self_type *>::type const Chris@16: init(self_type * scope) Chris@16: { Chris@16: return Chris@16: expression:: Chris@16: dynamic_member, self_type *>:: Chris@16: make(mpl::int_(), scope); Chris@16: } Chris@16: 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; Chris@16: mutable dynamic_frame_type* frame; Chris@16: }; Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: template Chris@16: struct dynamic : noncopyable Chris@16: { Chris@16: typedef Chris@16: vector7 Chris@16: tuple_type; Chris@16: typedef Chris@16: dynamic Chris@16: self_type; Chris@16: typedef Chris@16: dynamic_frame Chris@16: dynamic_frame_type; Chris@16: dynamic() Chris@16: : frame(0) {} Chris@16: template Chris@16: static Chris@16: typename expression::dynamic_member, self_type *>::type const Chris@16: init(self_type * scope) Chris@16: { Chris@16: return Chris@16: expression:: Chris@16: dynamic_member, self_type *>:: Chris@16: make(mpl::int_(), scope); Chris@16: } Chris@16: 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; Chris@16: mutable dynamic_frame_type* frame; Chris@16: }; Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: template Chris@16: struct dynamic : noncopyable Chris@16: { Chris@16: typedef Chris@16: vector8 Chris@16: tuple_type; Chris@16: typedef Chris@16: dynamic Chris@16: self_type; Chris@16: typedef Chris@16: dynamic_frame Chris@16: dynamic_frame_type; Chris@16: dynamic() Chris@16: : frame(0) {} Chris@16: template Chris@16: static Chris@16: typename expression::dynamic_member, self_type *>::type const Chris@16: init(self_type * scope) Chris@16: { Chris@16: return Chris@16: expression:: Chris@16: dynamic_member, self_type *>:: Chris@16: make(mpl::int_(), scope); Chris@16: } Chris@16: 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; Chris@16: mutable dynamic_frame_type* frame; Chris@16: }; Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: template Chris@16: struct dynamic : noncopyable Chris@16: { Chris@16: typedef Chris@16: vector9 Chris@16: tuple_type; Chris@16: typedef Chris@16: dynamic Chris@16: self_type; Chris@16: typedef Chris@16: dynamic_frame Chris@16: dynamic_frame_type; Chris@16: dynamic() Chris@16: : frame(0) {} Chris@16: template Chris@16: static Chris@16: typename expression::dynamic_member, self_type *>::type const Chris@16: init(self_type * scope) Chris@16: { Chris@16: return Chris@16: expression:: Chris@16: dynamic_member, self_type *>:: Chris@16: make(mpl::int_(), scope); Chris@16: } Chris@16: 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; Chris@16: mutable dynamic_frame_type* frame; Chris@16: }; Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: Chris@16: template Chris@16: struct dynamic : noncopyable Chris@16: { Chris@16: typedef Chris@16: vector10 Chris@16: tuple_type; Chris@16: typedef Chris@16: dynamic Chris@16: self_type; Chris@16: typedef Chris@16: dynamic_frame Chris@16: dynamic_frame_type; Chris@16: dynamic() Chris@16: : frame(0) {} Chris@16: template Chris@16: static Chris@16: typename expression::dynamic_member, self_type *>::type const Chris@16: init(self_type * scope) Chris@16: { Chris@16: return Chris@16: expression:: Chris@16: dynamic_member, self_type *>:: Chris@16: make(mpl::int_(), scope); Chris@16: } Chris@16: 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; Chris@16: mutable dynamic_frame_type* frame; Chris@16: };