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 ==============================================================================*/
8 namespace boost { namespace phoenix
10 template <typename Dummy = void>
13 typedef mpl::int_<0> size_type;
14 static const int size_value = 0;
24 namespace boost { namespace phoenix
26 template <typename A0>
29 typedef A0 member_type0; A0 a0;
31 typedef mpl::int_<1> size_type;
32 static const int size_value = 1;
36 args_type args() const
43 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
45 , ( boost::phoenix::vector1 ) (A0)
55 namespace boost { namespace phoenix
57 template <typename A0 , typename A1>
60 typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1;
62 typedef mpl::int_<2> size_type;
63 static const int size_value = 2;
67 args_type args() const
74 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
76 , ( boost::phoenix::vector2 ) (A0) (A1)
86 namespace boost { namespace phoenix
88 template <typename A0 , typename A1 , typename A2>
91 typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2;
93 typedef mpl::int_<3> size_type;
94 static const int size_value = 3;
98 args_type args() const
100 args_type r = {a1 , a2};
105 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
107 , ( boost::phoenix::vector3 ) (A0) (A1) (A2)
108 , (A0, a0) (A1, a1) (A2, a2)
117 namespace boost { namespace phoenix
119 template <typename A0 , typename A1 , typename A2 , typename A3>
122 typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3;
124 typedef mpl::int_<4> size_type;
125 static const int size_value = 4;
127 vector3<A1 , A2 , A3>
129 args_type args() const
131 args_type r = {a1 , a2 , a3};
136 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
138 , ( boost::phoenix::vector4 ) (A0) (A1) (A2) (A3)
139 , (A0, a0) (A1, a1) (A2, a2) (A3, a3)
148 namespace boost { namespace phoenix
150 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
153 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;
155 typedef mpl::int_<5> size_type;
156 static const int size_value = 5;
158 vector4<A1 , A2 , A3 , A4>
160 args_type args() const
162 args_type r = {a1 , a2 , a3 , a4};
167 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
168 (A0) (A1) (A2) (A3) (A4)
169 , ( boost::phoenix::vector5 ) (A0) (A1) (A2) (A3) (A4)
170 , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4)
179 namespace boost { namespace phoenix
181 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
184 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;
186 typedef mpl::int_<6> size_type;
187 static const int size_value = 6;
189 vector5<A1 , A2 , A3 , A4 , A5>
191 args_type args() const
193 args_type r = {a1 , a2 , a3 , a4 , a5};
198 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
199 (A0) (A1) (A2) (A3) (A4) (A5)
200 , ( boost::phoenix::vector6 ) (A0) (A1) (A2) (A3) (A4) (A5)
201 , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5)
210 namespace boost { namespace phoenix
212 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
215 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;
217 typedef mpl::int_<7> size_type;
218 static const int size_value = 7;
220 vector6<A1 , A2 , A3 , A4 , A5 , A6>
222 args_type args() const
224 args_type r = {a1 , a2 , a3 , a4 , a5 , a6};
229 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
230 (A0) (A1) (A2) (A3) (A4) (A5) (A6)
231 , ( boost::phoenix::vector7 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6)
232 , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6)
241 namespace boost { namespace phoenix
243 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
246 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;
248 typedef mpl::int_<8> size_type;
249 static const int size_value = 8;
251 vector7<A1 , A2 , A3 , A4 , A5 , A6 , A7>
253 args_type args() const
255 args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7};
260 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
261 (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
262 , ( boost::phoenix::vector8 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
263 , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7)
272 namespace boost { namespace phoenix
274 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
277 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;
279 typedef mpl::int_<9> size_type;
280 static const int size_value = 9;
282 vector8<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
284 args_type args() const
286 args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
291 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
292 (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
293 , ( boost::phoenix::vector9 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
294 , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8)
303 namespace boost { namespace phoenix
305 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
308 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;
310 typedef mpl::int_<10> size_type;
311 static const int size_value = 10;
313 vector9<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
315 args_type args() const
317 args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
322 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
323 (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
324 , ( boost::phoenix::vector10 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
325 , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9)
334 namespace boost { namespace phoenix
336 template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
339 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;
341 typedef mpl::int_<11> size_type;
342 static const int size_value = 11;
344 vector10<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
346 args_type args() const
348 args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
353 BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
354 (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
355 , ( boost::phoenix::vector11 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
356 , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10)