Chris@16
|
1 /*==============================================================================
|
Chris@16
|
2 Copyright (c) 2005-2010 Joel de Guzman
|
Chris@16
|
3 Copyright (c) 2010 Thomas Heller
|
Chris@16
|
4
|
Chris@16
|
5 Distributed under the Boost Software License, Version 1.0. (See accompanying
|
Chris@16
|
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
7 ==============================================================================*/
|
Chris@16
|
8
|
Chris@16
|
9
|
Chris@16
|
10
|
Chris@16
|
11
|
Chris@16
|
12
|
Chris@16
|
13
|
Chris@16
|
14
|
Chris@16
|
15 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
16 result_type
|
Chris@16
|
17 evaluate(
|
Chris@16
|
18 Context const & ctx
|
Chris@16
|
19 , Cond const & cond
|
Chris@16
|
20 , Cases const & cases
|
Chris@16
|
21 , mpl::int_<2>
|
Chris@16
|
22 , mpl::false_
|
Chris@16
|
23 ) const
|
Chris@16
|
24 {
|
Chris@16
|
25 typedef
|
Chris@16
|
26 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
27 flat_view_type;
|
Chris@16
|
28 typedef
|
Chris@16
|
29 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
30 flat_view_begin;
|
Chris@16
|
31 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
32 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1;
|
Chris@16
|
33 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
34 {
|
Chris@16
|
35 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
36 }
|
Chris@16
|
37 }
|
Chris@16
|
38 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
39 result_type
|
Chris@16
|
40 evaluate(
|
Chris@16
|
41 Context const & ctx
|
Chris@16
|
42 , Cond const & cond
|
Chris@16
|
43 , Cases const & cases
|
Chris@16
|
44 , mpl::int_<2>
|
Chris@16
|
45 , mpl::true_
|
Chris@16
|
46 ) const
|
Chris@16
|
47 {
|
Chris@16
|
48 typedef
|
Chris@16
|
49 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
50 flat_view_type;
|
Chris@16
|
51 typedef
|
Chris@16
|
52 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
53 flat_view_begin;
|
Chris@16
|
54 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
55 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0;
|
Chris@16
|
56 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
57 {
|
Chris@16
|
58 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
59 default:
|
Chris@16
|
60 boost::phoenix::eval(
|
Chris@16
|
61 proto::child_c<0>(
|
Chris@16
|
62 fusion::deref(
|
Chris@16
|
63 fusion::advance_c<
|
Chris@16
|
64 1
|
Chris@16
|
65 >(fusion::begin(flat_view))
|
Chris@16
|
66 )
|
Chris@16
|
67 )
|
Chris@16
|
68 , ctx
|
Chris@16
|
69 );
|
Chris@16
|
70 }
|
Chris@16
|
71 }
|
Chris@16
|
72
|
Chris@16
|
73
|
Chris@16
|
74
|
Chris@16
|
75
|
Chris@16
|
76
|
Chris@16
|
77
|
Chris@16
|
78
|
Chris@16
|
79 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
80 result_type
|
Chris@16
|
81 evaluate(
|
Chris@16
|
82 Context const & ctx
|
Chris@16
|
83 , Cond const & cond
|
Chris@16
|
84 , Cases const & cases
|
Chris@16
|
85 , mpl::int_<3>
|
Chris@16
|
86 , mpl::false_
|
Chris@16
|
87 ) const
|
Chris@16
|
88 {
|
Chris@16
|
89 typedef
|
Chris@16
|
90 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
91 flat_view_type;
|
Chris@16
|
92 typedef
|
Chris@16
|
93 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
94 flat_view_begin;
|
Chris@16
|
95 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
96 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2;
|
Chris@16
|
97 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
98 {
|
Chris@16
|
99 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
100 }
|
Chris@16
|
101 }
|
Chris@16
|
102 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
103 result_type
|
Chris@16
|
104 evaluate(
|
Chris@16
|
105 Context const & ctx
|
Chris@16
|
106 , Cond const & cond
|
Chris@16
|
107 , Cases const & cases
|
Chris@16
|
108 , mpl::int_<3>
|
Chris@16
|
109 , mpl::true_
|
Chris@16
|
110 ) const
|
Chris@16
|
111 {
|
Chris@16
|
112 typedef
|
Chris@16
|
113 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
114 flat_view_type;
|
Chris@16
|
115 typedef
|
Chris@16
|
116 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
117 flat_view_begin;
|
Chris@16
|
118 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
119 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1;
|
Chris@16
|
120 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
121 {
|
Chris@16
|
122 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
123 default:
|
Chris@16
|
124 boost::phoenix::eval(
|
Chris@16
|
125 proto::child_c<0>(
|
Chris@16
|
126 fusion::deref(
|
Chris@16
|
127 fusion::advance_c<
|
Chris@16
|
128 2
|
Chris@16
|
129 >(fusion::begin(flat_view))
|
Chris@16
|
130 )
|
Chris@16
|
131 )
|
Chris@16
|
132 , ctx
|
Chris@16
|
133 );
|
Chris@16
|
134 }
|
Chris@16
|
135 }
|
Chris@16
|
136
|
Chris@16
|
137
|
Chris@16
|
138
|
Chris@16
|
139
|
Chris@16
|
140
|
Chris@16
|
141
|
Chris@16
|
142
|
Chris@16
|
143 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
144 result_type
|
Chris@16
|
145 evaluate(
|
Chris@16
|
146 Context const & ctx
|
Chris@16
|
147 , Cond const & cond
|
Chris@16
|
148 , Cases const & cases
|
Chris@16
|
149 , mpl::int_<4>
|
Chris@16
|
150 , mpl::false_
|
Chris@16
|
151 ) const
|
Chris@16
|
152 {
|
Chris@16
|
153 typedef
|
Chris@16
|
154 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
155 flat_view_type;
|
Chris@16
|
156 typedef
|
Chris@16
|
157 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
158 flat_view_begin;
|
Chris@16
|
159 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
160 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3;
|
Chris@16
|
161 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
162 {
|
Chris@16
|
163 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
164 }
|
Chris@16
|
165 }
|
Chris@16
|
166 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
167 result_type
|
Chris@16
|
168 evaluate(
|
Chris@16
|
169 Context const & ctx
|
Chris@16
|
170 , Cond const & cond
|
Chris@16
|
171 , Cases const & cases
|
Chris@16
|
172 , mpl::int_<4>
|
Chris@16
|
173 , mpl::true_
|
Chris@16
|
174 ) const
|
Chris@16
|
175 {
|
Chris@16
|
176 typedef
|
Chris@16
|
177 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
178 flat_view_type;
|
Chris@16
|
179 typedef
|
Chris@16
|
180 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
181 flat_view_begin;
|
Chris@16
|
182 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
183 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2;
|
Chris@16
|
184 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
185 {
|
Chris@16
|
186 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
187 default:
|
Chris@16
|
188 boost::phoenix::eval(
|
Chris@16
|
189 proto::child_c<0>(
|
Chris@16
|
190 fusion::deref(
|
Chris@16
|
191 fusion::advance_c<
|
Chris@16
|
192 3
|
Chris@16
|
193 >(fusion::begin(flat_view))
|
Chris@16
|
194 )
|
Chris@16
|
195 )
|
Chris@16
|
196 , ctx
|
Chris@16
|
197 );
|
Chris@16
|
198 }
|
Chris@16
|
199 }
|
Chris@16
|
200
|
Chris@16
|
201
|
Chris@16
|
202
|
Chris@16
|
203
|
Chris@16
|
204
|
Chris@16
|
205
|
Chris@16
|
206
|
Chris@16
|
207 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
208 result_type
|
Chris@16
|
209 evaluate(
|
Chris@16
|
210 Context const & ctx
|
Chris@16
|
211 , Cond const & cond
|
Chris@16
|
212 , Cases const & cases
|
Chris@16
|
213 , mpl::int_<5>
|
Chris@16
|
214 , mpl::false_
|
Chris@16
|
215 ) const
|
Chris@16
|
216 {
|
Chris@16
|
217 typedef
|
Chris@16
|
218 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
219 flat_view_type;
|
Chris@16
|
220 typedef
|
Chris@16
|
221 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
222 flat_view_begin;
|
Chris@16
|
223 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
224 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4;
|
Chris@16
|
225 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
226 {
|
Chris@16
|
227 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
228 }
|
Chris@16
|
229 }
|
Chris@16
|
230 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
231 result_type
|
Chris@16
|
232 evaluate(
|
Chris@16
|
233 Context const & ctx
|
Chris@16
|
234 , Cond const & cond
|
Chris@16
|
235 , Cases const & cases
|
Chris@16
|
236 , mpl::int_<5>
|
Chris@16
|
237 , mpl::true_
|
Chris@16
|
238 ) const
|
Chris@16
|
239 {
|
Chris@16
|
240 typedef
|
Chris@16
|
241 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
242 flat_view_type;
|
Chris@16
|
243 typedef
|
Chris@16
|
244 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
245 flat_view_begin;
|
Chris@16
|
246 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
247 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3;
|
Chris@16
|
248 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
249 {
|
Chris@16
|
250 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
251 default:
|
Chris@16
|
252 boost::phoenix::eval(
|
Chris@16
|
253 proto::child_c<0>(
|
Chris@16
|
254 fusion::deref(
|
Chris@16
|
255 fusion::advance_c<
|
Chris@16
|
256 4
|
Chris@16
|
257 >(fusion::begin(flat_view))
|
Chris@16
|
258 )
|
Chris@16
|
259 )
|
Chris@16
|
260 , ctx
|
Chris@16
|
261 );
|
Chris@16
|
262 }
|
Chris@16
|
263 }
|
Chris@16
|
264
|
Chris@16
|
265
|
Chris@16
|
266
|
Chris@16
|
267
|
Chris@16
|
268
|
Chris@16
|
269
|
Chris@16
|
270
|
Chris@16
|
271 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
272 result_type
|
Chris@16
|
273 evaluate(
|
Chris@16
|
274 Context const & ctx
|
Chris@16
|
275 , Cond const & cond
|
Chris@16
|
276 , Cases const & cases
|
Chris@16
|
277 , mpl::int_<6>
|
Chris@16
|
278 , mpl::false_
|
Chris@16
|
279 ) const
|
Chris@16
|
280 {
|
Chris@16
|
281 typedef
|
Chris@16
|
282 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
283 flat_view_type;
|
Chris@16
|
284 typedef
|
Chris@16
|
285 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
286 flat_view_begin;
|
Chris@16
|
287 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
288 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5;
|
Chris@16
|
289 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
290 {
|
Chris@16
|
291 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
292 }
|
Chris@16
|
293 }
|
Chris@16
|
294 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
295 result_type
|
Chris@16
|
296 evaluate(
|
Chris@16
|
297 Context const & ctx
|
Chris@16
|
298 , Cond const & cond
|
Chris@16
|
299 , Cases const & cases
|
Chris@16
|
300 , mpl::int_<6>
|
Chris@16
|
301 , mpl::true_
|
Chris@16
|
302 ) const
|
Chris@16
|
303 {
|
Chris@16
|
304 typedef
|
Chris@16
|
305 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
306 flat_view_type;
|
Chris@16
|
307 typedef
|
Chris@16
|
308 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
309 flat_view_begin;
|
Chris@16
|
310 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
311 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4;
|
Chris@16
|
312 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
313 {
|
Chris@16
|
314 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
315 default:
|
Chris@16
|
316 boost::phoenix::eval(
|
Chris@16
|
317 proto::child_c<0>(
|
Chris@16
|
318 fusion::deref(
|
Chris@16
|
319 fusion::advance_c<
|
Chris@16
|
320 5
|
Chris@16
|
321 >(fusion::begin(flat_view))
|
Chris@16
|
322 )
|
Chris@16
|
323 )
|
Chris@16
|
324 , ctx
|
Chris@16
|
325 );
|
Chris@16
|
326 }
|
Chris@16
|
327 }
|
Chris@16
|
328
|
Chris@16
|
329
|
Chris@16
|
330
|
Chris@16
|
331
|
Chris@16
|
332
|
Chris@16
|
333
|
Chris@16
|
334
|
Chris@16
|
335 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
336 result_type
|
Chris@16
|
337 evaluate(
|
Chris@16
|
338 Context const & ctx
|
Chris@16
|
339 , Cond const & cond
|
Chris@16
|
340 , Cases const & cases
|
Chris@16
|
341 , mpl::int_<7>
|
Chris@16
|
342 , mpl::false_
|
Chris@16
|
343 ) const
|
Chris@16
|
344 {
|
Chris@16
|
345 typedef
|
Chris@16
|
346 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
347 flat_view_type;
|
Chris@16
|
348 typedef
|
Chris@16
|
349 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
350 flat_view_begin;
|
Chris@16
|
351 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
352 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6;
|
Chris@16
|
353 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
354 {
|
Chris@16
|
355 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
356 }
|
Chris@16
|
357 }
|
Chris@16
|
358 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
359 result_type
|
Chris@16
|
360 evaluate(
|
Chris@16
|
361 Context const & ctx
|
Chris@16
|
362 , Cond const & cond
|
Chris@16
|
363 , Cases const & cases
|
Chris@16
|
364 , mpl::int_<7>
|
Chris@16
|
365 , mpl::true_
|
Chris@16
|
366 ) const
|
Chris@16
|
367 {
|
Chris@16
|
368 typedef
|
Chris@16
|
369 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
370 flat_view_type;
|
Chris@16
|
371 typedef
|
Chris@16
|
372 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
373 flat_view_begin;
|
Chris@16
|
374 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
375 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5;
|
Chris@16
|
376 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
377 {
|
Chris@16
|
378 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
379 default:
|
Chris@16
|
380 boost::phoenix::eval(
|
Chris@16
|
381 proto::child_c<0>(
|
Chris@16
|
382 fusion::deref(
|
Chris@16
|
383 fusion::advance_c<
|
Chris@16
|
384 6
|
Chris@16
|
385 >(fusion::begin(flat_view))
|
Chris@16
|
386 )
|
Chris@16
|
387 )
|
Chris@16
|
388 , ctx
|
Chris@16
|
389 );
|
Chris@16
|
390 }
|
Chris@16
|
391 }
|
Chris@16
|
392
|
Chris@16
|
393
|
Chris@16
|
394
|
Chris@16
|
395
|
Chris@16
|
396
|
Chris@16
|
397
|
Chris@16
|
398
|
Chris@16
|
399 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
400 result_type
|
Chris@16
|
401 evaluate(
|
Chris@16
|
402 Context const & ctx
|
Chris@16
|
403 , Cond const & cond
|
Chris@16
|
404 , Cases const & cases
|
Chris@16
|
405 , mpl::int_<8>
|
Chris@16
|
406 , mpl::false_
|
Chris@16
|
407 ) const
|
Chris@16
|
408 {
|
Chris@16
|
409 typedef
|
Chris@16
|
410 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
411 flat_view_type;
|
Chris@16
|
412 typedef
|
Chris@16
|
413 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
414 flat_view_begin;
|
Chris@16
|
415 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
416 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7;
|
Chris@16
|
417 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
418 {
|
Chris@16
|
419 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
420 }
|
Chris@16
|
421 }
|
Chris@16
|
422 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
423 result_type
|
Chris@16
|
424 evaluate(
|
Chris@16
|
425 Context const & ctx
|
Chris@16
|
426 , Cond const & cond
|
Chris@16
|
427 , Cases const & cases
|
Chris@16
|
428 , mpl::int_<8>
|
Chris@16
|
429 , mpl::true_
|
Chris@16
|
430 ) const
|
Chris@16
|
431 {
|
Chris@16
|
432 typedef
|
Chris@16
|
433 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
434 flat_view_type;
|
Chris@16
|
435 typedef
|
Chris@16
|
436 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
437 flat_view_begin;
|
Chris@16
|
438 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
439 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6;
|
Chris@16
|
440 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
441 {
|
Chris@16
|
442 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
443 default:
|
Chris@16
|
444 boost::phoenix::eval(
|
Chris@16
|
445 proto::child_c<0>(
|
Chris@16
|
446 fusion::deref(
|
Chris@16
|
447 fusion::advance_c<
|
Chris@16
|
448 7
|
Chris@16
|
449 >(fusion::begin(flat_view))
|
Chris@16
|
450 )
|
Chris@16
|
451 )
|
Chris@16
|
452 , ctx
|
Chris@16
|
453 );
|
Chris@16
|
454 }
|
Chris@16
|
455 }
|
Chris@16
|
456
|
Chris@16
|
457
|
Chris@16
|
458
|
Chris@16
|
459
|
Chris@16
|
460
|
Chris@16
|
461
|
Chris@16
|
462
|
Chris@16
|
463 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
464 result_type
|
Chris@16
|
465 evaluate(
|
Chris@16
|
466 Context const & ctx
|
Chris@16
|
467 , Cond const & cond
|
Chris@16
|
468 , Cases const & cases
|
Chris@16
|
469 , mpl::int_<9>
|
Chris@16
|
470 , mpl::false_
|
Chris@16
|
471 ) const
|
Chris@16
|
472 {
|
Chris@16
|
473 typedef
|
Chris@16
|
474 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
475 flat_view_type;
|
Chris@16
|
476 typedef
|
Chris@16
|
477 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
478 flat_view_begin;
|
Chris@16
|
479 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
480 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8;
|
Chris@16
|
481 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
482 {
|
Chris@16
|
483 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
484 }
|
Chris@16
|
485 }
|
Chris@16
|
486 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
487 result_type
|
Chris@16
|
488 evaluate(
|
Chris@16
|
489 Context const & ctx
|
Chris@16
|
490 , Cond const & cond
|
Chris@16
|
491 , Cases const & cases
|
Chris@16
|
492 , mpl::int_<9>
|
Chris@16
|
493 , mpl::true_
|
Chris@16
|
494 ) const
|
Chris@16
|
495 {
|
Chris@16
|
496 typedef
|
Chris@16
|
497 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
498 flat_view_type;
|
Chris@16
|
499 typedef
|
Chris@16
|
500 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
501 flat_view_begin;
|
Chris@16
|
502 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
503 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7;
|
Chris@16
|
504 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
505 {
|
Chris@16
|
506 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
507 default:
|
Chris@16
|
508 boost::phoenix::eval(
|
Chris@16
|
509 proto::child_c<0>(
|
Chris@16
|
510 fusion::deref(
|
Chris@16
|
511 fusion::advance_c<
|
Chris@16
|
512 8
|
Chris@16
|
513 >(fusion::begin(flat_view))
|
Chris@16
|
514 )
|
Chris@16
|
515 )
|
Chris@16
|
516 , ctx
|
Chris@16
|
517 );
|
Chris@16
|
518 }
|
Chris@16
|
519 }
|
Chris@16
|
520
|
Chris@16
|
521
|
Chris@16
|
522
|
Chris@16
|
523
|
Chris@16
|
524
|
Chris@16
|
525
|
Chris@16
|
526
|
Chris@16
|
527 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
528 result_type
|
Chris@16
|
529 evaluate(
|
Chris@16
|
530 Context const & ctx
|
Chris@16
|
531 , Cond const & cond
|
Chris@16
|
532 , Cases const & cases
|
Chris@16
|
533 , mpl::int_<10>
|
Chris@16
|
534 , mpl::false_
|
Chris@16
|
535 ) const
|
Chris@16
|
536 {
|
Chris@16
|
537 typedef
|
Chris@16
|
538 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
539 flat_view_type;
|
Chris@16
|
540 typedef
|
Chris@16
|
541 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
542 flat_view_begin;
|
Chris@16
|
543 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
544 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9;
|
Chris@16
|
545 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
546 {
|
Chris@16
|
547 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
548 }
|
Chris@16
|
549 }
|
Chris@16
|
550 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
551 result_type
|
Chris@16
|
552 evaluate(
|
Chris@16
|
553 Context const & ctx
|
Chris@16
|
554 , Cond const & cond
|
Chris@16
|
555 , Cases const & cases
|
Chris@16
|
556 , mpl::int_<10>
|
Chris@16
|
557 , mpl::true_
|
Chris@16
|
558 ) const
|
Chris@16
|
559 {
|
Chris@16
|
560 typedef
|
Chris@16
|
561 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
562 flat_view_type;
|
Chris@16
|
563 typedef
|
Chris@16
|
564 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
565 flat_view_begin;
|
Chris@16
|
566 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
567 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8;
|
Chris@16
|
568 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
569 {
|
Chris@16
|
570 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
571 default:
|
Chris@16
|
572 boost::phoenix::eval(
|
Chris@16
|
573 proto::child_c<0>(
|
Chris@16
|
574 fusion::deref(
|
Chris@16
|
575 fusion::advance_c<
|
Chris@16
|
576 9
|
Chris@16
|
577 >(fusion::begin(flat_view))
|
Chris@16
|
578 )
|
Chris@16
|
579 )
|
Chris@16
|
580 , ctx
|
Chris@16
|
581 );
|
Chris@16
|
582 }
|
Chris@16
|
583 }
|
Chris@16
|
584
|
Chris@16
|
585
|
Chris@16
|
586
|
Chris@16
|
587
|
Chris@16
|
588
|
Chris@16
|
589
|
Chris@16
|
590
|
Chris@16
|
591 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
592 result_type
|
Chris@16
|
593 evaluate(
|
Chris@16
|
594 Context const & ctx
|
Chris@16
|
595 , Cond const & cond
|
Chris@16
|
596 , Cases const & cases
|
Chris@16
|
597 , mpl::int_<11>
|
Chris@16
|
598 , mpl::false_
|
Chris@16
|
599 ) const
|
Chris@16
|
600 {
|
Chris@16
|
601 typedef
|
Chris@16
|
602 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
603 flat_view_type;
|
Chris@16
|
604 typedef
|
Chris@16
|
605 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
606 flat_view_begin;
|
Chris@16
|
607 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
608 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10;
|
Chris@16
|
609 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
610 {
|
Chris@16
|
611 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
612 }
|
Chris@16
|
613 }
|
Chris@16
|
614 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
615 result_type
|
Chris@16
|
616 evaluate(
|
Chris@16
|
617 Context const & ctx
|
Chris@16
|
618 , Cond const & cond
|
Chris@16
|
619 , Cases const & cases
|
Chris@16
|
620 , mpl::int_<11>
|
Chris@16
|
621 , mpl::true_
|
Chris@16
|
622 ) const
|
Chris@16
|
623 {
|
Chris@16
|
624 typedef
|
Chris@16
|
625 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
626 flat_view_type;
|
Chris@16
|
627 typedef
|
Chris@16
|
628 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
629 flat_view_begin;
|
Chris@16
|
630 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
631 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9;
|
Chris@16
|
632 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
633 {
|
Chris@16
|
634 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
635 default:
|
Chris@16
|
636 boost::phoenix::eval(
|
Chris@16
|
637 proto::child_c<0>(
|
Chris@16
|
638 fusion::deref(
|
Chris@16
|
639 fusion::advance_c<
|
Chris@16
|
640 10
|
Chris@16
|
641 >(fusion::begin(flat_view))
|
Chris@16
|
642 )
|
Chris@16
|
643 )
|
Chris@16
|
644 , ctx
|
Chris@16
|
645 );
|
Chris@16
|
646 }
|
Chris@16
|
647 }
|
Chris@16
|
648
|
Chris@16
|
649
|
Chris@16
|
650
|
Chris@16
|
651
|
Chris@16
|
652
|
Chris@16
|
653
|
Chris@16
|
654
|
Chris@16
|
655 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
656 result_type
|
Chris@16
|
657 evaluate(
|
Chris@16
|
658 Context const & ctx
|
Chris@16
|
659 , Cond const & cond
|
Chris@16
|
660 , Cases const & cases
|
Chris@16
|
661 , mpl::int_<12>
|
Chris@16
|
662 , mpl::false_
|
Chris@16
|
663 ) const
|
Chris@16
|
664 {
|
Chris@16
|
665 typedef
|
Chris@16
|
666 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
667 flat_view_type;
|
Chris@16
|
668 typedef
|
Chris@16
|
669 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
670 flat_view_begin;
|
Chris@16
|
671 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
672 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11;
|
Chris@16
|
673 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
674 {
|
Chris@16
|
675 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
676 }
|
Chris@16
|
677 }
|
Chris@16
|
678 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
679 result_type
|
Chris@16
|
680 evaluate(
|
Chris@16
|
681 Context const & ctx
|
Chris@16
|
682 , Cond const & cond
|
Chris@16
|
683 , Cases const & cases
|
Chris@16
|
684 , mpl::int_<12>
|
Chris@16
|
685 , mpl::true_
|
Chris@16
|
686 ) const
|
Chris@16
|
687 {
|
Chris@16
|
688 typedef
|
Chris@16
|
689 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
690 flat_view_type;
|
Chris@16
|
691 typedef
|
Chris@16
|
692 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
693 flat_view_begin;
|
Chris@16
|
694 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
695 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10;
|
Chris@16
|
696 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
697 {
|
Chris@16
|
698 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
699 default:
|
Chris@16
|
700 boost::phoenix::eval(
|
Chris@16
|
701 proto::child_c<0>(
|
Chris@16
|
702 fusion::deref(
|
Chris@16
|
703 fusion::advance_c<
|
Chris@16
|
704 11
|
Chris@16
|
705 >(fusion::begin(flat_view))
|
Chris@16
|
706 )
|
Chris@16
|
707 )
|
Chris@16
|
708 , ctx
|
Chris@16
|
709 );
|
Chris@16
|
710 }
|
Chris@16
|
711 }
|
Chris@16
|
712
|
Chris@16
|
713
|
Chris@16
|
714
|
Chris@16
|
715
|
Chris@16
|
716
|
Chris@16
|
717
|
Chris@16
|
718
|
Chris@16
|
719 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
720 result_type
|
Chris@16
|
721 evaluate(
|
Chris@16
|
722 Context const & ctx
|
Chris@16
|
723 , Cond const & cond
|
Chris@16
|
724 , Cases const & cases
|
Chris@16
|
725 , mpl::int_<13>
|
Chris@16
|
726 , mpl::false_
|
Chris@16
|
727 ) const
|
Chris@16
|
728 {
|
Chris@16
|
729 typedef
|
Chris@16
|
730 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
731 flat_view_type;
|
Chris@16
|
732 typedef
|
Chris@16
|
733 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
734 flat_view_begin;
|
Chris@16
|
735 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
736 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12;
|
Chris@16
|
737 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
738 {
|
Chris@16
|
739 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
740 }
|
Chris@16
|
741 }
|
Chris@16
|
742 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
743 result_type
|
Chris@16
|
744 evaluate(
|
Chris@16
|
745 Context const & ctx
|
Chris@16
|
746 , Cond const & cond
|
Chris@16
|
747 , Cases const & cases
|
Chris@16
|
748 , mpl::int_<13>
|
Chris@16
|
749 , mpl::true_
|
Chris@16
|
750 ) const
|
Chris@16
|
751 {
|
Chris@16
|
752 typedef
|
Chris@16
|
753 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
754 flat_view_type;
|
Chris@16
|
755 typedef
|
Chris@16
|
756 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
757 flat_view_begin;
|
Chris@16
|
758 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
759 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11;
|
Chris@16
|
760 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
761 {
|
Chris@16
|
762 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
763 default:
|
Chris@16
|
764 boost::phoenix::eval(
|
Chris@16
|
765 proto::child_c<0>(
|
Chris@16
|
766 fusion::deref(
|
Chris@16
|
767 fusion::advance_c<
|
Chris@16
|
768 12
|
Chris@16
|
769 >(fusion::begin(flat_view))
|
Chris@16
|
770 )
|
Chris@16
|
771 )
|
Chris@16
|
772 , ctx
|
Chris@16
|
773 );
|
Chris@16
|
774 }
|
Chris@16
|
775 }
|
Chris@16
|
776
|
Chris@16
|
777
|
Chris@16
|
778
|
Chris@16
|
779
|
Chris@16
|
780
|
Chris@16
|
781
|
Chris@16
|
782
|
Chris@16
|
783 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
784 result_type
|
Chris@16
|
785 evaluate(
|
Chris@16
|
786 Context const & ctx
|
Chris@16
|
787 , Cond const & cond
|
Chris@16
|
788 , Cases const & cases
|
Chris@16
|
789 , mpl::int_<14>
|
Chris@16
|
790 , mpl::false_
|
Chris@16
|
791 ) const
|
Chris@16
|
792 {
|
Chris@16
|
793 typedef
|
Chris@16
|
794 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
795 flat_view_type;
|
Chris@16
|
796 typedef
|
Chris@16
|
797 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
798 flat_view_begin;
|
Chris@16
|
799 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
800 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13;
|
Chris@16
|
801 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
802 {
|
Chris@16
|
803 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
804 }
|
Chris@16
|
805 }
|
Chris@16
|
806 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
807 result_type
|
Chris@16
|
808 evaluate(
|
Chris@16
|
809 Context const & ctx
|
Chris@16
|
810 , Cond const & cond
|
Chris@16
|
811 , Cases const & cases
|
Chris@16
|
812 , mpl::int_<14>
|
Chris@16
|
813 , mpl::true_
|
Chris@16
|
814 ) const
|
Chris@16
|
815 {
|
Chris@16
|
816 typedef
|
Chris@16
|
817 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
818 flat_view_type;
|
Chris@16
|
819 typedef
|
Chris@16
|
820 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
821 flat_view_begin;
|
Chris@16
|
822 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
823 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12;
|
Chris@16
|
824 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
825 {
|
Chris@16
|
826 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
827 default:
|
Chris@16
|
828 boost::phoenix::eval(
|
Chris@16
|
829 proto::child_c<0>(
|
Chris@16
|
830 fusion::deref(
|
Chris@16
|
831 fusion::advance_c<
|
Chris@16
|
832 13
|
Chris@16
|
833 >(fusion::begin(flat_view))
|
Chris@16
|
834 )
|
Chris@16
|
835 )
|
Chris@16
|
836 , ctx
|
Chris@16
|
837 );
|
Chris@16
|
838 }
|
Chris@16
|
839 }
|
Chris@16
|
840
|
Chris@16
|
841
|
Chris@16
|
842
|
Chris@16
|
843
|
Chris@16
|
844
|
Chris@16
|
845
|
Chris@16
|
846
|
Chris@16
|
847 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
848 result_type
|
Chris@16
|
849 evaluate(
|
Chris@16
|
850 Context const & ctx
|
Chris@16
|
851 , Cond const & cond
|
Chris@16
|
852 , Cases const & cases
|
Chris@16
|
853 , mpl::int_<15>
|
Chris@16
|
854 , mpl::false_
|
Chris@16
|
855 ) const
|
Chris@16
|
856 {
|
Chris@16
|
857 typedef
|
Chris@16
|
858 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
859 flat_view_type;
|
Chris@16
|
860 typedef
|
Chris@16
|
861 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
862 flat_view_begin;
|
Chris@16
|
863 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
864 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14;
|
Chris@16
|
865 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
866 {
|
Chris@16
|
867 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
868 }
|
Chris@16
|
869 }
|
Chris@16
|
870 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
871 result_type
|
Chris@16
|
872 evaluate(
|
Chris@16
|
873 Context const & ctx
|
Chris@16
|
874 , Cond const & cond
|
Chris@16
|
875 , Cases const & cases
|
Chris@16
|
876 , mpl::int_<15>
|
Chris@16
|
877 , mpl::true_
|
Chris@16
|
878 ) const
|
Chris@16
|
879 {
|
Chris@16
|
880 typedef
|
Chris@16
|
881 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
882 flat_view_type;
|
Chris@16
|
883 typedef
|
Chris@16
|
884 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
885 flat_view_begin;
|
Chris@16
|
886 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
887 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13;
|
Chris@16
|
888 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
889 {
|
Chris@16
|
890 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
891 default:
|
Chris@16
|
892 boost::phoenix::eval(
|
Chris@16
|
893 proto::child_c<0>(
|
Chris@16
|
894 fusion::deref(
|
Chris@16
|
895 fusion::advance_c<
|
Chris@16
|
896 14
|
Chris@16
|
897 >(fusion::begin(flat_view))
|
Chris@16
|
898 )
|
Chris@16
|
899 )
|
Chris@16
|
900 , ctx
|
Chris@16
|
901 );
|
Chris@16
|
902 }
|
Chris@16
|
903 }
|
Chris@16
|
904
|
Chris@16
|
905
|
Chris@16
|
906
|
Chris@16
|
907
|
Chris@16
|
908
|
Chris@16
|
909
|
Chris@16
|
910
|
Chris@16
|
911 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
912 result_type
|
Chris@16
|
913 evaluate(
|
Chris@16
|
914 Context const & ctx
|
Chris@16
|
915 , Cond const & cond
|
Chris@16
|
916 , Cases const & cases
|
Chris@16
|
917 , mpl::int_<16>
|
Chris@16
|
918 , mpl::false_
|
Chris@16
|
919 ) const
|
Chris@16
|
920 {
|
Chris@16
|
921 typedef
|
Chris@16
|
922 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
923 flat_view_type;
|
Chris@16
|
924 typedef
|
Chris@16
|
925 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
926 flat_view_begin;
|
Chris@16
|
927 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
928 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15;
|
Chris@16
|
929 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
930 {
|
Chris@16
|
931 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
932 }
|
Chris@16
|
933 }
|
Chris@16
|
934 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
935 result_type
|
Chris@16
|
936 evaluate(
|
Chris@16
|
937 Context const & ctx
|
Chris@16
|
938 , Cond const & cond
|
Chris@16
|
939 , Cases const & cases
|
Chris@16
|
940 , mpl::int_<16>
|
Chris@16
|
941 , mpl::true_
|
Chris@16
|
942 ) const
|
Chris@16
|
943 {
|
Chris@16
|
944 typedef
|
Chris@16
|
945 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
946 flat_view_type;
|
Chris@16
|
947 typedef
|
Chris@16
|
948 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
949 flat_view_begin;
|
Chris@16
|
950 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
951 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14;
|
Chris@16
|
952 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
953 {
|
Chris@16
|
954 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
955 default:
|
Chris@16
|
956 boost::phoenix::eval(
|
Chris@16
|
957 proto::child_c<0>(
|
Chris@16
|
958 fusion::deref(
|
Chris@16
|
959 fusion::advance_c<
|
Chris@16
|
960 15
|
Chris@16
|
961 >(fusion::begin(flat_view))
|
Chris@16
|
962 )
|
Chris@16
|
963 )
|
Chris@16
|
964 , ctx
|
Chris@16
|
965 );
|
Chris@16
|
966 }
|
Chris@16
|
967 }
|
Chris@16
|
968
|
Chris@16
|
969
|
Chris@16
|
970
|
Chris@16
|
971
|
Chris@16
|
972
|
Chris@16
|
973
|
Chris@16
|
974
|
Chris@16
|
975 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
976 result_type
|
Chris@16
|
977 evaluate(
|
Chris@16
|
978 Context const & ctx
|
Chris@16
|
979 , Cond const & cond
|
Chris@16
|
980 , Cases const & cases
|
Chris@16
|
981 , mpl::int_<17>
|
Chris@16
|
982 , mpl::false_
|
Chris@16
|
983 ) const
|
Chris@16
|
984 {
|
Chris@16
|
985 typedef
|
Chris@16
|
986 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
987 flat_view_type;
|
Chris@16
|
988 typedef
|
Chris@16
|
989 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
990 flat_view_begin;
|
Chris@16
|
991 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
992 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16;
|
Chris@16
|
993 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
994 {
|
Chris@16
|
995 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
996 }
|
Chris@16
|
997 }
|
Chris@16
|
998 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
999 result_type
|
Chris@16
|
1000 evaluate(
|
Chris@16
|
1001 Context const & ctx
|
Chris@16
|
1002 , Cond const & cond
|
Chris@16
|
1003 , Cases const & cases
|
Chris@16
|
1004 , mpl::int_<17>
|
Chris@16
|
1005 , mpl::true_
|
Chris@16
|
1006 ) const
|
Chris@16
|
1007 {
|
Chris@16
|
1008 typedef
|
Chris@16
|
1009 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1010 flat_view_type;
|
Chris@16
|
1011 typedef
|
Chris@16
|
1012 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1013 flat_view_begin;
|
Chris@16
|
1014 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1015 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15;
|
Chris@16
|
1016 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1017 {
|
Chris@16
|
1018 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1019 default:
|
Chris@16
|
1020 boost::phoenix::eval(
|
Chris@16
|
1021 proto::child_c<0>(
|
Chris@16
|
1022 fusion::deref(
|
Chris@16
|
1023 fusion::advance_c<
|
Chris@16
|
1024 16
|
Chris@16
|
1025 >(fusion::begin(flat_view))
|
Chris@16
|
1026 )
|
Chris@16
|
1027 )
|
Chris@16
|
1028 , ctx
|
Chris@16
|
1029 );
|
Chris@16
|
1030 }
|
Chris@16
|
1031 }
|
Chris@16
|
1032
|
Chris@16
|
1033
|
Chris@16
|
1034
|
Chris@16
|
1035
|
Chris@16
|
1036
|
Chris@16
|
1037
|
Chris@16
|
1038
|
Chris@16
|
1039 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1040 result_type
|
Chris@16
|
1041 evaluate(
|
Chris@16
|
1042 Context const & ctx
|
Chris@16
|
1043 , Cond const & cond
|
Chris@16
|
1044 , Cases const & cases
|
Chris@16
|
1045 , mpl::int_<18>
|
Chris@16
|
1046 , mpl::false_
|
Chris@16
|
1047 ) const
|
Chris@16
|
1048 {
|
Chris@16
|
1049 typedef
|
Chris@16
|
1050 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1051 flat_view_type;
|
Chris@16
|
1052 typedef
|
Chris@16
|
1053 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1054 flat_view_begin;
|
Chris@16
|
1055 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1056 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17;
|
Chris@16
|
1057 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1058 {
|
Chris@16
|
1059 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1060 }
|
Chris@16
|
1061 }
|
Chris@16
|
1062 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1063 result_type
|
Chris@16
|
1064 evaluate(
|
Chris@16
|
1065 Context const & ctx
|
Chris@16
|
1066 , Cond const & cond
|
Chris@16
|
1067 , Cases const & cases
|
Chris@16
|
1068 , mpl::int_<18>
|
Chris@16
|
1069 , mpl::true_
|
Chris@16
|
1070 ) const
|
Chris@16
|
1071 {
|
Chris@16
|
1072 typedef
|
Chris@16
|
1073 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1074 flat_view_type;
|
Chris@16
|
1075 typedef
|
Chris@16
|
1076 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1077 flat_view_begin;
|
Chris@16
|
1078 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1079 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16;
|
Chris@16
|
1080 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1081 {
|
Chris@16
|
1082 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1083 default:
|
Chris@16
|
1084 boost::phoenix::eval(
|
Chris@16
|
1085 proto::child_c<0>(
|
Chris@16
|
1086 fusion::deref(
|
Chris@16
|
1087 fusion::advance_c<
|
Chris@16
|
1088 17
|
Chris@16
|
1089 >(fusion::begin(flat_view))
|
Chris@16
|
1090 )
|
Chris@16
|
1091 )
|
Chris@16
|
1092 , ctx
|
Chris@16
|
1093 );
|
Chris@16
|
1094 }
|
Chris@16
|
1095 }
|
Chris@16
|
1096
|
Chris@16
|
1097
|
Chris@16
|
1098
|
Chris@16
|
1099
|
Chris@16
|
1100
|
Chris@16
|
1101
|
Chris@16
|
1102
|
Chris@16
|
1103 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1104 result_type
|
Chris@16
|
1105 evaluate(
|
Chris@16
|
1106 Context const & ctx
|
Chris@16
|
1107 , Cond const & cond
|
Chris@16
|
1108 , Cases const & cases
|
Chris@16
|
1109 , mpl::int_<19>
|
Chris@16
|
1110 , mpl::false_
|
Chris@16
|
1111 ) const
|
Chris@16
|
1112 {
|
Chris@16
|
1113 typedef
|
Chris@16
|
1114 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1115 flat_view_type;
|
Chris@16
|
1116 typedef
|
Chris@16
|
1117 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1118 flat_view_begin;
|
Chris@16
|
1119 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1120 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18;
|
Chris@16
|
1121 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1122 {
|
Chris@16
|
1123 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1124 }
|
Chris@16
|
1125 }
|
Chris@16
|
1126 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1127 result_type
|
Chris@16
|
1128 evaluate(
|
Chris@16
|
1129 Context const & ctx
|
Chris@16
|
1130 , Cond const & cond
|
Chris@16
|
1131 , Cases const & cases
|
Chris@16
|
1132 , mpl::int_<19>
|
Chris@16
|
1133 , mpl::true_
|
Chris@16
|
1134 ) const
|
Chris@16
|
1135 {
|
Chris@16
|
1136 typedef
|
Chris@16
|
1137 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1138 flat_view_type;
|
Chris@16
|
1139 typedef
|
Chris@16
|
1140 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1141 flat_view_begin;
|
Chris@16
|
1142 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1143 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17;
|
Chris@16
|
1144 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1145 {
|
Chris@16
|
1146 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1147 default:
|
Chris@16
|
1148 boost::phoenix::eval(
|
Chris@16
|
1149 proto::child_c<0>(
|
Chris@16
|
1150 fusion::deref(
|
Chris@16
|
1151 fusion::advance_c<
|
Chris@16
|
1152 18
|
Chris@16
|
1153 >(fusion::begin(flat_view))
|
Chris@16
|
1154 )
|
Chris@16
|
1155 )
|
Chris@16
|
1156 , ctx
|
Chris@16
|
1157 );
|
Chris@16
|
1158 }
|
Chris@16
|
1159 }
|
Chris@16
|
1160
|
Chris@16
|
1161
|
Chris@16
|
1162
|
Chris@16
|
1163
|
Chris@16
|
1164
|
Chris@16
|
1165
|
Chris@16
|
1166
|
Chris@16
|
1167 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1168 result_type
|
Chris@16
|
1169 evaluate(
|
Chris@16
|
1170 Context const & ctx
|
Chris@16
|
1171 , Cond const & cond
|
Chris@16
|
1172 , Cases const & cases
|
Chris@16
|
1173 , mpl::int_<20>
|
Chris@16
|
1174 , mpl::false_
|
Chris@16
|
1175 ) const
|
Chris@16
|
1176 {
|
Chris@16
|
1177 typedef
|
Chris@16
|
1178 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1179 flat_view_type;
|
Chris@16
|
1180 typedef
|
Chris@16
|
1181 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1182 flat_view_begin;
|
Chris@16
|
1183 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1184 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19;
|
Chris@16
|
1185 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1186 {
|
Chris@16
|
1187 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1188 }
|
Chris@16
|
1189 }
|
Chris@16
|
1190 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1191 result_type
|
Chris@16
|
1192 evaluate(
|
Chris@16
|
1193 Context const & ctx
|
Chris@16
|
1194 , Cond const & cond
|
Chris@16
|
1195 , Cases const & cases
|
Chris@16
|
1196 , mpl::int_<20>
|
Chris@16
|
1197 , mpl::true_
|
Chris@16
|
1198 ) const
|
Chris@16
|
1199 {
|
Chris@16
|
1200 typedef
|
Chris@16
|
1201 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1202 flat_view_type;
|
Chris@16
|
1203 typedef
|
Chris@16
|
1204 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1205 flat_view_begin;
|
Chris@16
|
1206 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1207 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18;
|
Chris@16
|
1208 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1209 {
|
Chris@16
|
1210 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1211 default:
|
Chris@16
|
1212 boost::phoenix::eval(
|
Chris@16
|
1213 proto::child_c<0>(
|
Chris@16
|
1214 fusion::deref(
|
Chris@16
|
1215 fusion::advance_c<
|
Chris@16
|
1216 19
|
Chris@16
|
1217 >(fusion::begin(flat_view))
|
Chris@16
|
1218 )
|
Chris@16
|
1219 )
|
Chris@16
|
1220 , ctx
|
Chris@16
|
1221 );
|
Chris@16
|
1222 }
|
Chris@16
|
1223 }
|
Chris@16
|
1224
|
Chris@16
|
1225
|
Chris@16
|
1226
|
Chris@16
|
1227
|
Chris@16
|
1228
|
Chris@16
|
1229
|
Chris@16
|
1230
|
Chris@16
|
1231 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1232 result_type
|
Chris@16
|
1233 evaluate(
|
Chris@16
|
1234 Context const & ctx
|
Chris@16
|
1235 , Cond const & cond
|
Chris@16
|
1236 , Cases const & cases
|
Chris@16
|
1237 , mpl::int_<21>
|
Chris@16
|
1238 , mpl::false_
|
Chris@16
|
1239 ) const
|
Chris@16
|
1240 {
|
Chris@16
|
1241 typedef
|
Chris@16
|
1242 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1243 flat_view_type;
|
Chris@16
|
1244 typedef
|
Chris@16
|
1245 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1246 flat_view_begin;
|
Chris@16
|
1247 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1248 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20;
|
Chris@16
|
1249 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1250 {
|
Chris@16
|
1251 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1252 }
|
Chris@16
|
1253 }
|
Chris@16
|
1254 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1255 result_type
|
Chris@16
|
1256 evaluate(
|
Chris@16
|
1257 Context const & ctx
|
Chris@16
|
1258 , Cond const & cond
|
Chris@16
|
1259 , Cases const & cases
|
Chris@16
|
1260 , mpl::int_<21>
|
Chris@16
|
1261 , mpl::true_
|
Chris@16
|
1262 ) const
|
Chris@16
|
1263 {
|
Chris@16
|
1264 typedef
|
Chris@16
|
1265 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1266 flat_view_type;
|
Chris@16
|
1267 typedef
|
Chris@16
|
1268 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1269 flat_view_begin;
|
Chris@16
|
1270 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1271 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19;
|
Chris@16
|
1272 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1273 {
|
Chris@16
|
1274 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1275 default:
|
Chris@16
|
1276 boost::phoenix::eval(
|
Chris@16
|
1277 proto::child_c<0>(
|
Chris@16
|
1278 fusion::deref(
|
Chris@16
|
1279 fusion::advance_c<
|
Chris@16
|
1280 20
|
Chris@16
|
1281 >(fusion::begin(flat_view))
|
Chris@16
|
1282 )
|
Chris@16
|
1283 )
|
Chris@16
|
1284 , ctx
|
Chris@16
|
1285 );
|
Chris@16
|
1286 }
|
Chris@16
|
1287 }
|
Chris@16
|
1288
|
Chris@16
|
1289
|
Chris@16
|
1290
|
Chris@16
|
1291
|
Chris@16
|
1292
|
Chris@16
|
1293
|
Chris@16
|
1294
|
Chris@16
|
1295 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1296 result_type
|
Chris@16
|
1297 evaluate(
|
Chris@16
|
1298 Context const & ctx
|
Chris@16
|
1299 , Cond const & cond
|
Chris@16
|
1300 , Cases const & cases
|
Chris@16
|
1301 , mpl::int_<22>
|
Chris@16
|
1302 , mpl::false_
|
Chris@16
|
1303 ) const
|
Chris@16
|
1304 {
|
Chris@16
|
1305 typedef
|
Chris@16
|
1306 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1307 flat_view_type;
|
Chris@16
|
1308 typedef
|
Chris@16
|
1309 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1310 flat_view_begin;
|
Chris@16
|
1311 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1312 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21;
|
Chris@16
|
1313 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1314 {
|
Chris@16
|
1315 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1316 }
|
Chris@16
|
1317 }
|
Chris@16
|
1318 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1319 result_type
|
Chris@16
|
1320 evaluate(
|
Chris@16
|
1321 Context const & ctx
|
Chris@16
|
1322 , Cond const & cond
|
Chris@16
|
1323 , Cases const & cases
|
Chris@16
|
1324 , mpl::int_<22>
|
Chris@16
|
1325 , mpl::true_
|
Chris@16
|
1326 ) const
|
Chris@16
|
1327 {
|
Chris@16
|
1328 typedef
|
Chris@16
|
1329 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1330 flat_view_type;
|
Chris@16
|
1331 typedef
|
Chris@16
|
1332 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1333 flat_view_begin;
|
Chris@16
|
1334 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1335 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20;
|
Chris@16
|
1336 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1337 {
|
Chris@16
|
1338 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1339 default:
|
Chris@16
|
1340 boost::phoenix::eval(
|
Chris@16
|
1341 proto::child_c<0>(
|
Chris@16
|
1342 fusion::deref(
|
Chris@16
|
1343 fusion::advance_c<
|
Chris@16
|
1344 21
|
Chris@16
|
1345 >(fusion::begin(flat_view))
|
Chris@16
|
1346 )
|
Chris@16
|
1347 )
|
Chris@16
|
1348 , ctx
|
Chris@16
|
1349 );
|
Chris@16
|
1350 }
|
Chris@16
|
1351 }
|
Chris@16
|
1352
|
Chris@16
|
1353
|
Chris@16
|
1354
|
Chris@16
|
1355
|
Chris@16
|
1356
|
Chris@16
|
1357
|
Chris@16
|
1358
|
Chris@16
|
1359 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1360 result_type
|
Chris@16
|
1361 evaluate(
|
Chris@16
|
1362 Context const & ctx
|
Chris@16
|
1363 , Cond const & cond
|
Chris@16
|
1364 , Cases const & cases
|
Chris@16
|
1365 , mpl::int_<23>
|
Chris@16
|
1366 , mpl::false_
|
Chris@16
|
1367 ) const
|
Chris@16
|
1368 {
|
Chris@16
|
1369 typedef
|
Chris@16
|
1370 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1371 flat_view_type;
|
Chris@16
|
1372 typedef
|
Chris@16
|
1373 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1374 flat_view_begin;
|
Chris@16
|
1375 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1376 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22;
|
Chris@16
|
1377 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1378 {
|
Chris@16
|
1379 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1380 }
|
Chris@16
|
1381 }
|
Chris@16
|
1382 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1383 result_type
|
Chris@16
|
1384 evaluate(
|
Chris@16
|
1385 Context const & ctx
|
Chris@16
|
1386 , Cond const & cond
|
Chris@16
|
1387 , Cases const & cases
|
Chris@16
|
1388 , mpl::int_<23>
|
Chris@16
|
1389 , mpl::true_
|
Chris@16
|
1390 ) const
|
Chris@16
|
1391 {
|
Chris@16
|
1392 typedef
|
Chris@16
|
1393 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1394 flat_view_type;
|
Chris@16
|
1395 typedef
|
Chris@16
|
1396 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1397 flat_view_begin;
|
Chris@16
|
1398 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1399 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21;
|
Chris@16
|
1400 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1401 {
|
Chris@16
|
1402 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1403 default:
|
Chris@16
|
1404 boost::phoenix::eval(
|
Chris@16
|
1405 proto::child_c<0>(
|
Chris@16
|
1406 fusion::deref(
|
Chris@16
|
1407 fusion::advance_c<
|
Chris@16
|
1408 22
|
Chris@16
|
1409 >(fusion::begin(flat_view))
|
Chris@16
|
1410 )
|
Chris@16
|
1411 )
|
Chris@16
|
1412 , ctx
|
Chris@16
|
1413 );
|
Chris@16
|
1414 }
|
Chris@16
|
1415 }
|
Chris@16
|
1416
|
Chris@16
|
1417
|
Chris@16
|
1418
|
Chris@16
|
1419
|
Chris@16
|
1420
|
Chris@16
|
1421
|
Chris@16
|
1422
|
Chris@16
|
1423 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1424 result_type
|
Chris@16
|
1425 evaluate(
|
Chris@16
|
1426 Context const & ctx
|
Chris@16
|
1427 , Cond const & cond
|
Chris@16
|
1428 , Cases const & cases
|
Chris@16
|
1429 , mpl::int_<24>
|
Chris@16
|
1430 , mpl::false_
|
Chris@16
|
1431 ) const
|
Chris@16
|
1432 {
|
Chris@16
|
1433 typedef
|
Chris@16
|
1434 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1435 flat_view_type;
|
Chris@16
|
1436 typedef
|
Chris@16
|
1437 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1438 flat_view_begin;
|
Chris@16
|
1439 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1440 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23;
|
Chris@16
|
1441 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1442 {
|
Chris@16
|
1443 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1444 }
|
Chris@16
|
1445 }
|
Chris@16
|
1446 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1447 result_type
|
Chris@16
|
1448 evaluate(
|
Chris@16
|
1449 Context const & ctx
|
Chris@16
|
1450 , Cond const & cond
|
Chris@16
|
1451 , Cases const & cases
|
Chris@16
|
1452 , mpl::int_<24>
|
Chris@16
|
1453 , mpl::true_
|
Chris@16
|
1454 ) const
|
Chris@16
|
1455 {
|
Chris@16
|
1456 typedef
|
Chris@16
|
1457 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1458 flat_view_type;
|
Chris@16
|
1459 typedef
|
Chris@16
|
1460 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1461 flat_view_begin;
|
Chris@16
|
1462 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1463 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22;
|
Chris@16
|
1464 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1465 {
|
Chris@16
|
1466 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1467 default:
|
Chris@16
|
1468 boost::phoenix::eval(
|
Chris@16
|
1469 proto::child_c<0>(
|
Chris@16
|
1470 fusion::deref(
|
Chris@16
|
1471 fusion::advance_c<
|
Chris@16
|
1472 23
|
Chris@16
|
1473 >(fusion::begin(flat_view))
|
Chris@16
|
1474 )
|
Chris@16
|
1475 )
|
Chris@16
|
1476 , ctx
|
Chris@16
|
1477 );
|
Chris@16
|
1478 }
|
Chris@16
|
1479 }
|
Chris@16
|
1480
|
Chris@16
|
1481
|
Chris@16
|
1482
|
Chris@16
|
1483
|
Chris@16
|
1484
|
Chris@16
|
1485
|
Chris@16
|
1486
|
Chris@16
|
1487 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1488 result_type
|
Chris@16
|
1489 evaluate(
|
Chris@16
|
1490 Context const & ctx
|
Chris@16
|
1491 , Cond const & cond
|
Chris@16
|
1492 , Cases const & cases
|
Chris@16
|
1493 , mpl::int_<25>
|
Chris@16
|
1494 , mpl::false_
|
Chris@16
|
1495 ) const
|
Chris@16
|
1496 {
|
Chris@16
|
1497 typedef
|
Chris@16
|
1498 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1499 flat_view_type;
|
Chris@16
|
1500 typedef
|
Chris@16
|
1501 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1502 flat_view_begin;
|
Chris@16
|
1503 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1504 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24;
|
Chris@16
|
1505 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1506 {
|
Chris@16
|
1507 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1508 }
|
Chris@16
|
1509 }
|
Chris@16
|
1510 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1511 result_type
|
Chris@16
|
1512 evaluate(
|
Chris@16
|
1513 Context const & ctx
|
Chris@16
|
1514 , Cond const & cond
|
Chris@16
|
1515 , Cases const & cases
|
Chris@16
|
1516 , mpl::int_<25>
|
Chris@16
|
1517 , mpl::true_
|
Chris@16
|
1518 ) const
|
Chris@16
|
1519 {
|
Chris@16
|
1520 typedef
|
Chris@16
|
1521 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1522 flat_view_type;
|
Chris@16
|
1523 typedef
|
Chris@16
|
1524 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1525 flat_view_begin;
|
Chris@16
|
1526 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1527 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23;
|
Chris@16
|
1528 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1529 {
|
Chris@16
|
1530 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1531 default:
|
Chris@16
|
1532 boost::phoenix::eval(
|
Chris@16
|
1533 proto::child_c<0>(
|
Chris@16
|
1534 fusion::deref(
|
Chris@16
|
1535 fusion::advance_c<
|
Chris@16
|
1536 24
|
Chris@16
|
1537 >(fusion::begin(flat_view))
|
Chris@16
|
1538 )
|
Chris@16
|
1539 )
|
Chris@16
|
1540 , ctx
|
Chris@16
|
1541 );
|
Chris@16
|
1542 }
|
Chris@16
|
1543 }
|
Chris@16
|
1544
|
Chris@16
|
1545
|
Chris@16
|
1546
|
Chris@16
|
1547
|
Chris@16
|
1548
|
Chris@16
|
1549
|
Chris@16
|
1550
|
Chris@16
|
1551 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1552 result_type
|
Chris@16
|
1553 evaluate(
|
Chris@16
|
1554 Context const & ctx
|
Chris@16
|
1555 , Cond const & cond
|
Chris@16
|
1556 , Cases const & cases
|
Chris@16
|
1557 , mpl::int_<26>
|
Chris@16
|
1558 , mpl::false_
|
Chris@16
|
1559 ) const
|
Chris@16
|
1560 {
|
Chris@16
|
1561 typedef
|
Chris@16
|
1562 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1563 flat_view_type;
|
Chris@16
|
1564 typedef
|
Chris@16
|
1565 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1566 flat_view_begin;
|
Chris@16
|
1567 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1568 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25;
|
Chris@16
|
1569 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1570 {
|
Chris@16
|
1571 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1572 }
|
Chris@16
|
1573 }
|
Chris@16
|
1574 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1575 result_type
|
Chris@16
|
1576 evaluate(
|
Chris@16
|
1577 Context const & ctx
|
Chris@16
|
1578 , Cond const & cond
|
Chris@16
|
1579 , Cases const & cases
|
Chris@16
|
1580 , mpl::int_<26>
|
Chris@16
|
1581 , mpl::true_
|
Chris@16
|
1582 ) const
|
Chris@16
|
1583 {
|
Chris@16
|
1584 typedef
|
Chris@16
|
1585 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1586 flat_view_type;
|
Chris@16
|
1587 typedef
|
Chris@16
|
1588 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1589 flat_view_begin;
|
Chris@16
|
1590 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1591 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24;
|
Chris@16
|
1592 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1593 {
|
Chris@16
|
1594 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1595 default:
|
Chris@16
|
1596 boost::phoenix::eval(
|
Chris@16
|
1597 proto::child_c<0>(
|
Chris@16
|
1598 fusion::deref(
|
Chris@16
|
1599 fusion::advance_c<
|
Chris@16
|
1600 25
|
Chris@16
|
1601 >(fusion::begin(flat_view))
|
Chris@16
|
1602 )
|
Chris@16
|
1603 )
|
Chris@16
|
1604 , ctx
|
Chris@16
|
1605 );
|
Chris@16
|
1606 }
|
Chris@16
|
1607 }
|
Chris@16
|
1608
|
Chris@16
|
1609
|
Chris@16
|
1610
|
Chris@16
|
1611
|
Chris@16
|
1612
|
Chris@16
|
1613
|
Chris@16
|
1614
|
Chris@16
|
1615 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1616 result_type
|
Chris@16
|
1617 evaluate(
|
Chris@16
|
1618 Context const & ctx
|
Chris@16
|
1619 , Cond const & cond
|
Chris@16
|
1620 , Cases const & cases
|
Chris@16
|
1621 , mpl::int_<27>
|
Chris@16
|
1622 , mpl::false_
|
Chris@16
|
1623 ) const
|
Chris@16
|
1624 {
|
Chris@16
|
1625 typedef
|
Chris@16
|
1626 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1627 flat_view_type;
|
Chris@16
|
1628 typedef
|
Chris@16
|
1629 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1630 flat_view_begin;
|
Chris@16
|
1631 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1632 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26;
|
Chris@16
|
1633 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1634 {
|
Chris@16
|
1635 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1636 }
|
Chris@16
|
1637 }
|
Chris@16
|
1638 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1639 result_type
|
Chris@16
|
1640 evaluate(
|
Chris@16
|
1641 Context const & ctx
|
Chris@16
|
1642 , Cond const & cond
|
Chris@16
|
1643 , Cases const & cases
|
Chris@16
|
1644 , mpl::int_<27>
|
Chris@16
|
1645 , mpl::true_
|
Chris@16
|
1646 ) const
|
Chris@16
|
1647 {
|
Chris@16
|
1648 typedef
|
Chris@16
|
1649 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1650 flat_view_type;
|
Chris@16
|
1651 typedef
|
Chris@16
|
1652 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1653 flat_view_begin;
|
Chris@16
|
1654 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1655 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25;
|
Chris@16
|
1656 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1657 {
|
Chris@16
|
1658 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1659 default:
|
Chris@16
|
1660 boost::phoenix::eval(
|
Chris@16
|
1661 proto::child_c<0>(
|
Chris@16
|
1662 fusion::deref(
|
Chris@16
|
1663 fusion::advance_c<
|
Chris@16
|
1664 26
|
Chris@16
|
1665 >(fusion::begin(flat_view))
|
Chris@16
|
1666 )
|
Chris@16
|
1667 )
|
Chris@16
|
1668 , ctx
|
Chris@16
|
1669 );
|
Chris@16
|
1670 }
|
Chris@16
|
1671 }
|
Chris@16
|
1672
|
Chris@16
|
1673
|
Chris@16
|
1674
|
Chris@16
|
1675
|
Chris@16
|
1676
|
Chris@16
|
1677
|
Chris@16
|
1678
|
Chris@16
|
1679 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1680 result_type
|
Chris@16
|
1681 evaluate(
|
Chris@16
|
1682 Context const & ctx
|
Chris@16
|
1683 , Cond const & cond
|
Chris@16
|
1684 , Cases const & cases
|
Chris@16
|
1685 , mpl::int_<28>
|
Chris@16
|
1686 , mpl::false_
|
Chris@16
|
1687 ) const
|
Chris@16
|
1688 {
|
Chris@16
|
1689 typedef
|
Chris@16
|
1690 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1691 flat_view_type;
|
Chris@16
|
1692 typedef
|
Chris@16
|
1693 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1694 flat_view_begin;
|
Chris@16
|
1695 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1696 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27;
|
Chris@16
|
1697 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1698 {
|
Chris@16
|
1699 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1700 }
|
Chris@16
|
1701 }
|
Chris@16
|
1702 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1703 result_type
|
Chris@16
|
1704 evaluate(
|
Chris@16
|
1705 Context const & ctx
|
Chris@16
|
1706 , Cond const & cond
|
Chris@16
|
1707 , Cases const & cases
|
Chris@16
|
1708 , mpl::int_<28>
|
Chris@16
|
1709 , mpl::true_
|
Chris@16
|
1710 ) const
|
Chris@16
|
1711 {
|
Chris@16
|
1712 typedef
|
Chris@16
|
1713 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1714 flat_view_type;
|
Chris@16
|
1715 typedef
|
Chris@16
|
1716 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1717 flat_view_begin;
|
Chris@16
|
1718 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1719 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26;
|
Chris@16
|
1720 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1721 {
|
Chris@16
|
1722 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1723 default:
|
Chris@16
|
1724 boost::phoenix::eval(
|
Chris@16
|
1725 proto::child_c<0>(
|
Chris@16
|
1726 fusion::deref(
|
Chris@16
|
1727 fusion::advance_c<
|
Chris@16
|
1728 27
|
Chris@16
|
1729 >(fusion::begin(flat_view))
|
Chris@16
|
1730 )
|
Chris@16
|
1731 )
|
Chris@16
|
1732 , ctx
|
Chris@16
|
1733 );
|
Chris@16
|
1734 }
|
Chris@16
|
1735 }
|
Chris@16
|
1736
|
Chris@16
|
1737
|
Chris@16
|
1738
|
Chris@16
|
1739
|
Chris@16
|
1740
|
Chris@16
|
1741
|
Chris@16
|
1742
|
Chris@16
|
1743 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1744 result_type
|
Chris@16
|
1745 evaluate(
|
Chris@16
|
1746 Context const & ctx
|
Chris@16
|
1747 , Cond const & cond
|
Chris@16
|
1748 , Cases const & cases
|
Chris@16
|
1749 , mpl::int_<29>
|
Chris@16
|
1750 , mpl::false_
|
Chris@16
|
1751 ) const
|
Chris@16
|
1752 {
|
Chris@16
|
1753 typedef
|
Chris@16
|
1754 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1755 flat_view_type;
|
Chris@16
|
1756 typedef
|
Chris@16
|
1757 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1758 flat_view_begin;
|
Chris@16
|
1759 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1760 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28;
|
Chris@16
|
1761 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1762 {
|
Chris@16
|
1763 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1764 }
|
Chris@16
|
1765 }
|
Chris@16
|
1766 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1767 result_type
|
Chris@16
|
1768 evaluate(
|
Chris@16
|
1769 Context const & ctx
|
Chris@16
|
1770 , Cond const & cond
|
Chris@16
|
1771 , Cases const & cases
|
Chris@16
|
1772 , mpl::int_<29>
|
Chris@16
|
1773 , mpl::true_
|
Chris@16
|
1774 ) const
|
Chris@16
|
1775 {
|
Chris@16
|
1776 typedef
|
Chris@16
|
1777 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1778 flat_view_type;
|
Chris@16
|
1779 typedef
|
Chris@16
|
1780 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1781 flat_view_begin;
|
Chris@16
|
1782 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1783 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27;
|
Chris@16
|
1784 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1785 {
|
Chris@16
|
1786 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1787 default:
|
Chris@16
|
1788 boost::phoenix::eval(
|
Chris@16
|
1789 proto::child_c<0>(
|
Chris@16
|
1790 fusion::deref(
|
Chris@16
|
1791 fusion::advance_c<
|
Chris@16
|
1792 28
|
Chris@16
|
1793 >(fusion::begin(flat_view))
|
Chris@16
|
1794 )
|
Chris@16
|
1795 )
|
Chris@16
|
1796 , ctx
|
Chris@16
|
1797 );
|
Chris@16
|
1798 }
|
Chris@16
|
1799 }
|
Chris@16
|
1800
|
Chris@16
|
1801
|
Chris@16
|
1802
|
Chris@16
|
1803
|
Chris@16
|
1804
|
Chris@16
|
1805
|
Chris@16
|
1806
|
Chris@16
|
1807 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1808 result_type
|
Chris@16
|
1809 evaluate(
|
Chris@16
|
1810 Context const & ctx
|
Chris@16
|
1811 , Cond const & cond
|
Chris@16
|
1812 , Cases const & cases
|
Chris@16
|
1813 , mpl::int_<30>
|
Chris@16
|
1814 , mpl::false_
|
Chris@16
|
1815 ) const
|
Chris@16
|
1816 {
|
Chris@16
|
1817 typedef
|
Chris@16
|
1818 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1819 flat_view_type;
|
Chris@16
|
1820 typedef
|
Chris@16
|
1821 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1822 flat_view_begin;
|
Chris@16
|
1823 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1824 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29;
|
Chris@16
|
1825 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1826 {
|
Chris@16
|
1827 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1828 }
|
Chris@16
|
1829 }
|
Chris@16
|
1830 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1831 result_type
|
Chris@16
|
1832 evaluate(
|
Chris@16
|
1833 Context const & ctx
|
Chris@16
|
1834 , Cond const & cond
|
Chris@16
|
1835 , Cases const & cases
|
Chris@16
|
1836 , mpl::int_<30>
|
Chris@16
|
1837 , mpl::true_
|
Chris@16
|
1838 ) const
|
Chris@16
|
1839 {
|
Chris@16
|
1840 typedef
|
Chris@16
|
1841 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1842 flat_view_type;
|
Chris@16
|
1843 typedef
|
Chris@16
|
1844 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1845 flat_view_begin;
|
Chris@16
|
1846 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1847 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28;
|
Chris@16
|
1848 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1849 {
|
Chris@16
|
1850 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1851 default:
|
Chris@16
|
1852 boost::phoenix::eval(
|
Chris@16
|
1853 proto::child_c<0>(
|
Chris@16
|
1854 fusion::deref(
|
Chris@16
|
1855 fusion::advance_c<
|
Chris@16
|
1856 29
|
Chris@16
|
1857 >(fusion::begin(flat_view))
|
Chris@16
|
1858 )
|
Chris@16
|
1859 )
|
Chris@16
|
1860 , ctx
|
Chris@16
|
1861 );
|
Chris@16
|
1862 }
|
Chris@16
|
1863 }
|
Chris@16
|
1864
|
Chris@16
|
1865
|
Chris@16
|
1866
|
Chris@16
|
1867
|
Chris@16
|
1868
|
Chris@16
|
1869
|
Chris@16
|
1870
|
Chris@16
|
1871 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1872 result_type
|
Chris@16
|
1873 evaluate(
|
Chris@16
|
1874 Context const & ctx
|
Chris@16
|
1875 , Cond const & cond
|
Chris@16
|
1876 , Cases const & cases
|
Chris@16
|
1877 , mpl::int_<31>
|
Chris@16
|
1878 , mpl::false_
|
Chris@16
|
1879 ) const
|
Chris@16
|
1880 {
|
Chris@16
|
1881 typedef
|
Chris@16
|
1882 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1883 flat_view_type;
|
Chris@16
|
1884 typedef
|
Chris@16
|
1885 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1886 flat_view_begin;
|
Chris@16
|
1887 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1888 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30;
|
Chris@16
|
1889 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1890 {
|
Chris@16
|
1891 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1892 }
|
Chris@16
|
1893 }
|
Chris@16
|
1894 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1895 result_type
|
Chris@16
|
1896 evaluate(
|
Chris@16
|
1897 Context const & ctx
|
Chris@16
|
1898 , Cond const & cond
|
Chris@16
|
1899 , Cases const & cases
|
Chris@16
|
1900 , mpl::int_<31>
|
Chris@16
|
1901 , mpl::true_
|
Chris@16
|
1902 ) const
|
Chris@16
|
1903 {
|
Chris@16
|
1904 typedef
|
Chris@16
|
1905 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1906 flat_view_type;
|
Chris@16
|
1907 typedef
|
Chris@16
|
1908 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1909 flat_view_begin;
|
Chris@16
|
1910 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1911 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29;
|
Chris@16
|
1912 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1913 {
|
Chris@16
|
1914 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1915 default:
|
Chris@16
|
1916 boost::phoenix::eval(
|
Chris@16
|
1917 proto::child_c<0>(
|
Chris@16
|
1918 fusion::deref(
|
Chris@16
|
1919 fusion::advance_c<
|
Chris@16
|
1920 30
|
Chris@16
|
1921 >(fusion::begin(flat_view))
|
Chris@16
|
1922 )
|
Chris@16
|
1923 )
|
Chris@16
|
1924 , ctx
|
Chris@16
|
1925 );
|
Chris@16
|
1926 }
|
Chris@16
|
1927 }
|
Chris@16
|
1928
|
Chris@16
|
1929
|
Chris@16
|
1930
|
Chris@16
|
1931
|
Chris@16
|
1932
|
Chris@16
|
1933
|
Chris@16
|
1934
|
Chris@16
|
1935 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1936 result_type
|
Chris@16
|
1937 evaluate(
|
Chris@16
|
1938 Context const & ctx
|
Chris@16
|
1939 , Cond const & cond
|
Chris@16
|
1940 , Cases const & cases
|
Chris@16
|
1941 , mpl::int_<32>
|
Chris@16
|
1942 , mpl::false_
|
Chris@16
|
1943 ) const
|
Chris@16
|
1944 {
|
Chris@16
|
1945 typedef
|
Chris@16
|
1946 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1947 flat_view_type;
|
Chris@16
|
1948 typedef
|
Chris@16
|
1949 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1950 flat_view_begin;
|
Chris@16
|
1951 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1952 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31;
|
Chris@16
|
1953 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1954 {
|
Chris@16
|
1955 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1956 }
|
Chris@16
|
1957 }
|
Chris@16
|
1958 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
1959 result_type
|
Chris@16
|
1960 evaluate(
|
Chris@16
|
1961 Context const & ctx
|
Chris@16
|
1962 , Cond const & cond
|
Chris@16
|
1963 , Cases const & cases
|
Chris@16
|
1964 , mpl::int_<32>
|
Chris@16
|
1965 , mpl::true_
|
Chris@16
|
1966 ) const
|
Chris@16
|
1967 {
|
Chris@16
|
1968 typedef
|
Chris@16
|
1969 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
1970 flat_view_type;
|
Chris@16
|
1971 typedef
|
Chris@16
|
1972 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
1973 flat_view_begin;
|
Chris@16
|
1974 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
1975 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30;
|
Chris@16
|
1976 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
1977 {
|
Chris@16
|
1978 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
1979 default:
|
Chris@16
|
1980 boost::phoenix::eval(
|
Chris@16
|
1981 proto::child_c<0>(
|
Chris@16
|
1982 fusion::deref(
|
Chris@16
|
1983 fusion::advance_c<
|
Chris@16
|
1984 31
|
Chris@16
|
1985 >(fusion::begin(flat_view))
|
Chris@16
|
1986 )
|
Chris@16
|
1987 )
|
Chris@16
|
1988 , ctx
|
Chris@16
|
1989 );
|
Chris@16
|
1990 }
|
Chris@16
|
1991 }
|
Chris@16
|
1992
|
Chris@16
|
1993
|
Chris@16
|
1994
|
Chris@16
|
1995
|
Chris@16
|
1996
|
Chris@16
|
1997
|
Chris@16
|
1998
|
Chris@16
|
1999 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2000 result_type
|
Chris@16
|
2001 evaluate(
|
Chris@16
|
2002 Context const & ctx
|
Chris@16
|
2003 , Cond const & cond
|
Chris@16
|
2004 , Cases const & cases
|
Chris@16
|
2005 , mpl::int_<33>
|
Chris@16
|
2006 , mpl::false_
|
Chris@16
|
2007 ) const
|
Chris@16
|
2008 {
|
Chris@16
|
2009 typedef
|
Chris@16
|
2010 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2011 flat_view_type;
|
Chris@16
|
2012 typedef
|
Chris@16
|
2013 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2014 flat_view_begin;
|
Chris@16
|
2015 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2016 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32;
|
Chris@16
|
2017 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2018 {
|
Chris@16
|
2019 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2020 }
|
Chris@16
|
2021 }
|
Chris@16
|
2022 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2023 result_type
|
Chris@16
|
2024 evaluate(
|
Chris@16
|
2025 Context const & ctx
|
Chris@16
|
2026 , Cond const & cond
|
Chris@16
|
2027 , Cases const & cases
|
Chris@16
|
2028 , mpl::int_<33>
|
Chris@16
|
2029 , mpl::true_
|
Chris@16
|
2030 ) const
|
Chris@16
|
2031 {
|
Chris@16
|
2032 typedef
|
Chris@16
|
2033 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2034 flat_view_type;
|
Chris@16
|
2035 typedef
|
Chris@16
|
2036 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2037 flat_view_begin;
|
Chris@16
|
2038 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2039 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31;
|
Chris@16
|
2040 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2041 {
|
Chris@16
|
2042 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2043 default:
|
Chris@16
|
2044 boost::phoenix::eval(
|
Chris@16
|
2045 proto::child_c<0>(
|
Chris@16
|
2046 fusion::deref(
|
Chris@16
|
2047 fusion::advance_c<
|
Chris@16
|
2048 32
|
Chris@16
|
2049 >(fusion::begin(flat_view))
|
Chris@16
|
2050 )
|
Chris@16
|
2051 )
|
Chris@16
|
2052 , ctx
|
Chris@16
|
2053 );
|
Chris@16
|
2054 }
|
Chris@16
|
2055 }
|
Chris@16
|
2056
|
Chris@16
|
2057
|
Chris@16
|
2058
|
Chris@16
|
2059
|
Chris@16
|
2060
|
Chris@16
|
2061
|
Chris@16
|
2062
|
Chris@16
|
2063 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2064 result_type
|
Chris@16
|
2065 evaluate(
|
Chris@16
|
2066 Context const & ctx
|
Chris@16
|
2067 , Cond const & cond
|
Chris@16
|
2068 , Cases const & cases
|
Chris@16
|
2069 , mpl::int_<34>
|
Chris@16
|
2070 , mpl::false_
|
Chris@16
|
2071 ) const
|
Chris@16
|
2072 {
|
Chris@16
|
2073 typedef
|
Chris@16
|
2074 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2075 flat_view_type;
|
Chris@16
|
2076 typedef
|
Chris@16
|
2077 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2078 flat_view_begin;
|
Chris@16
|
2079 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2080 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33;
|
Chris@16
|
2081 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2082 {
|
Chris@16
|
2083 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2084 }
|
Chris@16
|
2085 }
|
Chris@16
|
2086 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2087 result_type
|
Chris@16
|
2088 evaluate(
|
Chris@16
|
2089 Context const & ctx
|
Chris@16
|
2090 , Cond const & cond
|
Chris@16
|
2091 , Cases const & cases
|
Chris@16
|
2092 , mpl::int_<34>
|
Chris@16
|
2093 , mpl::true_
|
Chris@16
|
2094 ) const
|
Chris@16
|
2095 {
|
Chris@16
|
2096 typedef
|
Chris@16
|
2097 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2098 flat_view_type;
|
Chris@16
|
2099 typedef
|
Chris@16
|
2100 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2101 flat_view_begin;
|
Chris@16
|
2102 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2103 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32;
|
Chris@16
|
2104 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2105 {
|
Chris@16
|
2106 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2107 default:
|
Chris@16
|
2108 boost::phoenix::eval(
|
Chris@16
|
2109 proto::child_c<0>(
|
Chris@16
|
2110 fusion::deref(
|
Chris@16
|
2111 fusion::advance_c<
|
Chris@16
|
2112 33
|
Chris@16
|
2113 >(fusion::begin(flat_view))
|
Chris@16
|
2114 )
|
Chris@16
|
2115 )
|
Chris@16
|
2116 , ctx
|
Chris@16
|
2117 );
|
Chris@16
|
2118 }
|
Chris@16
|
2119 }
|
Chris@16
|
2120
|
Chris@16
|
2121
|
Chris@16
|
2122
|
Chris@16
|
2123
|
Chris@16
|
2124
|
Chris@16
|
2125
|
Chris@16
|
2126
|
Chris@16
|
2127 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2128 result_type
|
Chris@16
|
2129 evaluate(
|
Chris@16
|
2130 Context const & ctx
|
Chris@16
|
2131 , Cond const & cond
|
Chris@16
|
2132 , Cases const & cases
|
Chris@16
|
2133 , mpl::int_<35>
|
Chris@16
|
2134 , mpl::false_
|
Chris@16
|
2135 ) const
|
Chris@16
|
2136 {
|
Chris@16
|
2137 typedef
|
Chris@16
|
2138 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2139 flat_view_type;
|
Chris@16
|
2140 typedef
|
Chris@16
|
2141 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2142 flat_view_begin;
|
Chris@16
|
2143 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2144 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34;
|
Chris@16
|
2145 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2146 {
|
Chris@16
|
2147 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2148 }
|
Chris@16
|
2149 }
|
Chris@16
|
2150 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2151 result_type
|
Chris@16
|
2152 evaluate(
|
Chris@16
|
2153 Context const & ctx
|
Chris@16
|
2154 , Cond const & cond
|
Chris@16
|
2155 , Cases const & cases
|
Chris@16
|
2156 , mpl::int_<35>
|
Chris@16
|
2157 , mpl::true_
|
Chris@16
|
2158 ) const
|
Chris@16
|
2159 {
|
Chris@16
|
2160 typedef
|
Chris@16
|
2161 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2162 flat_view_type;
|
Chris@16
|
2163 typedef
|
Chris@16
|
2164 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2165 flat_view_begin;
|
Chris@16
|
2166 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2167 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33;
|
Chris@16
|
2168 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2169 {
|
Chris@16
|
2170 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2171 default:
|
Chris@16
|
2172 boost::phoenix::eval(
|
Chris@16
|
2173 proto::child_c<0>(
|
Chris@16
|
2174 fusion::deref(
|
Chris@16
|
2175 fusion::advance_c<
|
Chris@16
|
2176 34
|
Chris@16
|
2177 >(fusion::begin(flat_view))
|
Chris@16
|
2178 )
|
Chris@16
|
2179 )
|
Chris@16
|
2180 , ctx
|
Chris@16
|
2181 );
|
Chris@16
|
2182 }
|
Chris@16
|
2183 }
|
Chris@16
|
2184
|
Chris@16
|
2185
|
Chris@16
|
2186
|
Chris@16
|
2187
|
Chris@16
|
2188
|
Chris@16
|
2189
|
Chris@16
|
2190
|
Chris@16
|
2191 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2192 result_type
|
Chris@16
|
2193 evaluate(
|
Chris@16
|
2194 Context const & ctx
|
Chris@16
|
2195 , Cond const & cond
|
Chris@16
|
2196 , Cases const & cases
|
Chris@16
|
2197 , mpl::int_<36>
|
Chris@16
|
2198 , mpl::false_
|
Chris@16
|
2199 ) const
|
Chris@16
|
2200 {
|
Chris@16
|
2201 typedef
|
Chris@16
|
2202 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2203 flat_view_type;
|
Chris@16
|
2204 typedef
|
Chris@16
|
2205 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2206 flat_view_begin;
|
Chris@16
|
2207 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2208 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35;
|
Chris@16
|
2209 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2210 {
|
Chris@16
|
2211 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2212 }
|
Chris@16
|
2213 }
|
Chris@16
|
2214 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2215 result_type
|
Chris@16
|
2216 evaluate(
|
Chris@16
|
2217 Context const & ctx
|
Chris@16
|
2218 , Cond const & cond
|
Chris@16
|
2219 , Cases const & cases
|
Chris@16
|
2220 , mpl::int_<36>
|
Chris@16
|
2221 , mpl::true_
|
Chris@16
|
2222 ) const
|
Chris@16
|
2223 {
|
Chris@16
|
2224 typedef
|
Chris@16
|
2225 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2226 flat_view_type;
|
Chris@16
|
2227 typedef
|
Chris@16
|
2228 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2229 flat_view_begin;
|
Chris@16
|
2230 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2231 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34;
|
Chris@16
|
2232 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2233 {
|
Chris@16
|
2234 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2235 default:
|
Chris@16
|
2236 boost::phoenix::eval(
|
Chris@16
|
2237 proto::child_c<0>(
|
Chris@16
|
2238 fusion::deref(
|
Chris@16
|
2239 fusion::advance_c<
|
Chris@16
|
2240 35
|
Chris@16
|
2241 >(fusion::begin(flat_view))
|
Chris@16
|
2242 )
|
Chris@16
|
2243 )
|
Chris@16
|
2244 , ctx
|
Chris@16
|
2245 );
|
Chris@16
|
2246 }
|
Chris@16
|
2247 }
|
Chris@16
|
2248
|
Chris@16
|
2249
|
Chris@16
|
2250
|
Chris@16
|
2251
|
Chris@16
|
2252
|
Chris@16
|
2253
|
Chris@16
|
2254
|
Chris@16
|
2255 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2256 result_type
|
Chris@16
|
2257 evaluate(
|
Chris@16
|
2258 Context const & ctx
|
Chris@16
|
2259 , Cond const & cond
|
Chris@16
|
2260 , Cases const & cases
|
Chris@16
|
2261 , mpl::int_<37>
|
Chris@16
|
2262 , mpl::false_
|
Chris@16
|
2263 ) const
|
Chris@16
|
2264 {
|
Chris@16
|
2265 typedef
|
Chris@16
|
2266 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2267 flat_view_type;
|
Chris@16
|
2268 typedef
|
Chris@16
|
2269 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2270 flat_view_begin;
|
Chris@16
|
2271 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2272 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36;
|
Chris@16
|
2273 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2274 {
|
Chris@16
|
2275 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2276 }
|
Chris@16
|
2277 }
|
Chris@16
|
2278 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2279 result_type
|
Chris@16
|
2280 evaluate(
|
Chris@16
|
2281 Context const & ctx
|
Chris@16
|
2282 , Cond const & cond
|
Chris@16
|
2283 , Cases const & cases
|
Chris@16
|
2284 , mpl::int_<37>
|
Chris@16
|
2285 , mpl::true_
|
Chris@16
|
2286 ) const
|
Chris@16
|
2287 {
|
Chris@16
|
2288 typedef
|
Chris@16
|
2289 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2290 flat_view_type;
|
Chris@16
|
2291 typedef
|
Chris@16
|
2292 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2293 flat_view_begin;
|
Chris@16
|
2294 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2295 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35;
|
Chris@16
|
2296 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2297 {
|
Chris@16
|
2298 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2299 default:
|
Chris@16
|
2300 boost::phoenix::eval(
|
Chris@16
|
2301 proto::child_c<0>(
|
Chris@16
|
2302 fusion::deref(
|
Chris@16
|
2303 fusion::advance_c<
|
Chris@16
|
2304 36
|
Chris@16
|
2305 >(fusion::begin(flat_view))
|
Chris@16
|
2306 )
|
Chris@16
|
2307 )
|
Chris@16
|
2308 , ctx
|
Chris@16
|
2309 );
|
Chris@16
|
2310 }
|
Chris@16
|
2311 }
|
Chris@16
|
2312
|
Chris@16
|
2313
|
Chris@16
|
2314
|
Chris@16
|
2315
|
Chris@16
|
2316
|
Chris@16
|
2317
|
Chris@16
|
2318
|
Chris@16
|
2319 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2320 result_type
|
Chris@16
|
2321 evaluate(
|
Chris@16
|
2322 Context const & ctx
|
Chris@16
|
2323 , Cond const & cond
|
Chris@16
|
2324 , Cases const & cases
|
Chris@16
|
2325 , mpl::int_<38>
|
Chris@16
|
2326 , mpl::false_
|
Chris@16
|
2327 ) const
|
Chris@16
|
2328 {
|
Chris@16
|
2329 typedef
|
Chris@16
|
2330 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2331 flat_view_type;
|
Chris@16
|
2332 typedef
|
Chris@16
|
2333 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2334 flat_view_begin;
|
Chris@16
|
2335 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2336 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37;
|
Chris@16
|
2337 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2338 {
|
Chris@16
|
2339 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2340 }
|
Chris@16
|
2341 }
|
Chris@16
|
2342 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2343 result_type
|
Chris@16
|
2344 evaluate(
|
Chris@16
|
2345 Context const & ctx
|
Chris@16
|
2346 , Cond const & cond
|
Chris@16
|
2347 , Cases const & cases
|
Chris@16
|
2348 , mpl::int_<38>
|
Chris@16
|
2349 , mpl::true_
|
Chris@16
|
2350 ) const
|
Chris@16
|
2351 {
|
Chris@16
|
2352 typedef
|
Chris@16
|
2353 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2354 flat_view_type;
|
Chris@16
|
2355 typedef
|
Chris@16
|
2356 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2357 flat_view_begin;
|
Chris@16
|
2358 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2359 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36;
|
Chris@16
|
2360 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2361 {
|
Chris@16
|
2362 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2363 default:
|
Chris@16
|
2364 boost::phoenix::eval(
|
Chris@16
|
2365 proto::child_c<0>(
|
Chris@16
|
2366 fusion::deref(
|
Chris@16
|
2367 fusion::advance_c<
|
Chris@16
|
2368 37
|
Chris@16
|
2369 >(fusion::begin(flat_view))
|
Chris@16
|
2370 )
|
Chris@16
|
2371 )
|
Chris@16
|
2372 , ctx
|
Chris@16
|
2373 );
|
Chris@16
|
2374 }
|
Chris@16
|
2375 }
|
Chris@16
|
2376
|
Chris@16
|
2377
|
Chris@16
|
2378
|
Chris@16
|
2379
|
Chris@16
|
2380
|
Chris@16
|
2381
|
Chris@16
|
2382
|
Chris@16
|
2383 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2384 result_type
|
Chris@16
|
2385 evaluate(
|
Chris@16
|
2386 Context const & ctx
|
Chris@16
|
2387 , Cond const & cond
|
Chris@16
|
2388 , Cases const & cases
|
Chris@16
|
2389 , mpl::int_<39>
|
Chris@16
|
2390 , mpl::false_
|
Chris@16
|
2391 ) const
|
Chris@16
|
2392 {
|
Chris@16
|
2393 typedef
|
Chris@16
|
2394 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2395 flat_view_type;
|
Chris@16
|
2396 typedef
|
Chris@16
|
2397 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2398 flat_view_begin;
|
Chris@16
|
2399 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2400 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38;
|
Chris@16
|
2401 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2402 {
|
Chris@16
|
2403 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2404 }
|
Chris@16
|
2405 }
|
Chris@16
|
2406 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2407 result_type
|
Chris@16
|
2408 evaluate(
|
Chris@16
|
2409 Context const & ctx
|
Chris@16
|
2410 , Cond const & cond
|
Chris@16
|
2411 , Cases const & cases
|
Chris@16
|
2412 , mpl::int_<39>
|
Chris@16
|
2413 , mpl::true_
|
Chris@16
|
2414 ) const
|
Chris@16
|
2415 {
|
Chris@16
|
2416 typedef
|
Chris@16
|
2417 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2418 flat_view_type;
|
Chris@16
|
2419 typedef
|
Chris@16
|
2420 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2421 flat_view_begin;
|
Chris@16
|
2422 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2423 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37;
|
Chris@16
|
2424 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2425 {
|
Chris@16
|
2426 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2427 default:
|
Chris@16
|
2428 boost::phoenix::eval(
|
Chris@16
|
2429 proto::child_c<0>(
|
Chris@16
|
2430 fusion::deref(
|
Chris@16
|
2431 fusion::advance_c<
|
Chris@16
|
2432 38
|
Chris@16
|
2433 >(fusion::begin(flat_view))
|
Chris@16
|
2434 )
|
Chris@16
|
2435 )
|
Chris@16
|
2436 , ctx
|
Chris@16
|
2437 );
|
Chris@16
|
2438 }
|
Chris@16
|
2439 }
|
Chris@16
|
2440
|
Chris@16
|
2441
|
Chris@16
|
2442
|
Chris@16
|
2443
|
Chris@16
|
2444
|
Chris@16
|
2445
|
Chris@16
|
2446
|
Chris@16
|
2447 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2448 result_type
|
Chris@16
|
2449 evaluate(
|
Chris@16
|
2450 Context const & ctx
|
Chris@16
|
2451 , Cond const & cond
|
Chris@16
|
2452 , Cases const & cases
|
Chris@16
|
2453 , mpl::int_<40>
|
Chris@16
|
2454 , mpl::false_
|
Chris@16
|
2455 ) const
|
Chris@16
|
2456 {
|
Chris@16
|
2457 typedef
|
Chris@16
|
2458 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2459 flat_view_type;
|
Chris@16
|
2460 typedef
|
Chris@16
|
2461 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2462 flat_view_begin;
|
Chris@16
|
2463 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2464 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39;
|
Chris@16
|
2465 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2466 {
|
Chris@16
|
2467 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2468 }
|
Chris@16
|
2469 }
|
Chris@16
|
2470 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2471 result_type
|
Chris@16
|
2472 evaluate(
|
Chris@16
|
2473 Context const & ctx
|
Chris@16
|
2474 , Cond const & cond
|
Chris@16
|
2475 , Cases const & cases
|
Chris@16
|
2476 , mpl::int_<40>
|
Chris@16
|
2477 , mpl::true_
|
Chris@16
|
2478 ) const
|
Chris@16
|
2479 {
|
Chris@16
|
2480 typedef
|
Chris@16
|
2481 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2482 flat_view_type;
|
Chris@16
|
2483 typedef
|
Chris@16
|
2484 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2485 flat_view_begin;
|
Chris@16
|
2486 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2487 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38;
|
Chris@16
|
2488 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2489 {
|
Chris@16
|
2490 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2491 default:
|
Chris@16
|
2492 boost::phoenix::eval(
|
Chris@16
|
2493 proto::child_c<0>(
|
Chris@16
|
2494 fusion::deref(
|
Chris@16
|
2495 fusion::advance_c<
|
Chris@16
|
2496 39
|
Chris@16
|
2497 >(fusion::begin(flat_view))
|
Chris@16
|
2498 )
|
Chris@16
|
2499 )
|
Chris@16
|
2500 , ctx
|
Chris@16
|
2501 );
|
Chris@16
|
2502 }
|
Chris@16
|
2503 }
|
Chris@16
|
2504
|
Chris@16
|
2505
|
Chris@16
|
2506
|
Chris@16
|
2507
|
Chris@16
|
2508
|
Chris@16
|
2509
|
Chris@16
|
2510
|
Chris@16
|
2511 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2512 result_type
|
Chris@16
|
2513 evaluate(
|
Chris@16
|
2514 Context const & ctx
|
Chris@16
|
2515 , Cond const & cond
|
Chris@16
|
2516 , Cases const & cases
|
Chris@16
|
2517 , mpl::int_<41>
|
Chris@16
|
2518 , mpl::false_
|
Chris@16
|
2519 ) const
|
Chris@16
|
2520 {
|
Chris@16
|
2521 typedef
|
Chris@16
|
2522 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2523 flat_view_type;
|
Chris@16
|
2524 typedef
|
Chris@16
|
2525 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2526 flat_view_begin;
|
Chris@16
|
2527 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2528 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40;
|
Chris@16
|
2529 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2530 {
|
Chris@16
|
2531 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2532 }
|
Chris@16
|
2533 }
|
Chris@16
|
2534 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2535 result_type
|
Chris@16
|
2536 evaluate(
|
Chris@16
|
2537 Context const & ctx
|
Chris@16
|
2538 , Cond const & cond
|
Chris@16
|
2539 , Cases const & cases
|
Chris@16
|
2540 , mpl::int_<41>
|
Chris@16
|
2541 , mpl::true_
|
Chris@16
|
2542 ) const
|
Chris@16
|
2543 {
|
Chris@16
|
2544 typedef
|
Chris@16
|
2545 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2546 flat_view_type;
|
Chris@16
|
2547 typedef
|
Chris@16
|
2548 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2549 flat_view_begin;
|
Chris@16
|
2550 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2551 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39;
|
Chris@16
|
2552 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2553 {
|
Chris@16
|
2554 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2555 default:
|
Chris@16
|
2556 boost::phoenix::eval(
|
Chris@16
|
2557 proto::child_c<0>(
|
Chris@16
|
2558 fusion::deref(
|
Chris@16
|
2559 fusion::advance_c<
|
Chris@16
|
2560 40
|
Chris@16
|
2561 >(fusion::begin(flat_view))
|
Chris@16
|
2562 )
|
Chris@16
|
2563 )
|
Chris@16
|
2564 , ctx
|
Chris@16
|
2565 );
|
Chris@16
|
2566 }
|
Chris@16
|
2567 }
|
Chris@16
|
2568
|
Chris@16
|
2569
|
Chris@16
|
2570
|
Chris@16
|
2571
|
Chris@16
|
2572
|
Chris@16
|
2573
|
Chris@16
|
2574
|
Chris@16
|
2575 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2576 result_type
|
Chris@16
|
2577 evaluate(
|
Chris@16
|
2578 Context const & ctx
|
Chris@16
|
2579 , Cond const & cond
|
Chris@16
|
2580 , Cases const & cases
|
Chris@16
|
2581 , mpl::int_<42>
|
Chris@16
|
2582 , mpl::false_
|
Chris@16
|
2583 ) const
|
Chris@16
|
2584 {
|
Chris@16
|
2585 typedef
|
Chris@16
|
2586 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2587 flat_view_type;
|
Chris@16
|
2588 typedef
|
Chris@16
|
2589 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2590 flat_view_begin;
|
Chris@16
|
2591 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2592 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41;
|
Chris@16
|
2593 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2594 {
|
Chris@16
|
2595 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2596 }
|
Chris@16
|
2597 }
|
Chris@16
|
2598 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2599 result_type
|
Chris@16
|
2600 evaluate(
|
Chris@16
|
2601 Context const & ctx
|
Chris@16
|
2602 , Cond const & cond
|
Chris@16
|
2603 , Cases const & cases
|
Chris@16
|
2604 , mpl::int_<42>
|
Chris@16
|
2605 , mpl::true_
|
Chris@16
|
2606 ) const
|
Chris@16
|
2607 {
|
Chris@16
|
2608 typedef
|
Chris@16
|
2609 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2610 flat_view_type;
|
Chris@16
|
2611 typedef
|
Chris@16
|
2612 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2613 flat_view_begin;
|
Chris@16
|
2614 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2615 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40;
|
Chris@16
|
2616 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2617 {
|
Chris@16
|
2618 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2619 default:
|
Chris@16
|
2620 boost::phoenix::eval(
|
Chris@16
|
2621 proto::child_c<0>(
|
Chris@16
|
2622 fusion::deref(
|
Chris@16
|
2623 fusion::advance_c<
|
Chris@16
|
2624 41
|
Chris@16
|
2625 >(fusion::begin(flat_view))
|
Chris@16
|
2626 )
|
Chris@16
|
2627 )
|
Chris@16
|
2628 , ctx
|
Chris@16
|
2629 );
|
Chris@16
|
2630 }
|
Chris@16
|
2631 }
|
Chris@16
|
2632
|
Chris@16
|
2633
|
Chris@16
|
2634
|
Chris@16
|
2635
|
Chris@16
|
2636
|
Chris@16
|
2637
|
Chris@16
|
2638
|
Chris@16
|
2639 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2640 result_type
|
Chris@16
|
2641 evaluate(
|
Chris@16
|
2642 Context const & ctx
|
Chris@16
|
2643 , Cond const & cond
|
Chris@16
|
2644 , Cases const & cases
|
Chris@16
|
2645 , mpl::int_<43>
|
Chris@16
|
2646 , mpl::false_
|
Chris@16
|
2647 ) const
|
Chris@16
|
2648 {
|
Chris@16
|
2649 typedef
|
Chris@16
|
2650 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2651 flat_view_type;
|
Chris@16
|
2652 typedef
|
Chris@16
|
2653 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2654 flat_view_begin;
|
Chris@16
|
2655 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2656 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42;
|
Chris@16
|
2657 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2658 {
|
Chris@16
|
2659 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2660 }
|
Chris@16
|
2661 }
|
Chris@16
|
2662 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2663 result_type
|
Chris@16
|
2664 evaluate(
|
Chris@16
|
2665 Context const & ctx
|
Chris@16
|
2666 , Cond const & cond
|
Chris@16
|
2667 , Cases const & cases
|
Chris@16
|
2668 , mpl::int_<43>
|
Chris@16
|
2669 , mpl::true_
|
Chris@16
|
2670 ) const
|
Chris@16
|
2671 {
|
Chris@16
|
2672 typedef
|
Chris@16
|
2673 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2674 flat_view_type;
|
Chris@16
|
2675 typedef
|
Chris@16
|
2676 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2677 flat_view_begin;
|
Chris@16
|
2678 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2679 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41;
|
Chris@16
|
2680 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2681 {
|
Chris@16
|
2682 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2683 default:
|
Chris@16
|
2684 boost::phoenix::eval(
|
Chris@16
|
2685 proto::child_c<0>(
|
Chris@16
|
2686 fusion::deref(
|
Chris@16
|
2687 fusion::advance_c<
|
Chris@16
|
2688 42
|
Chris@16
|
2689 >(fusion::begin(flat_view))
|
Chris@16
|
2690 )
|
Chris@16
|
2691 )
|
Chris@16
|
2692 , ctx
|
Chris@16
|
2693 );
|
Chris@16
|
2694 }
|
Chris@16
|
2695 }
|
Chris@16
|
2696
|
Chris@16
|
2697
|
Chris@16
|
2698
|
Chris@16
|
2699
|
Chris@16
|
2700
|
Chris@16
|
2701
|
Chris@16
|
2702
|
Chris@16
|
2703 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2704 result_type
|
Chris@16
|
2705 evaluate(
|
Chris@16
|
2706 Context const & ctx
|
Chris@16
|
2707 , Cond const & cond
|
Chris@16
|
2708 , Cases const & cases
|
Chris@16
|
2709 , mpl::int_<44>
|
Chris@16
|
2710 , mpl::false_
|
Chris@16
|
2711 ) const
|
Chris@16
|
2712 {
|
Chris@16
|
2713 typedef
|
Chris@16
|
2714 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2715 flat_view_type;
|
Chris@16
|
2716 typedef
|
Chris@16
|
2717 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2718 flat_view_begin;
|
Chris@16
|
2719 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2720 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43;
|
Chris@16
|
2721 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2722 {
|
Chris@16
|
2723 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2724 }
|
Chris@16
|
2725 }
|
Chris@16
|
2726 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2727 result_type
|
Chris@16
|
2728 evaluate(
|
Chris@16
|
2729 Context const & ctx
|
Chris@16
|
2730 , Cond const & cond
|
Chris@16
|
2731 , Cases const & cases
|
Chris@16
|
2732 , mpl::int_<44>
|
Chris@16
|
2733 , mpl::true_
|
Chris@16
|
2734 ) const
|
Chris@16
|
2735 {
|
Chris@16
|
2736 typedef
|
Chris@16
|
2737 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2738 flat_view_type;
|
Chris@16
|
2739 typedef
|
Chris@16
|
2740 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2741 flat_view_begin;
|
Chris@16
|
2742 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2743 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42;
|
Chris@16
|
2744 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2745 {
|
Chris@16
|
2746 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2747 default:
|
Chris@16
|
2748 boost::phoenix::eval(
|
Chris@16
|
2749 proto::child_c<0>(
|
Chris@16
|
2750 fusion::deref(
|
Chris@16
|
2751 fusion::advance_c<
|
Chris@16
|
2752 43
|
Chris@16
|
2753 >(fusion::begin(flat_view))
|
Chris@16
|
2754 )
|
Chris@16
|
2755 )
|
Chris@16
|
2756 , ctx
|
Chris@16
|
2757 );
|
Chris@16
|
2758 }
|
Chris@16
|
2759 }
|
Chris@16
|
2760
|
Chris@16
|
2761
|
Chris@16
|
2762
|
Chris@16
|
2763
|
Chris@16
|
2764
|
Chris@16
|
2765
|
Chris@16
|
2766
|
Chris@16
|
2767 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2768 result_type
|
Chris@16
|
2769 evaluate(
|
Chris@16
|
2770 Context const & ctx
|
Chris@16
|
2771 , Cond const & cond
|
Chris@16
|
2772 , Cases const & cases
|
Chris@16
|
2773 , mpl::int_<45>
|
Chris@16
|
2774 , mpl::false_
|
Chris@16
|
2775 ) const
|
Chris@16
|
2776 {
|
Chris@16
|
2777 typedef
|
Chris@16
|
2778 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2779 flat_view_type;
|
Chris@16
|
2780 typedef
|
Chris@16
|
2781 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2782 flat_view_begin;
|
Chris@16
|
2783 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2784 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 44 >::type >::type case44; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case44 , 0 >::type >::type >::type case_label44;
|
Chris@16
|
2785 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2786 {
|
Chris@16
|
2787 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label44::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 44>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2788 }
|
Chris@16
|
2789 }
|
Chris@16
|
2790 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2791 result_type
|
Chris@16
|
2792 evaluate(
|
Chris@16
|
2793 Context const & ctx
|
Chris@16
|
2794 , Cond const & cond
|
Chris@16
|
2795 , Cases const & cases
|
Chris@16
|
2796 , mpl::int_<45>
|
Chris@16
|
2797 , mpl::true_
|
Chris@16
|
2798 ) const
|
Chris@16
|
2799 {
|
Chris@16
|
2800 typedef
|
Chris@16
|
2801 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2802 flat_view_type;
|
Chris@16
|
2803 typedef
|
Chris@16
|
2804 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2805 flat_view_begin;
|
Chris@16
|
2806 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2807 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43;
|
Chris@16
|
2808 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2809 {
|
Chris@16
|
2810 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2811 default:
|
Chris@16
|
2812 boost::phoenix::eval(
|
Chris@16
|
2813 proto::child_c<0>(
|
Chris@16
|
2814 fusion::deref(
|
Chris@16
|
2815 fusion::advance_c<
|
Chris@16
|
2816 44
|
Chris@16
|
2817 >(fusion::begin(flat_view))
|
Chris@16
|
2818 )
|
Chris@16
|
2819 )
|
Chris@16
|
2820 , ctx
|
Chris@16
|
2821 );
|
Chris@16
|
2822 }
|
Chris@16
|
2823 }
|
Chris@16
|
2824
|
Chris@16
|
2825
|
Chris@16
|
2826
|
Chris@16
|
2827
|
Chris@16
|
2828
|
Chris@16
|
2829
|
Chris@16
|
2830
|
Chris@16
|
2831 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2832 result_type
|
Chris@16
|
2833 evaluate(
|
Chris@16
|
2834 Context const & ctx
|
Chris@16
|
2835 , Cond const & cond
|
Chris@16
|
2836 , Cases const & cases
|
Chris@16
|
2837 , mpl::int_<46>
|
Chris@16
|
2838 , mpl::false_
|
Chris@16
|
2839 ) const
|
Chris@16
|
2840 {
|
Chris@16
|
2841 typedef
|
Chris@16
|
2842 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2843 flat_view_type;
|
Chris@16
|
2844 typedef
|
Chris@16
|
2845 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2846 flat_view_begin;
|
Chris@16
|
2847 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2848 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 44 >::type >::type case44; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case44 , 0 >::type >::type >::type case_label44; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 45 >::type >::type case45; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case45 , 0 >::type >::type >::type case_label45;
|
Chris@16
|
2849 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2850 {
|
Chris@16
|
2851 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label44::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 44>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label45::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 45>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2852 }
|
Chris@16
|
2853 }
|
Chris@16
|
2854 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2855 result_type
|
Chris@16
|
2856 evaluate(
|
Chris@16
|
2857 Context const & ctx
|
Chris@16
|
2858 , Cond const & cond
|
Chris@16
|
2859 , Cases const & cases
|
Chris@16
|
2860 , mpl::int_<46>
|
Chris@16
|
2861 , mpl::true_
|
Chris@16
|
2862 ) const
|
Chris@16
|
2863 {
|
Chris@16
|
2864 typedef
|
Chris@16
|
2865 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2866 flat_view_type;
|
Chris@16
|
2867 typedef
|
Chris@16
|
2868 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2869 flat_view_begin;
|
Chris@16
|
2870 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2871 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 44 >::type >::type case44; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case44 , 0 >::type >::type >::type case_label44;
|
Chris@16
|
2872 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2873 {
|
Chris@16
|
2874 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label44::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 44>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2875 default:
|
Chris@16
|
2876 boost::phoenix::eval(
|
Chris@16
|
2877 proto::child_c<0>(
|
Chris@16
|
2878 fusion::deref(
|
Chris@16
|
2879 fusion::advance_c<
|
Chris@16
|
2880 45
|
Chris@16
|
2881 >(fusion::begin(flat_view))
|
Chris@16
|
2882 )
|
Chris@16
|
2883 )
|
Chris@16
|
2884 , ctx
|
Chris@16
|
2885 );
|
Chris@16
|
2886 }
|
Chris@16
|
2887 }
|
Chris@16
|
2888
|
Chris@16
|
2889
|
Chris@16
|
2890
|
Chris@16
|
2891
|
Chris@16
|
2892
|
Chris@16
|
2893
|
Chris@16
|
2894
|
Chris@16
|
2895 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2896 result_type
|
Chris@16
|
2897 evaluate(
|
Chris@16
|
2898 Context const & ctx
|
Chris@16
|
2899 , Cond const & cond
|
Chris@16
|
2900 , Cases const & cases
|
Chris@16
|
2901 , mpl::int_<47>
|
Chris@16
|
2902 , mpl::false_
|
Chris@16
|
2903 ) const
|
Chris@16
|
2904 {
|
Chris@16
|
2905 typedef
|
Chris@16
|
2906 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2907 flat_view_type;
|
Chris@16
|
2908 typedef
|
Chris@16
|
2909 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2910 flat_view_begin;
|
Chris@16
|
2911 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2912 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 44 >::type >::type case44; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case44 , 0 >::type >::type >::type case_label44; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 45 >::type >::type case45; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case45 , 0 >::type >::type >::type case_label45; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 46 >::type >::type case46; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case46 , 0 >::type >::type >::type case_label46;
|
Chris@16
|
2913 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2914 {
|
Chris@16
|
2915 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label44::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 44>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label45::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 45>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label46::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 46>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2916 }
|
Chris@16
|
2917 }
|
Chris@16
|
2918 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2919 result_type
|
Chris@16
|
2920 evaluate(
|
Chris@16
|
2921 Context const & ctx
|
Chris@16
|
2922 , Cond const & cond
|
Chris@16
|
2923 , Cases const & cases
|
Chris@16
|
2924 , mpl::int_<47>
|
Chris@16
|
2925 , mpl::true_
|
Chris@16
|
2926 ) const
|
Chris@16
|
2927 {
|
Chris@16
|
2928 typedef
|
Chris@16
|
2929 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2930 flat_view_type;
|
Chris@16
|
2931 typedef
|
Chris@16
|
2932 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2933 flat_view_begin;
|
Chris@16
|
2934 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2935 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 44 >::type >::type case44; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case44 , 0 >::type >::type >::type case_label44; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 45 >::type >::type case45; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case45 , 0 >::type >::type >::type case_label45;
|
Chris@16
|
2936 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2937 {
|
Chris@16
|
2938 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label44::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 44>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label45::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 45>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2939 default:
|
Chris@16
|
2940 boost::phoenix::eval(
|
Chris@16
|
2941 proto::child_c<0>(
|
Chris@16
|
2942 fusion::deref(
|
Chris@16
|
2943 fusion::advance_c<
|
Chris@16
|
2944 46
|
Chris@16
|
2945 >(fusion::begin(flat_view))
|
Chris@16
|
2946 )
|
Chris@16
|
2947 )
|
Chris@16
|
2948 , ctx
|
Chris@16
|
2949 );
|
Chris@16
|
2950 }
|
Chris@16
|
2951 }
|
Chris@16
|
2952
|
Chris@16
|
2953
|
Chris@16
|
2954
|
Chris@16
|
2955
|
Chris@16
|
2956
|
Chris@16
|
2957
|
Chris@16
|
2958
|
Chris@16
|
2959 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2960 result_type
|
Chris@16
|
2961 evaluate(
|
Chris@16
|
2962 Context const & ctx
|
Chris@16
|
2963 , Cond const & cond
|
Chris@16
|
2964 , Cases const & cases
|
Chris@16
|
2965 , mpl::int_<48>
|
Chris@16
|
2966 , mpl::false_
|
Chris@16
|
2967 ) const
|
Chris@16
|
2968 {
|
Chris@16
|
2969 typedef
|
Chris@16
|
2970 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2971 flat_view_type;
|
Chris@16
|
2972 typedef
|
Chris@16
|
2973 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2974 flat_view_begin;
|
Chris@16
|
2975 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2976 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 44 >::type >::type case44; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case44 , 0 >::type >::type >::type case_label44; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 45 >::type >::type case45; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case45 , 0 >::type >::type >::type case_label45; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 46 >::type >::type case46; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case46 , 0 >::type >::type >::type case_label46; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 47 >::type >::type case47; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case47 , 0 >::type >::type >::type case_label47;
|
Chris@16
|
2977 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
2978 {
|
Chris@16
|
2979 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label44::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 44>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label45::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 45>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label46::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 46>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label47::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 47>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
2980 }
|
Chris@16
|
2981 }
|
Chris@16
|
2982 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
2983 result_type
|
Chris@16
|
2984 evaluate(
|
Chris@16
|
2985 Context const & ctx
|
Chris@16
|
2986 , Cond const & cond
|
Chris@16
|
2987 , Cases const & cases
|
Chris@16
|
2988 , mpl::int_<48>
|
Chris@16
|
2989 , mpl::true_
|
Chris@16
|
2990 ) const
|
Chris@16
|
2991 {
|
Chris@16
|
2992 typedef
|
Chris@16
|
2993 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
2994 flat_view_type;
|
Chris@16
|
2995 typedef
|
Chris@16
|
2996 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
2997 flat_view_begin;
|
Chris@16
|
2998 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
2999 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 44 >::type >::type case44; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case44 , 0 >::type >::type >::type case_label44; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 45 >::type >::type case45; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case45 , 0 >::type >::type >::type case_label45; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 46 >::type >::type case46; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case46 , 0 >::type >::type >::type case_label46;
|
Chris@16
|
3000 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
3001 {
|
Chris@16
|
3002 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label44::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 44>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label45::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 45>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label46::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 46>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
3003 default:
|
Chris@16
|
3004 boost::phoenix::eval(
|
Chris@16
|
3005 proto::child_c<0>(
|
Chris@16
|
3006 fusion::deref(
|
Chris@16
|
3007 fusion::advance_c<
|
Chris@16
|
3008 47
|
Chris@16
|
3009 >(fusion::begin(flat_view))
|
Chris@16
|
3010 )
|
Chris@16
|
3011 )
|
Chris@16
|
3012 , ctx
|
Chris@16
|
3013 );
|
Chris@16
|
3014 }
|
Chris@16
|
3015 }
|
Chris@16
|
3016
|
Chris@16
|
3017
|
Chris@16
|
3018
|
Chris@16
|
3019
|
Chris@16
|
3020
|
Chris@16
|
3021
|
Chris@16
|
3022
|
Chris@16
|
3023 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
3024 result_type
|
Chris@16
|
3025 evaluate(
|
Chris@16
|
3026 Context const & ctx
|
Chris@16
|
3027 , Cond const & cond
|
Chris@16
|
3028 , Cases const & cases
|
Chris@16
|
3029 , mpl::int_<49>
|
Chris@16
|
3030 , mpl::false_
|
Chris@16
|
3031 ) const
|
Chris@16
|
3032 {
|
Chris@16
|
3033 typedef
|
Chris@16
|
3034 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
3035 flat_view_type;
|
Chris@16
|
3036 typedef
|
Chris@16
|
3037 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
3038 flat_view_begin;
|
Chris@16
|
3039 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
3040 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 44 >::type >::type case44; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case44 , 0 >::type >::type >::type case_label44; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 45 >::type >::type case45; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case45 , 0 >::type >::type >::type case_label45; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 46 >::type >::type case46; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case46 , 0 >::type >::type >::type case_label46; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 47 >::type >::type case47; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case47 , 0 >::type >::type >::type case_label47; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 48 >::type >::type case48; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case48 , 0 >::type >::type >::type case_label48;
|
Chris@16
|
3041 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
3042 {
|
Chris@16
|
3043 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label44::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 44>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label45::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 45>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label46::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 46>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label47::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 47>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label48::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 48>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
3044 }
|
Chris@16
|
3045 }
|
Chris@16
|
3046 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
3047 result_type
|
Chris@16
|
3048 evaluate(
|
Chris@16
|
3049 Context const & ctx
|
Chris@16
|
3050 , Cond const & cond
|
Chris@16
|
3051 , Cases const & cases
|
Chris@16
|
3052 , mpl::int_<49>
|
Chris@16
|
3053 , mpl::true_
|
Chris@16
|
3054 ) const
|
Chris@16
|
3055 {
|
Chris@16
|
3056 typedef
|
Chris@16
|
3057 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
3058 flat_view_type;
|
Chris@16
|
3059 typedef
|
Chris@16
|
3060 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
3061 flat_view_begin;
|
Chris@16
|
3062 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
3063 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 44 >::type >::type case44; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case44 , 0 >::type >::type >::type case_label44; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 45 >::type >::type case45; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case45 , 0 >::type >::type >::type case_label45; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 46 >::type >::type case46; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case46 , 0 >::type >::type >::type case_label46; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 47 >::type >::type case47; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case47 , 0 >::type >::type >::type case_label47;
|
Chris@16
|
3064 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
3065 {
|
Chris@16
|
3066 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label44::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 44>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label45::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 45>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label46::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 46>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label47::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 47>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
3067 default:
|
Chris@16
|
3068 boost::phoenix::eval(
|
Chris@16
|
3069 proto::child_c<0>(
|
Chris@16
|
3070 fusion::deref(
|
Chris@16
|
3071 fusion::advance_c<
|
Chris@16
|
3072 48
|
Chris@16
|
3073 >(fusion::begin(flat_view))
|
Chris@16
|
3074 )
|
Chris@16
|
3075 )
|
Chris@16
|
3076 , ctx
|
Chris@16
|
3077 );
|
Chris@16
|
3078 }
|
Chris@16
|
3079 }
|
Chris@16
|
3080
|
Chris@16
|
3081
|
Chris@16
|
3082
|
Chris@16
|
3083
|
Chris@16
|
3084
|
Chris@16
|
3085
|
Chris@16
|
3086
|
Chris@16
|
3087 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
3088 result_type
|
Chris@16
|
3089 evaluate(
|
Chris@16
|
3090 Context const & ctx
|
Chris@16
|
3091 , Cond const & cond
|
Chris@16
|
3092 , Cases const & cases
|
Chris@16
|
3093 , mpl::int_<50>
|
Chris@16
|
3094 , mpl::false_
|
Chris@16
|
3095 ) const
|
Chris@16
|
3096 {
|
Chris@16
|
3097 typedef
|
Chris@16
|
3098 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
3099 flat_view_type;
|
Chris@16
|
3100 typedef
|
Chris@16
|
3101 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
3102 flat_view_begin;
|
Chris@16
|
3103 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
3104 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 44 >::type >::type case44; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case44 , 0 >::type >::type >::type case_label44; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 45 >::type >::type case45; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case45 , 0 >::type >::type >::type case_label45; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 46 >::type >::type case46; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case46 , 0 >::type >::type >::type case_label46; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 47 >::type >::type case47; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case47 , 0 >::type >::type >::type case_label47; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 48 >::type >::type case48; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case48 , 0 >::type >::type >::type case_label48; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 49 >::type >::type case49; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case49 , 0 >::type >::type >::type case_label49;
|
Chris@16
|
3105 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
3106 {
|
Chris@16
|
3107 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label44::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 44>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label45::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 45>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label46::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 46>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label47::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 47>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label48::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 48>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label49::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 49>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
3108 }
|
Chris@16
|
3109 }
|
Chris@16
|
3110 template <typename Context, typename Cond, typename Cases>
|
Chris@16
|
3111 result_type
|
Chris@16
|
3112 evaluate(
|
Chris@16
|
3113 Context const & ctx
|
Chris@16
|
3114 , Cond const & cond
|
Chris@16
|
3115 , Cases const & cases
|
Chris@16
|
3116 , mpl::int_<50>
|
Chris@16
|
3117 , mpl::true_
|
Chris@16
|
3118 ) const
|
Chris@16
|
3119 {
|
Chris@16
|
3120 typedef
|
Chris@16
|
3121 typename proto::result_of::flatten<Cases const&>::type
|
Chris@16
|
3122 flat_view_type;
|
Chris@16
|
3123 typedef
|
Chris@16
|
3124 typename fusion::result_of::begin<flat_view_type>::type
|
Chris@16
|
3125 flat_view_begin;
|
Chris@16
|
3126 flat_view_type flat_view(proto::flatten(cases));
|
Chris@16
|
3127 typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 0 >::type >::type case0; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case0 , 0 >::type >::type >::type case_label0; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 1 >::type >::type case1; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case1 , 0 >::type >::type >::type case_label1; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 2 >::type >::type case2; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case2 , 0 >::type >::type >::type case_label2; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 3 >::type >::type case3; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case3 , 0 >::type >::type >::type case_label3; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 4 >::type >::type case4; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case4 , 0 >::type >::type >::type case_label4; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 5 >::type >::type case5; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case5 , 0 >::type >::type >::type case_label5; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 6 >::type >::type case6; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case6 , 0 >::type >::type >::type case_label6; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 7 >::type >::type case7; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case7 , 0 >::type >::type >::type case_label7; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 8 >::type >::type case8; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case8 , 0 >::type >::type >::type case_label8; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 9 >::type >::type case9; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case9 , 0 >::type >::type >::type case_label9; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 10 >::type >::type case10; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case10 , 0 >::type >::type >::type case_label10; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 11 >::type >::type case11; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case11 , 0 >::type >::type >::type case_label11; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 12 >::type >::type case12; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case12 , 0 >::type >::type >::type case_label12; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 13 >::type >::type case13; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case13 , 0 >::type >::type >::type case_label13; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 14 >::type >::type case14; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case14 , 0 >::type >::type >::type case_label14; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 15 >::type >::type case15; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case15 , 0 >::type >::type >::type case_label15; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 16 >::type >::type case16; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case16 , 0 >::type >::type >::type case_label16; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 17 >::type >::type case17; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case17 , 0 >::type >::type >::type case_label17; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 18 >::type >::type case18; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case18 , 0 >::type >::type >::type case_label18; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 19 >::type >::type case19; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case19 , 0 >::type >::type >::type case_label19; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 20 >::type >::type case20; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case20 , 0 >::type >::type >::type case_label20; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 21 >::type >::type case21; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case21 , 0 >::type >::type >::type case_label21; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 22 >::type >::type case22; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case22 , 0 >::type >::type >::type case_label22; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 23 >::type >::type case23; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case23 , 0 >::type >::type >::type case_label23; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 24 >::type >::type case24; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case24 , 0 >::type >::type >::type case_label24; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 25 >::type >::type case25; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case25 , 0 >::type >::type >::type case_label25; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 26 >::type >::type case26; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case26 , 0 >::type >::type >::type case_label26; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 27 >::type >::type case27; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case27 , 0 >::type >::type >::type case_label27; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 28 >::type >::type case28; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case28 , 0 >::type >::type >::type case_label28; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 29 >::type >::type case29; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case29 , 0 >::type >::type >::type case_label29; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 30 >::type >::type case30; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case30 , 0 >::type >::type >::type case_label30; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 31 >::type >::type case31; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case31 , 0 >::type >::type >::type case_label31; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 32 >::type >::type case32; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case32 , 0 >::type >::type >::type case_label32; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 33 >::type >::type case33; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case33 , 0 >::type >::type >::type case_label33; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 34 >::type >::type case34; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case34 , 0 >::type >::type >::type case_label34; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 35 >::type >::type case35; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case35 , 0 >::type >::type >::type case_label35; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 36 >::type >::type case36; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case36 , 0 >::type >::type >::type case_label36; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 37 >::type >::type case37; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case37 , 0 >::type >::type >::type case_label37; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 38 >::type >::type case38; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case38 , 0 >::type >::type >::type case_label38; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 39 >::type >::type case39; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case39 , 0 >::type >::type >::type case_label39; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 40 >::type >::type case40; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case40 , 0 >::type >::type >::type case_label40; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 41 >::type >::type case41; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case41 , 0 >::type >::type >::type case_label41; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 42 >::type >::type case42; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case42 , 0 >::type >::type >::type case_label42; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 43 >::type >::type case43; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case43 , 0 >::type >::type >::type case_label43; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 44 >::type >::type case44; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case44 , 0 >::type >::type >::type case_label44; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 45 >::type >::type case45; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case45 , 0 >::type >::type >::type case_label45; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 46 >::type >::type case46; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case46 , 0 >::type >::type >::type case_label46; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 47 >::type >::type case47; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case47 , 0 >::type >::type >::type case_label47; typedef typename fusion::result_of::deref< typename fusion::result_of::advance_c< flat_view_begin , 48 >::type >::type case48; typedef typename proto::detail::uncvref< typename proto::result_of::value< typename proto::result_of::child_c< case48 , 0 >::type >::type >::type case_label48;
|
Chris@16
|
3128 switch(boost::phoenix::eval(cond, ctx))
|
Chris@16
|
3129 {
|
Chris@16
|
3130 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label1::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 1>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label2::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 2>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label3::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 3>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label4::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 4>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label5::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 5>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label6::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 6>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label7::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 7>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label8::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 8>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label9::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 9>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label10::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 10>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label11::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 11>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label12::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 12>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label13::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 13>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label14::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 14>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label15::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 15>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label16::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 16>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label17::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 17>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label18::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 18>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label19::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 19>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label20::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 20>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label21::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 21>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label22::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 22>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label23::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 23>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label24::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 24>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label25::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 25>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label26::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 26>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label27::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 27>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label28::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 28>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label29::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 29>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label30::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 30>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label31::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 31>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label32::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 32>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label33::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 33>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label34::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 34>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label35::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 35>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label36::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 36>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label37::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 37>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label38::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 38>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label39::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 39>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label40::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 40>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label41::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 41>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label42::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 42>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label43::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 43>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label44::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 44>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label45::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 45>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label46::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 46>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label47::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 47>(fusion::begin(flat_view)) ) ) , ctx ); break; case case_label48::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 48>(fusion::begin(flat_view)) ) ) , ctx ); break;
|
Chris@16
|
3131 default:
|
Chris@16
|
3132 boost::phoenix::eval(
|
Chris@16
|
3133 proto::child_c<0>(
|
Chris@16
|
3134 fusion::deref(
|
Chris@16
|
3135 fusion::advance_c<
|
Chris@16
|
3136 49
|
Chris@16
|
3137 >(fusion::begin(flat_view))
|
Chris@16
|
3138 )
|
Chris@16
|
3139 )
|
Chris@16
|
3140 , ctx
|
Chris@16
|
3141 );
|
Chris@16
|
3142 }
|
Chris@16
|
3143 }
|