Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/phoenix/statement/detail/preprocessed/switch_40.hpp @ 16:2665513ce2d3
Add boost headers
author | Chris Cannam |
---|---|
date | Tue, 05 Aug 2014 11:11:38 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
15:663ca0da4350 | 16:2665513ce2d3 |
---|---|
1 /*============================================================================== | |
2 Copyright (c) 2005-2010 Joel de Guzman | |
3 Copyright (c) 2010 Thomas Heller | |
4 | |
5 Distributed under the Boost Software License, Version 1.0. (See accompanying | |
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
7 ==============================================================================*/ | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 template <typename Context, typename Cond, typename Cases> | |
16 result_type | |
17 evaluate( | |
18 Context const & ctx | |
19 , Cond const & cond | |
20 , Cases const & cases | |
21 , mpl::int_<2> | |
22 , mpl::false_ | |
23 ) const | |
24 { | |
25 typedef | |
26 typename proto::result_of::flatten<Cases const&>::type | |
27 flat_view_type; | |
28 typedef | |
29 typename fusion::result_of::begin<flat_view_type>::type | |
30 flat_view_begin; | |
31 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
33 switch(boost::phoenix::eval(cond, ctx)) | |
34 { | |
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; | |
36 } | |
37 } | |
38 template <typename Context, typename Cond, typename Cases> | |
39 result_type | |
40 evaluate( | |
41 Context const & ctx | |
42 , Cond const & cond | |
43 , Cases const & cases | |
44 , mpl::int_<2> | |
45 , mpl::true_ | |
46 ) const | |
47 { | |
48 typedef | |
49 typename proto::result_of::flatten<Cases const&>::type | |
50 flat_view_type; | |
51 typedef | |
52 typename fusion::result_of::begin<flat_view_type>::type | |
53 flat_view_begin; | |
54 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
56 switch(boost::phoenix::eval(cond, ctx)) | |
57 { | |
58 case case_label0::value : boost::phoenix::eval( proto::child_c<1>( fusion::deref( fusion::advance_c< 0>(fusion::begin(flat_view)) ) ) , ctx ); break; | |
59 default: | |
60 boost::phoenix::eval( | |
61 proto::child_c<0>( | |
62 fusion::deref( | |
63 fusion::advance_c< | |
64 1 | |
65 >(fusion::begin(flat_view)) | |
66 ) | |
67 ) | |
68 , ctx | |
69 ); | |
70 } | |
71 } | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 template <typename Context, typename Cond, typename Cases> | |
80 result_type | |
81 evaluate( | |
82 Context const & ctx | |
83 , Cond const & cond | |
84 , Cases const & cases | |
85 , mpl::int_<3> | |
86 , mpl::false_ | |
87 ) const | |
88 { | |
89 typedef | |
90 typename proto::result_of::flatten<Cases const&>::type | |
91 flat_view_type; | |
92 typedef | |
93 typename fusion::result_of::begin<flat_view_type>::type | |
94 flat_view_begin; | |
95 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
97 switch(boost::phoenix::eval(cond, ctx)) | |
98 { | |
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; | |
100 } | |
101 } | |
102 template <typename Context, typename Cond, typename Cases> | |
103 result_type | |
104 evaluate( | |
105 Context const & ctx | |
106 , Cond const & cond | |
107 , Cases const & cases | |
108 , mpl::int_<3> | |
109 , mpl::true_ | |
110 ) const | |
111 { | |
112 typedef | |
113 typename proto::result_of::flatten<Cases const&>::type | |
114 flat_view_type; | |
115 typedef | |
116 typename fusion::result_of::begin<flat_view_type>::type | |
117 flat_view_begin; | |
118 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
120 switch(boost::phoenix::eval(cond, ctx)) | |
121 { | |
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; | |
123 default: | |
124 boost::phoenix::eval( | |
125 proto::child_c<0>( | |
126 fusion::deref( | |
127 fusion::advance_c< | |
128 2 | |
129 >(fusion::begin(flat_view)) | |
130 ) | |
131 ) | |
132 , ctx | |
133 ); | |
134 } | |
135 } | |
136 | |
137 | |
138 | |
139 | |
140 | |
141 | |
142 | |
143 template <typename Context, typename Cond, typename Cases> | |
144 result_type | |
145 evaluate( | |
146 Context const & ctx | |
147 , Cond const & cond | |
148 , Cases const & cases | |
149 , mpl::int_<4> | |
150 , mpl::false_ | |
151 ) const | |
152 { | |
153 typedef | |
154 typename proto::result_of::flatten<Cases const&>::type | |
155 flat_view_type; | |
156 typedef | |
157 typename fusion::result_of::begin<flat_view_type>::type | |
158 flat_view_begin; | |
159 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
161 switch(boost::phoenix::eval(cond, ctx)) | |
162 { | |
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; | |
164 } | |
165 } | |
166 template <typename Context, typename Cond, typename Cases> | |
167 result_type | |
168 evaluate( | |
169 Context const & ctx | |
170 , Cond const & cond | |
171 , Cases const & cases | |
172 , mpl::int_<4> | |
173 , mpl::true_ | |
174 ) const | |
175 { | |
176 typedef | |
177 typename proto::result_of::flatten<Cases const&>::type | |
178 flat_view_type; | |
179 typedef | |
180 typename fusion::result_of::begin<flat_view_type>::type | |
181 flat_view_begin; | |
182 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
184 switch(boost::phoenix::eval(cond, ctx)) | |
185 { | |
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; | |
187 default: | |
188 boost::phoenix::eval( | |
189 proto::child_c<0>( | |
190 fusion::deref( | |
191 fusion::advance_c< | |
192 3 | |
193 >(fusion::begin(flat_view)) | |
194 ) | |
195 ) | |
196 , ctx | |
197 ); | |
198 } | |
199 } | |
200 | |
201 | |
202 | |
203 | |
204 | |
205 | |
206 | |
207 template <typename Context, typename Cond, typename Cases> | |
208 result_type | |
209 evaluate( | |
210 Context const & ctx | |
211 , Cond const & cond | |
212 , Cases const & cases | |
213 , mpl::int_<5> | |
214 , mpl::false_ | |
215 ) const | |
216 { | |
217 typedef | |
218 typename proto::result_of::flatten<Cases const&>::type | |
219 flat_view_type; | |
220 typedef | |
221 typename fusion::result_of::begin<flat_view_type>::type | |
222 flat_view_begin; | |
223 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
225 switch(boost::phoenix::eval(cond, ctx)) | |
226 { | |
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; | |
228 } | |
229 } | |
230 template <typename Context, typename Cond, typename Cases> | |
231 result_type | |
232 evaluate( | |
233 Context const & ctx | |
234 , Cond const & cond | |
235 , Cases const & cases | |
236 , mpl::int_<5> | |
237 , mpl::true_ | |
238 ) const | |
239 { | |
240 typedef | |
241 typename proto::result_of::flatten<Cases const&>::type | |
242 flat_view_type; | |
243 typedef | |
244 typename fusion::result_of::begin<flat_view_type>::type | |
245 flat_view_begin; | |
246 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
248 switch(boost::phoenix::eval(cond, ctx)) | |
249 { | |
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; | |
251 default: | |
252 boost::phoenix::eval( | |
253 proto::child_c<0>( | |
254 fusion::deref( | |
255 fusion::advance_c< | |
256 4 | |
257 >(fusion::begin(flat_view)) | |
258 ) | |
259 ) | |
260 , ctx | |
261 ); | |
262 } | |
263 } | |
264 | |
265 | |
266 | |
267 | |
268 | |
269 | |
270 | |
271 template <typename Context, typename Cond, typename Cases> | |
272 result_type | |
273 evaluate( | |
274 Context const & ctx | |
275 , Cond const & cond | |
276 , Cases const & cases | |
277 , mpl::int_<6> | |
278 , mpl::false_ | |
279 ) const | |
280 { | |
281 typedef | |
282 typename proto::result_of::flatten<Cases const&>::type | |
283 flat_view_type; | |
284 typedef | |
285 typename fusion::result_of::begin<flat_view_type>::type | |
286 flat_view_begin; | |
287 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
289 switch(boost::phoenix::eval(cond, ctx)) | |
290 { | |
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; | |
292 } | |
293 } | |
294 template <typename Context, typename Cond, typename Cases> | |
295 result_type | |
296 evaluate( | |
297 Context const & ctx | |
298 , Cond const & cond | |
299 , Cases const & cases | |
300 , mpl::int_<6> | |
301 , mpl::true_ | |
302 ) const | |
303 { | |
304 typedef | |
305 typename proto::result_of::flatten<Cases const&>::type | |
306 flat_view_type; | |
307 typedef | |
308 typename fusion::result_of::begin<flat_view_type>::type | |
309 flat_view_begin; | |
310 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
312 switch(boost::phoenix::eval(cond, ctx)) | |
313 { | |
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; | |
315 default: | |
316 boost::phoenix::eval( | |
317 proto::child_c<0>( | |
318 fusion::deref( | |
319 fusion::advance_c< | |
320 5 | |
321 >(fusion::begin(flat_view)) | |
322 ) | |
323 ) | |
324 , ctx | |
325 ); | |
326 } | |
327 } | |
328 | |
329 | |
330 | |
331 | |
332 | |
333 | |
334 | |
335 template <typename Context, typename Cond, typename Cases> | |
336 result_type | |
337 evaluate( | |
338 Context const & ctx | |
339 , Cond const & cond | |
340 , Cases const & cases | |
341 , mpl::int_<7> | |
342 , mpl::false_ | |
343 ) const | |
344 { | |
345 typedef | |
346 typename proto::result_of::flatten<Cases const&>::type | |
347 flat_view_type; | |
348 typedef | |
349 typename fusion::result_of::begin<flat_view_type>::type | |
350 flat_view_begin; | |
351 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
353 switch(boost::phoenix::eval(cond, ctx)) | |
354 { | |
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; | |
356 } | |
357 } | |
358 template <typename Context, typename Cond, typename Cases> | |
359 result_type | |
360 evaluate( | |
361 Context const & ctx | |
362 , Cond const & cond | |
363 , Cases const & cases | |
364 , mpl::int_<7> | |
365 , mpl::true_ | |
366 ) const | |
367 { | |
368 typedef | |
369 typename proto::result_of::flatten<Cases const&>::type | |
370 flat_view_type; | |
371 typedef | |
372 typename fusion::result_of::begin<flat_view_type>::type | |
373 flat_view_begin; | |
374 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
376 switch(boost::phoenix::eval(cond, ctx)) | |
377 { | |
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; | |
379 default: | |
380 boost::phoenix::eval( | |
381 proto::child_c<0>( | |
382 fusion::deref( | |
383 fusion::advance_c< | |
384 6 | |
385 >(fusion::begin(flat_view)) | |
386 ) | |
387 ) | |
388 , ctx | |
389 ); | |
390 } | |
391 } | |
392 | |
393 | |
394 | |
395 | |
396 | |
397 | |
398 | |
399 template <typename Context, typename Cond, typename Cases> | |
400 result_type | |
401 evaluate( | |
402 Context const & ctx | |
403 , Cond const & cond | |
404 , Cases const & cases | |
405 , mpl::int_<8> | |
406 , mpl::false_ | |
407 ) const | |
408 { | |
409 typedef | |
410 typename proto::result_of::flatten<Cases const&>::type | |
411 flat_view_type; | |
412 typedef | |
413 typename fusion::result_of::begin<flat_view_type>::type | |
414 flat_view_begin; | |
415 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
417 switch(boost::phoenix::eval(cond, ctx)) | |
418 { | |
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; | |
420 } | |
421 } | |
422 template <typename Context, typename Cond, typename Cases> | |
423 result_type | |
424 evaluate( | |
425 Context const & ctx | |
426 , Cond const & cond | |
427 , Cases const & cases | |
428 , mpl::int_<8> | |
429 , mpl::true_ | |
430 ) const | |
431 { | |
432 typedef | |
433 typename proto::result_of::flatten<Cases const&>::type | |
434 flat_view_type; | |
435 typedef | |
436 typename fusion::result_of::begin<flat_view_type>::type | |
437 flat_view_begin; | |
438 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
440 switch(boost::phoenix::eval(cond, ctx)) | |
441 { | |
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; | |
443 default: | |
444 boost::phoenix::eval( | |
445 proto::child_c<0>( | |
446 fusion::deref( | |
447 fusion::advance_c< | |
448 7 | |
449 >(fusion::begin(flat_view)) | |
450 ) | |
451 ) | |
452 , ctx | |
453 ); | |
454 } | |
455 } | |
456 | |
457 | |
458 | |
459 | |
460 | |
461 | |
462 | |
463 template <typename Context, typename Cond, typename Cases> | |
464 result_type | |
465 evaluate( | |
466 Context const & ctx | |
467 , Cond const & cond | |
468 , Cases const & cases | |
469 , mpl::int_<9> | |
470 , mpl::false_ | |
471 ) const | |
472 { | |
473 typedef | |
474 typename proto::result_of::flatten<Cases const&>::type | |
475 flat_view_type; | |
476 typedef | |
477 typename fusion::result_of::begin<flat_view_type>::type | |
478 flat_view_begin; | |
479 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
481 switch(boost::phoenix::eval(cond, ctx)) | |
482 { | |
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; | |
484 } | |
485 } | |
486 template <typename Context, typename Cond, typename Cases> | |
487 result_type | |
488 evaluate( | |
489 Context const & ctx | |
490 , Cond const & cond | |
491 , Cases const & cases | |
492 , mpl::int_<9> | |
493 , mpl::true_ | |
494 ) const | |
495 { | |
496 typedef | |
497 typename proto::result_of::flatten<Cases const&>::type | |
498 flat_view_type; | |
499 typedef | |
500 typename fusion::result_of::begin<flat_view_type>::type | |
501 flat_view_begin; | |
502 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
504 switch(boost::phoenix::eval(cond, ctx)) | |
505 { | |
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; | |
507 default: | |
508 boost::phoenix::eval( | |
509 proto::child_c<0>( | |
510 fusion::deref( | |
511 fusion::advance_c< | |
512 8 | |
513 >(fusion::begin(flat_view)) | |
514 ) | |
515 ) | |
516 , ctx | |
517 ); | |
518 } | |
519 } | |
520 | |
521 | |
522 | |
523 | |
524 | |
525 | |
526 | |
527 template <typename Context, typename Cond, typename Cases> | |
528 result_type | |
529 evaluate( | |
530 Context const & ctx | |
531 , Cond const & cond | |
532 , Cases const & cases | |
533 , mpl::int_<10> | |
534 , mpl::false_ | |
535 ) const | |
536 { | |
537 typedef | |
538 typename proto::result_of::flatten<Cases const&>::type | |
539 flat_view_type; | |
540 typedef | |
541 typename fusion::result_of::begin<flat_view_type>::type | |
542 flat_view_begin; | |
543 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
545 switch(boost::phoenix::eval(cond, ctx)) | |
546 { | |
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; | |
548 } | |
549 } | |
550 template <typename Context, typename Cond, typename Cases> | |
551 result_type | |
552 evaluate( | |
553 Context const & ctx | |
554 , Cond const & cond | |
555 , Cases const & cases | |
556 , mpl::int_<10> | |
557 , mpl::true_ | |
558 ) const | |
559 { | |
560 typedef | |
561 typename proto::result_of::flatten<Cases const&>::type | |
562 flat_view_type; | |
563 typedef | |
564 typename fusion::result_of::begin<flat_view_type>::type | |
565 flat_view_begin; | |
566 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
568 switch(boost::phoenix::eval(cond, ctx)) | |
569 { | |
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; | |
571 default: | |
572 boost::phoenix::eval( | |
573 proto::child_c<0>( | |
574 fusion::deref( | |
575 fusion::advance_c< | |
576 9 | |
577 >(fusion::begin(flat_view)) | |
578 ) | |
579 ) | |
580 , ctx | |
581 ); | |
582 } | |
583 } | |
584 | |
585 | |
586 | |
587 | |
588 | |
589 | |
590 | |
591 template <typename Context, typename Cond, typename Cases> | |
592 result_type | |
593 evaluate( | |
594 Context const & ctx | |
595 , Cond const & cond | |
596 , Cases const & cases | |
597 , mpl::int_<11> | |
598 , mpl::false_ | |
599 ) const | |
600 { | |
601 typedef | |
602 typename proto::result_of::flatten<Cases const&>::type | |
603 flat_view_type; | |
604 typedef | |
605 typename fusion::result_of::begin<flat_view_type>::type | |
606 flat_view_begin; | |
607 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
609 switch(boost::phoenix::eval(cond, ctx)) | |
610 { | |
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; | |
612 } | |
613 } | |
614 template <typename Context, typename Cond, typename Cases> | |
615 result_type | |
616 evaluate( | |
617 Context const & ctx | |
618 , Cond const & cond | |
619 , Cases const & cases | |
620 , mpl::int_<11> | |
621 , mpl::true_ | |
622 ) const | |
623 { | |
624 typedef | |
625 typename proto::result_of::flatten<Cases const&>::type | |
626 flat_view_type; | |
627 typedef | |
628 typename fusion::result_of::begin<flat_view_type>::type | |
629 flat_view_begin; | |
630 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
632 switch(boost::phoenix::eval(cond, ctx)) | |
633 { | |
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; | |
635 default: | |
636 boost::phoenix::eval( | |
637 proto::child_c<0>( | |
638 fusion::deref( | |
639 fusion::advance_c< | |
640 10 | |
641 >(fusion::begin(flat_view)) | |
642 ) | |
643 ) | |
644 , ctx | |
645 ); | |
646 } | |
647 } | |
648 | |
649 | |
650 | |
651 | |
652 | |
653 | |
654 | |
655 template <typename Context, typename Cond, typename Cases> | |
656 result_type | |
657 evaluate( | |
658 Context const & ctx | |
659 , Cond const & cond | |
660 , Cases const & cases | |
661 , mpl::int_<12> | |
662 , mpl::false_ | |
663 ) const | |
664 { | |
665 typedef | |
666 typename proto::result_of::flatten<Cases const&>::type | |
667 flat_view_type; | |
668 typedef | |
669 typename fusion::result_of::begin<flat_view_type>::type | |
670 flat_view_begin; | |
671 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
673 switch(boost::phoenix::eval(cond, ctx)) | |
674 { | |
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; | |
676 } | |
677 } | |
678 template <typename Context, typename Cond, typename Cases> | |
679 result_type | |
680 evaluate( | |
681 Context const & ctx | |
682 , Cond const & cond | |
683 , Cases const & cases | |
684 , mpl::int_<12> | |
685 , mpl::true_ | |
686 ) const | |
687 { | |
688 typedef | |
689 typename proto::result_of::flatten<Cases const&>::type | |
690 flat_view_type; | |
691 typedef | |
692 typename fusion::result_of::begin<flat_view_type>::type | |
693 flat_view_begin; | |
694 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
696 switch(boost::phoenix::eval(cond, ctx)) | |
697 { | |
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; | |
699 default: | |
700 boost::phoenix::eval( | |
701 proto::child_c<0>( | |
702 fusion::deref( | |
703 fusion::advance_c< | |
704 11 | |
705 >(fusion::begin(flat_view)) | |
706 ) | |
707 ) | |
708 , ctx | |
709 ); | |
710 } | |
711 } | |
712 | |
713 | |
714 | |
715 | |
716 | |
717 | |
718 | |
719 template <typename Context, typename Cond, typename Cases> | |
720 result_type | |
721 evaluate( | |
722 Context const & ctx | |
723 , Cond const & cond | |
724 , Cases const & cases | |
725 , mpl::int_<13> | |
726 , mpl::false_ | |
727 ) const | |
728 { | |
729 typedef | |
730 typename proto::result_of::flatten<Cases const&>::type | |
731 flat_view_type; | |
732 typedef | |
733 typename fusion::result_of::begin<flat_view_type>::type | |
734 flat_view_begin; | |
735 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
737 switch(boost::phoenix::eval(cond, ctx)) | |
738 { | |
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; | |
740 } | |
741 } | |
742 template <typename Context, typename Cond, typename Cases> | |
743 result_type | |
744 evaluate( | |
745 Context const & ctx | |
746 , Cond const & cond | |
747 , Cases const & cases | |
748 , mpl::int_<13> | |
749 , mpl::true_ | |
750 ) const | |
751 { | |
752 typedef | |
753 typename proto::result_of::flatten<Cases const&>::type | |
754 flat_view_type; | |
755 typedef | |
756 typename fusion::result_of::begin<flat_view_type>::type | |
757 flat_view_begin; | |
758 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
760 switch(boost::phoenix::eval(cond, ctx)) | |
761 { | |
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; | |
763 default: | |
764 boost::phoenix::eval( | |
765 proto::child_c<0>( | |
766 fusion::deref( | |
767 fusion::advance_c< | |
768 12 | |
769 >(fusion::begin(flat_view)) | |
770 ) | |
771 ) | |
772 , ctx | |
773 ); | |
774 } | |
775 } | |
776 | |
777 | |
778 | |
779 | |
780 | |
781 | |
782 | |
783 template <typename Context, typename Cond, typename Cases> | |
784 result_type | |
785 evaluate( | |
786 Context const & ctx | |
787 , Cond const & cond | |
788 , Cases const & cases | |
789 , mpl::int_<14> | |
790 , mpl::false_ | |
791 ) const | |
792 { | |
793 typedef | |
794 typename proto::result_of::flatten<Cases const&>::type | |
795 flat_view_type; | |
796 typedef | |
797 typename fusion::result_of::begin<flat_view_type>::type | |
798 flat_view_begin; | |
799 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
801 switch(boost::phoenix::eval(cond, ctx)) | |
802 { | |
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; | |
804 } | |
805 } | |
806 template <typename Context, typename Cond, typename Cases> | |
807 result_type | |
808 evaluate( | |
809 Context const & ctx | |
810 , Cond const & cond | |
811 , Cases const & cases | |
812 , mpl::int_<14> | |
813 , mpl::true_ | |
814 ) const | |
815 { | |
816 typedef | |
817 typename proto::result_of::flatten<Cases const&>::type | |
818 flat_view_type; | |
819 typedef | |
820 typename fusion::result_of::begin<flat_view_type>::type | |
821 flat_view_begin; | |
822 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
824 switch(boost::phoenix::eval(cond, ctx)) | |
825 { | |
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; | |
827 default: | |
828 boost::phoenix::eval( | |
829 proto::child_c<0>( | |
830 fusion::deref( | |
831 fusion::advance_c< | |
832 13 | |
833 >(fusion::begin(flat_view)) | |
834 ) | |
835 ) | |
836 , ctx | |
837 ); | |
838 } | |
839 } | |
840 | |
841 | |
842 | |
843 | |
844 | |
845 | |
846 | |
847 template <typename Context, typename Cond, typename Cases> | |
848 result_type | |
849 evaluate( | |
850 Context const & ctx | |
851 , Cond const & cond | |
852 , Cases const & cases | |
853 , mpl::int_<15> | |
854 , mpl::false_ | |
855 ) const | |
856 { | |
857 typedef | |
858 typename proto::result_of::flatten<Cases const&>::type | |
859 flat_view_type; | |
860 typedef | |
861 typename fusion::result_of::begin<flat_view_type>::type | |
862 flat_view_begin; | |
863 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
865 switch(boost::phoenix::eval(cond, ctx)) | |
866 { | |
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; | |
868 } | |
869 } | |
870 template <typename Context, typename Cond, typename Cases> | |
871 result_type | |
872 evaluate( | |
873 Context const & ctx | |
874 , Cond const & cond | |
875 , Cases const & cases | |
876 , mpl::int_<15> | |
877 , mpl::true_ | |
878 ) const | |
879 { | |
880 typedef | |
881 typename proto::result_of::flatten<Cases const&>::type | |
882 flat_view_type; | |
883 typedef | |
884 typename fusion::result_of::begin<flat_view_type>::type | |
885 flat_view_begin; | |
886 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
888 switch(boost::phoenix::eval(cond, ctx)) | |
889 { | |
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; | |
891 default: | |
892 boost::phoenix::eval( | |
893 proto::child_c<0>( | |
894 fusion::deref( | |
895 fusion::advance_c< | |
896 14 | |
897 >(fusion::begin(flat_view)) | |
898 ) | |
899 ) | |
900 , ctx | |
901 ); | |
902 } | |
903 } | |
904 | |
905 | |
906 | |
907 | |
908 | |
909 | |
910 | |
911 template <typename Context, typename Cond, typename Cases> | |
912 result_type | |
913 evaluate( | |
914 Context const & ctx | |
915 , Cond const & cond | |
916 , Cases const & cases | |
917 , mpl::int_<16> | |
918 , mpl::false_ | |
919 ) const | |
920 { | |
921 typedef | |
922 typename proto::result_of::flatten<Cases const&>::type | |
923 flat_view_type; | |
924 typedef | |
925 typename fusion::result_of::begin<flat_view_type>::type | |
926 flat_view_begin; | |
927 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
929 switch(boost::phoenix::eval(cond, ctx)) | |
930 { | |
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; | |
932 } | |
933 } | |
934 template <typename Context, typename Cond, typename Cases> | |
935 result_type | |
936 evaluate( | |
937 Context const & ctx | |
938 , Cond const & cond | |
939 , Cases const & cases | |
940 , mpl::int_<16> | |
941 , mpl::true_ | |
942 ) const | |
943 { | |
944 typedef | |
945 typename proto::result_of::flatten<Cases const&>::type | |
946 flat_view_type; | |
947 typedef | |
948 typename fusion::result_of::begin<flat_view_type>::type | |
949 flat_view_begin; | |
950 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
952 switch(boost::phoenix::eval(cond, ctx)) | |
953 { | |
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; | |
955 default: | |
956 boost::phoenix::eval( | |
957 proto::child_c<0>( | |
958 fusion::deref( | |
959 fusion::advance_c< | |
960 15 | |
961 >(fusion::begin(flat_view)) | |
962 ) | |
963 ) | |
964 , ctx | |
965 ); | |
966 } | |
967 } | |
968 | |
969 | |
970 | |
971 | |
972 | |
973 | |
974 | |
975 template <typename Context, typename Cond, typename Cases> | |
976 result_type | |
977 evaluate( | |
978 Context const & ctx | |
979 , Cond const & cond | |
980 , Cases const & cases | |
981 , mpl::int_<17> | |
982 , mpl::false_ | |
983 ) const | |
984 { | |
985 typedef | |
986 typename proto::result_of::flatten<Cases const&>::type | |
987 flat_view_type; | |
988 typedef | |
989 typename fusion::result_of::begin<flat_view_type>::type | |
990 flat_view_begin; | |
991 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
993 switch(boost::phoenix::eval(cond, ctx)) | |
994 { | |
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; | |
996 } | |
997 } | |
998 template <typename Context, typename Cond, typename Cases> | |
999 result_type | |
1000 evaluate( | |
1001 Context const & ctx | |
1002 , Cond const & cond | |
1003 , Cases const & cases | |
1004 , mpl::int_<17> | |
1005 , mpl::true_ | |
1006 ) const | |
1007 { | |
1008 typedef | |
1009 typename proto::result_of::flatten<Cases const&>::type | |
1010 flat_view_type; | |
1011 typedef | |
1012 typename fusion::result_of::begin<flat_view_type>::type | |
1013 flat_view_begin; | |
1014 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1016 switch(boost::phoenix::eval(cond, ctx)) | |
1017 { | |
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; | |
1019 default: | |
1020 boost::phoenix::eval( | |
1021 proto::child_c<0>( | |
1022 fusion::deref( | |
1023 fusion::advance_c< | |
1024 16 | |
1025 >(fusion::begin(flat_view)) | |
1026 ) | |
1027 ) | |
1028 , ctx | |
1029 ); | |
1030 } | |
1031 } | |
1032 | |
1033 | |
1034 | |
1035 | |
1036 | |
1037 | |
1038 | |
1039 template <typename Context, typename Cond, typename Cases> | |
1040 result_type | |
1041 evaluate( | |
1042 Context const & ctx | |
1043 , Cond const & cond | |
1044 , Cases const & cases | |
1045 , mpl::int_<18> | |
1046 , mpl::false_ | |
1047 ) const | |
1048 { | |
1049 typedef | |
1050 typename proto::result_of::flatten<Cases const&>::type | |
1051 flat_view_type; | |
1052 typedef | |
1053 typename fusion::result_of::begin<flat_view_type>::type | |
1054 flat_view_begin; | |
1055 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1057 switch(boost::phoenix::eval(cond, ctx)) | |
1058 { | |
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; | |
1060 } | |
1061 } | |
1062 template <typename Context, typename Cond, typename Cases> | |
1063 result_type | |
1064 evaluate( | |
1065 Context const & ctx | |
1066 , Cond const & cond | |
1067 , Cases const & cases | |
1068 , mpl::int_<18> | |
1069 , mpl::true_ | |
1070 ) const | |
1071 { | |
1072 typedef | |
1073 typename proto::result_of::flatten<Cases const&>::type | |
1074 flat_view_type; | |
1075 typedef | |
1076 typename fusion::result_of::begin<flat_view_type>::type | |
1077 flat_view_begin; | |
1078 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1080 switch(boost::phoenix::eval(cond, ctx)) | |
1081 { | |
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; | |
1083 default: | |
1084 boost::phoenix::eval( | |
1085 proto::child_c<0>( | |
1086 fusion::deref( | |
1087 fusion::advance_c< | |
1088 17 | |
1089 >(fusion::begin(flat_view)) | |
1090 ) | |
1091 ) | |
1092 , ctx | |
1093 ); | |
1094 } | |
1095 } | |
1096 | |
1097 | |
1098 | |
1099 | |
1100 | |
1101 | |
1102 | |
1103 template <typename Context, typename Cond, typename Cases> | |
1104 result_type | |
1105 evaluate( | |
1106 Context const & ctx | |
1107 , Cond const & cond | |
1108 , Cases const & cases | |
1109 , mpl::int_<19> | |
1110 , mpl::false_ | |
1111 ) const | |
1112 { | |
1113 typedef | |
1114 typename proto::result_of::flatten<Cases const&>::type | |
1115 flat_view_type; | |
1116 typedef | |
1117 typename fusion::result_of::begin<flat_view_type>::type | |
1118 flat_view_begin; | |
1119 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1121 switch(boost::phoenix::eval(cond, ctx)) | |
1122 { | |
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; | |
1124 } | |
1125 } | |
1126 template <typename Context, typename Cond, typename Cases> | |
1127 result_type | |
1128 evaluate( | |
1129 Context const & ctx | |
1130 , Cond const & cond | |
1131 , Cases const & cases | |
1132 , mpl::int_<19> | |
1133 , mpl::true_ | |
1134 ) const | |
1135 { | |
1136 typedef | |
1137 typename proto::result_of::flatten<Cases const&>::type | |
1138 flat_view_type; | |
1139 typedef | |
1140 typename fusion::result_of::begin<flat_view_type>::type | |
1141 flat_view_begin; | |
1142 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1144 switch(boost::phoenix::eval(cond, ctx)) | |
1145 { | |
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; | |
1147 default: | |
1148 boost::phoenix::eval( | |
1149 proto::child_c<0>( | |
1150 fusion::deref( | |
1151 fusion::advance_c< | |
1152 18 | |
1153 >(fusion::begin(flat_view)) | |
1154 ) | |
1155 ) | |
1156 , ctx | |
1157 ); | |
1158 } | |
1159 } | |
1160 | |
1161 | |
1162 | |
1163 | |
1164 | |
1165 | |
1166 | |
1167 template <typename Context, typename Cond, typename Cases> | |
1168 result_type | |
1169 evaluate( | |
1170 Context const & ctx | |
1171 , Cond const & cond | |
1172 , Cases const & cases | |
1173 , mpl::int_<20> | |
1174 , mpl::false_ | |
1175 ) const | |
1176 { | |
1177 typedef | |
1178 typename proto::result_of::flatten<Cases const&>::type | |
1179 flat_view_type; | |
1180 typedef | |
1181 typename fusion::result_of::begin<flat_view_type>::type | |
1182 flat_view_begin; | |
1183 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1185 switch(boost::phoenix::eval(cond, ctx)) | |
1186 { | |
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; | |
1188 } | |
1189 } | |
1190 template <typename Context, typename Cond, typename Cases> | |
1191 result_type | |
1192 evaluate( | |
1193 Context const & ctx | |
1194 , Cond const & cond | |
1195 , Cases const & cases | |
1196 , mpl::int_<20> | |
1197 , mpl::true_ | |
1198 ) const | |
1199 { | |
1200 typedef | |
1201 typename proto::result_of::flatten<Cases const&>::type | |
1202 flat_view_type; | |
1203 typedef | |
1204 typename fusion::result_of::begin<flat_view_type>::type | |
1205 flat_view_begin; | |
1206 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1208 switch(boost::phoenix::eval(cond, ctx)) | |
1209 { | |
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; | |
1211 default: | |
1212 boost::phoenix::eval( | |
1213 proto::child_c<0>( | |
1214 fusion::deref( | |
1215 fusion::advance_c< | |
1216 19 | |
1217 >(fusion::begin(flat_view)) | |
1218 ) | |
1219 ) | |
1220 , ctx | |
1221 ); | |
1222 } | |
1223 } | |
1224 | |
1225 | |
1226 | |
1227 | |
1228 | |
1229 | |
1230 | |
1231 template <typename Context, typename Cond, typename Cases> | |
1232 result_type | |
1233 evaluate( | |
1234 Context const & ctx | |
1235 , Cond const & cond | |
1236 , Cases const & cases | |
1237 , mpl::int_<21> | |
1238 , mpl::false_ | |
1239 ) const | |
1240 { | |
1241 typedef | |
1242 typename proto::result_of::flatten<Cases const&>::type | |
1243 flat_view_type; | |
1244 typedef | |
1245 typename fusion::result_of::begin<flat_view_type>::type | |
1246 flat_view_begin; | |
1247 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1249 switch(boost::phoenix::eval(cond, ctx)) | |
1250 { | |
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; | |
1252 } | |
1253 } | |
1254 template <typename Context, typename Cond, typename Cases> | |
1255 result_type | |
1256 evaluate( | |
1257 Context const & ctx | |
1258 , Cond const & cond | |
1259 , Cases const & cases | |
1260 , mpl::int_<21> | |
1261 , mpl::true_ | |
1262 ) const | |
1263 { | |
1264 typedef | |
1265 typename proto::result_of::flatten<Cases const&>::type | |
1266 flat_view_type; | |
1267 typedef | |
1268 typename fusion::result_of::begin<flat_view_type>::type | |
1269 flat_view_begin; | |
1270 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1272 switch(boost::phoenix::eval(cond, ctx)) | |
1273 { | |
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; | |
1275 default: | |
1276 boost::phoenix::eval( | |
1277 proto::child_c<0>( | |
1278 fusion::deref( | |
1279 fusion::advance_c< | |
1280 20 | |
1281 >(fusion::begin(flat_view)) | |
1282 ) | |
1283 ) | |
1284 , ctx | |
1285 ); | |
1286 } | |
1287 } | |
1288 | |
1289 | |
1290 | |
1291 | |
1292 | |
1293 | |
1294 | |
1295 template <typename Context, typename Cond, typename Cases> | |
1296 result_type | |
1297 evaluate( | |
1298 Context const & ctx | |
1299 , Cond const & cond | |
1300 , Cases const & cases | |
1301 , mpl::int_<22> | |
1302 , mpl::false_ | |
1303 ) const | |
1304 { | |
1305 typedef | |
1306 typename proto::result_of::flatten<Cases const&>::type | |
1307 flat_view_type; | |
1308 typedef | |
1309 typename fusion::result_of::begin<flat_view_type>::type | |
1310 flat_view_begin; | |
1311 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1313 switch(boost::phoenix::eval(cond, ctx)) | |
1314 { | |
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; | |
1316 } | |
1317 } | |
1318 template <typename Context, typename Cond, typename Cases> | |
1319 result_type | |
1320 evaluate( | |
1321 Context const & ctx | |
1322 , Cond const & cond | |
1323 , Cases const & cases | |
1324 , mpl::int_<22> | |
1325 , mpl::true_ | |
1326 ) const | |
1327 { | |
1328 typedef | |
1329 typename proto::result_of::flatten<Cases const&>::type | |
1330 flat_view_type; | |
1331 typedef | |
1332 typename fusion::result_of::begin<flat_view_type>::type | |
1333 flat_view_begin; | |
1334 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1336 switch(boost::phoenix::eval(cond, ctx)) | |
1337 { | |
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; | |
1339 default: | |
1340 boost::phoenix::eval( | |
1341 proto::child_c<0>( | |
1342 fusion::deref( | |
1343 fusion::advance_c< | |
1344 21 | |
1345 >(fusion::begin(flat_view)) | |
1346 ) | |
1347 ) | |
1348 , ctx | |
1349 ); | |
1350 } | |
1351 } | |
1352 | |
1353 | |
1354 | |
1355 | |
1356 | |
1357 | |
1358 | |
1359 template <typename Context, typename Cond, typename Cases> | |
1360 result_type | |
1361 evaluate( | |
1362 Context const & ctx | |
1363 , Cond const & cond | |
1364 , Cases const & cases | |
1365 , mpl::int_<23> | |
1366 , mpl::false_ | |
1367 ) const | |
1368 { | |
1369 typedef | |
1370 typename proto::result_of::flatten<Cases const&>::type | |
1371 flat_view_type; | |
1372 typedef | |
1373 typename fusion::result_of::begin<flat_view_type>::type | |
1374 flat_view_begin; | |
1375 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1377 switch(boost::phoenix::eval(cond, ctx)) | |
1378 { | |
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; | |
1380 } | |
1381 } | |
1382 template <typename Context, typename Cond, typename Cases> | |
1383 result_type | |
1384 evaluate( | |
1385 Context const & ctx | |
1386 , Cond const & cond | |
1387 , Cases const & cases | |
1388 , mpl::int_<23> | |
1389 , mpl::true_ | |
1390 ) const | |
1391 { | |
1392 typedef | |
1393 typename proto::result_of::flatten<Cases const&>::type | |
1394 flat_view_type; | |
1395 typedef | |
1396 typename fusion::result_of::begin<flat_view_type>::type | |
1397 flat_view_begin; | |
1398 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1400 switch(boost::phoenix::eval(cond, ctx)) | |
1401 { | |
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; | |
1403 default: | |
1404 boost::phoenix::eval( | |
1405 proto::child_c<0>( | |
1406 fusion::deref( | |
1407 fusion::advance_c< | |
1408 22 | |
1409 >(fusion::begin(flat_view)) | |
1410 ) | |
1411 ) | |
1412 , ctx | |
1413 ); | |
1414 } | |
1415 } | |
1416 | |
1417 | |
1418 | |
1419 | |
1420 | |
1421 | |
1422 | |
1423 template <typename Context, typename Cond, typename Cases> | |
1424 result_type | |
1425 evaluate( | |
1426 Context const & ctx | |
1427 , Cond const & cond | |
1428 , Cases const & cases | |
1429 , mpl::int_<24> | |
1430 , mpl::false_ | |
1431 ) const | |
1432 { | |
1433 typedef | |
1434 typename proto::result_of::flatten<Cases const&>::type | |
1435 flat_view_type; | |
1436 typedef | |
1437 typename fusion::result_of::begin<flat_view_type>::type | |
1438 flat_view_begin; | |
1439 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1441 switch(boost::phoenix::eval(cond, ctx)) | |
1442 { | |
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; | |
1444 } | |
1445 } | |
1446 template <typename Context, typename Cond, typename Cases> | |
1447 result_type | |
1448 evaluate( | |
1449 Context const & ctx | |
1450 , Cond const & cond | |
1451 , Cases const & cases | |
1452 , mpl::int_<24> | |
1453 , mpl::true_ | |
1454 ) const | |
1455 { | |
1456 typedef | |
1457 typename proto::result_of::flatten<Cases const&>::type | |
1458 flat_view_type; | |
1459 typedef | |
1460 typename fusion::result_of::begin<flat_view_type>::type | |
1461 flat_view_begin; | |
1462 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1464 switch(boost::phoenix::eval(cond, ctx)) | |
1465 { | |
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; | |
1467 default: | |
1468 boost::phoenix::eval( | |
1469 proto::child_c<0>( | |
1470 fusion::deref( | |
1471 fusion::advance_c< | |
1472 23 | |
1473 >(fusion::begin(flat_view)) | |
1474 ) | |
1475 ) | |
1476 , ctx | |
1477 ); | |
1478 } | |
1479 } | |
1480 | |
1481 | |
1482 | |
1483 | |
1484 | |
1485 | |
1486 | |
1487 template <typename Context, typename Cond, typename Cases> | |
1488 result_type | |
1489 evaluate( | |
1490 Context const & ctx | |
1491 , Cond const & cond | |
1492 , Cases const & cases | |
1493 , mpl::int_<25> | |
1494 , mpl::false_ | |
1495 ) const | |
1496 { | |
1497 typedef | |
1498 typename proto::result_of::flatten<Cases const&>::type | |
1499 flat_view_type; | |
1500 typedef | |
1501 typename fusion::result_of::begin<flat_view_type>::type | |
1502 flat_view_begin; | |
1503 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1505 switch(boost::phoenix::eval(cond, ctx)) | |
1506 { | |
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; | |
1508 } | |
1509 } | |
1510 template <typename Context, typename Cond, typename Cases> | |
1511 result_type | |
1512 evaluate( | |
1513 Context const & ctx | |
1514 , Cond const & cond | |
1515 , Cases const & cases | |
1516 , mpl::int_<25> | |
1517 , mpl::true_ | |
1518 ) const | |
1519 { | |
1520 typedef | |
1521 typename proto::result_of::flatten<Cases const&>::type | |
1522 flat_view_type; | |
1523 typedef | |
1524 typename fusion::result_of::begin<flat_view_type>::type | |
1525 flat_view_begin; | |
1526 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1528 switch(boost::phoenix::eval(cond, ctx)) | |
1529 { | |
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; | |
1531 default: | |
1532 boost::phoenix::eval( | |
1533 proto::child_c<0>( | |
1534 fusion::deref( | |
1535 fusion::advance_c< | |
1536 24 | |
1537 >(fusion::begin(flat_view)) | |
1538 ) | |
1539 ) | |
1540 , ctx | |
1541 ); | |
1542 } | |
1543 } | |
1544 | |
1545 | |
1546 | |
1547 | |
1548 | |
1549 | |
1550 | |
1551 template <typename Context, typename Cond, typename Cases> | |
1552 result_type | |
1553 evaluate( | |
1554 Context const & ctx | |
1555 , Cond const & cond | |
1556 , Cases const & cases | |
1557 , mpl::int_<26> | |
1558 , mpl::false_ | |
1559 ) const | |
1560 { | |
1561 typedef | |
1562 typename proto::result_of::flatten<Cases const&>::type | |
1563 flat_view_type; | |
1564 typedef | |
1565 typename fusion::result_of::begin<flat_view_type>::type | |
1566 flat_view_begin; | |
1567 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1569 switch(boost::phoenix::eval(cond, ctx)) | |
1570 { | |
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; | |
1572 } | |
1573 } | |
1574 template <typename Context, typename Cond, typename Cases> | |
1575 result_type | |
1576 evaluate( | |
1577 Context const & ctx | |
1578 , Cond const & cond | |
1579 , Cases const & cases | |
1580 , mpl::int_<26> | |
1581 , mpl::true_ | |
1582 ) const | |
1583 { | |
1584 typedef | |
1585 typename proto::result_of::flatten<Cases const&>::type | |
1586 flat_view_type; | |
1587 typedef | |
1588 typename fusion::result_of::begin<flat_view_type>::type | |
1589 flat_view_begin; | |
1590 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1592 switch(boost::phoenix::eval(cond, ctx)) | |
1593 { | |
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; | |
1595 default: | |
1596 boost::phoenix::eval( | |
1597 proto::child_c<0>( | |
1598 fusion::deref( | |
1599 fusion::advance_c< | |
1600 25 | |
1601 >(fusion::begin(flat_view)) | |
1602 ) | |
1603 ) | |
1604 , ctx | |
1605 ); | |
1606 } | |
1607 } | |
1608 | |
1609 | |
1610 | |
1611 | |
1612 | |
1613 | |
1614 | |
1615 template <typename Context, typename Cond, typename Cases> | |
1616 result_type | |
1617 evaluate( | |
1618 Context const & ctx | |
1619 , Cond const & cond | |
1620 , Cases const & cases | |
1621 , mpl::int_<27> | |
1622 , mpl::false_ | |
1623 ) const | |
1624 { | |
1625 typedef | |
1626 typename proto::result_of::flatten<Cases const&>::type | |
1627 flat_view_type; | |
1628 typedef | |
1629 typename fusion::result_of::begin<flat_view_type>::type | |
1630 flat_view_begin; | |
1631 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1633 switch(boost::phoenix::eval(cond, ctx)) | |
1634 { | |
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; | |
1636 } | |
1637 } | |
1638 template <typename Context, typename Cond, typename Cases> | |
1639 result_type | |
1640 evaluate( | |
1641 Context const & ctx | |
1642 , Cond const & cond | |
1643 , Cases const & cases | |
1644 , mpl::int_<27> | |
1645 , mpl::true_ | |
1646 ) const | |
1647 { | |
1648 typedef | |
1649 typename proto::result_of::flatten<Cases const&>::type | |
1650 flat_view_type; | |
1651 typedef | |
1652 typename fusion::result_of::begin<flat_view_type>::type | |
1653 flat_view_begin; | |
1654 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1656 switch(boost::phoenix::eval(cond, ctx)) | |
1657 { | |
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; | |
1659 default: | |
1660 boost::phoenix::eval( | |
1661 proto::child_c<0>( | |
1662 fusion::deref( | |
1663 fusion::advance_c< | |
1664 26 | |
1665 >(fusion::begin(flat_view)) | |
1666 ) | |
1667 ) | |
1668 , ctx | |
1669 ); | |
1670 } | |
1671 } | |
1672 | |
1673 | |
1674 | |
1675 | |
1676 | |
1677 | |
1678 | |
1679 template <typename Context, typename Cond, typename Cases> | |
1680 result_type | |
1681 evaluate( | |
1682 Context const & ctx | |
1683 , Cond const & cond | |
1684 , Cases const & cases | |
1685 , mpl::int_<28> | |
1686 , mpl::false_ | |
1687 ) const | |
1688 { | |
1689 typedef | |
1690 typename proto::result_of::flatten<Cases const&>::type | |
1691 flat_view_type; | |
1692 typedef | |
1693 typename fusion::result_of::begin<flat_view_type>::type | |
1694 flat_view_begin; | |
1695 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1697 switch(boost::phoenix::eval(cond, ctx)) | |
1698 { | |
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; | |
1700 } | |
1701 } | |
1702 template <typename Context, typename Cond, typename Cases> | |
1703 result_type | |
1704 evaluate( | |
1705 Context const & ctx | |
1706 , Cond const & cond | |
1707 , Cases const & cases | |
1708 , mpl::int_<28> | |
1709 , mpl::true_ | |
1710 ) const | |
1711 { | |
1712 typedef | |
1713 typename proto::result_of::flatten<Cases const&>::type | |
1714 flat_view_type; | |
1715 typedef | |
1716 typename fusion::result_of::begin<flat_view_type>::type | |
1717 flat_view_begin; | |
1718 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1720 switch(boost::phoenix::eval(cond, ctx)) | |
1721 { | |
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; | |
1723 default: | |
1724 boost::phoenix::eval( | |
1725 proto::child_c<0>( | |
1726 fusion::deref( | |
1727 fusion::advance_c< | |
1728 27 | |
1729 >(fusion::begin(flat_view)) | |
1730 ) | |
1731 ) | |
1732 , ctx | |
1733 ); | |
1734 } | |
1735 } | |
1736 | |
1737 | |
1738 | |
1739 | |
1740 | |
1741 | |
1742 | |
1743 template <typename Context, typename Cond, typename Cases> | |
1744 result_type | |
1745 evaluate( | |
1746 Context const & ctx | |
1747 , Cond const & cond | |
1748 , Cases const & cases | |
1749 , mpl::int_<29> | |
1750 , mpl::false_ | |
1751 ) const | |
1752 { | |
1753 typedef | |
1754 typename proto::result_of::flatten<Cases const&>::type | |
1755 flat_view_type; | |
1756 typedef | |
1757 typename fusion::result_of::begin<flat_view_type>::type | |
1758 flat_view_begin; | |
1759 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1761 switch(boost::phoenix::eval(cond, ctx)) | |
1762 { | |
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; | |
1764 } | |
1765 } | |
1766 template <typename Context, typename Cond, typename Cases> | |
1767 result_type | |
1768 evaluate( | |
1769 Context const & ctx | |
1770 , Cond const & cond | |
1771 , Cases const & cases | |
1772 , mpl::int_<29> | |
1773 , mpl::true_ | |
1774 ) const | |
1775 { | |
1776 typedef | |
1777 typename proto::result_of::flatten<Cases const&>::type | |
1778 flat_view_type; | |
1779 typedef | |
1780 typename fusion::result_of::begin<flat_view_type>::type | |
1781 flat_view_begin; | |
1782 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1784 switch(boost::phoenix::eval(cond, ctx)) | |
1785 { | |
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; | |
1787 default: | |
1788 boost::phoenix::eval( | |
1789 proto::child_c<0>( | |
1790 fusion::deref( | |
1791 fusion::advance_c< | |
1792 28 | |
1793 >(fusion::begin(flat_view)) | |
1794 ) | |
1795 ) | |
1796 , ctx | |
1797 ); | |
1798 } | |
1799 } | |
1800 | |
1801 | |
1802 | |
1803 | |
1804 | |
1805 | |
1806 | |
1807 template <typename Context, typename Cond, typename Cases> | |
1808 result_type | |
1809 evaluate( | |
1810 Context const & ctx | |
1811 , Cond const & cond | |
1812 , Cases const & cases | |
1813 , mpl::int_<30> | |
1814 , mpl::false_ | |
1815 ) const | |
1816 { | |
1817 typedef | |
1818 typename proto::result_of::flatten<Cases const&>::type | |
1819 flat_view_type; | |
1820 typedef | |
1821 typename fusion::result_of::begin<flat_view_type>::type | |
1822 flat_view_begin; | |
1823 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1825 switch(boost::phoenix::eval(cond, ctx)) | |
1826 { | |
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; | |
1828 } | |
1829 } | |
1830 template <typename Context, typename Cond, typename Cases> | |
1831 result_type | |
1832 evaluate( | |
1833 Context const & ctx | |
1834 , Cond const & cond | |
1835 , Cases const & cases | |
1836 , mpl::int_<30> | |
1837 , mpl::true_ | |
1838 ) const | |
1839 { | |
1840 typedef | |
1841 typename proto::result_of::flatten<Cases const&>::type | |
1842 flat_view_type; | |
1843 typedef | |
1844 typename fusion::result_of::begin<flat_view_type>::type | |
1845 flat_view_begin; | |
1846 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1848 switch(boost::phoenix::eval(cond, ctx)) | |
1849 { | |
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; | |
1851 default: | |
1852 boost::phoenix::eval( | |
1853 proto::child_c<0>( | |
1854 fusion::deref( | |
1855 fusion::advance_c< | |
1856 29 | |
1857 >(fusion::begin(flat_view)) | |
1858 ) | |
1859 ) | |
1860 , ctx | |
1861 ); | |
1862 } | |
1863 } | |
1864 | |
1865 | |
1866 | |
1867 | |
1868 | |
1869 | |
1870 | |
1871 template <typename Context, typename Cond, typename Cases> | |
1872 result_type | |
1873 evaluate( | |
1874 Context const & ctx | |
1875 , Cond const & cond | |
1876 , Cases const & cases | |
1877 , mpl::int_<31> | |
1878 , mpl::false_ | |
1879 ) const | |
1880 { | |
1881 typedef | |
1882 typename proto::result_of::flatten<Cases const&>::type | |
1883 flat_view_type; | |
1884 typedef | |
1885 typename fusion::result_of::begin<flat_view_type>::type | |
1886 flat_view_begin; | |
1887 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1889 switch(boost::phoenix::eval(cond, ctx)) | |
1890 { | |
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; | |
1892 } | |
1893 } | |
1894 template <typename Context, typename Cond, typename Cases> | |
1895 result_type | |
1896 evaluate( | |
1897 Context const & ctx | |
1898 , Cond const & cond | |
1899 , Cases const & cases | |
1900 , mpl::int_<31> | |
1901 , mpl::true_ | |
1902 ) const | |
1903 { | |
1904 typedef | |
1905 typename proto::result_of::flatten<Cases const&>::type | |
1906 flat_view_type; | |
1907 typedef | |
1908 typename fusion::result_of::begin<flat_view_type>::type | |
1909 flat_view_begin; | |
1910 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1912 switch(boost::phoenix::eval(cond, ctx)) | |
1913 { | |
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; | |
1915 default: | |
1916 boost::phoenix::eval( | |
1917 proto::child_c<0>( | |
1918 fusion::deref( | |
1919 fusion::advance_c< | |
1920 30 | |
1921 >(fusion::begin(flat_view)) | |
1922 ) | |
1923 ) | |
1924 , ctx | |
1925 ); | |
1926 } | |
1927 } | |
1928 | |
1929 | |
1930 | |
1931 | |
1932 | |
1933 | |
1934 | |
1935 template <typename Context, typename Cond, typename Cases> | |
1936 result_type | |
1937 evaluate( | |
1938 Context const & ctx | |
1939 , Cond const & cond | |
1940 , Cases const & cases | |
1941 , mpl::int_<32> | |
1942 , mpl::false_ | |
1943 ) const | |
1944 { | |
1945 typedef | |
1946 typename proto::result_of::flatten<Cases const&>::type | |
1947 flat_view_type; | |
1948 typedef | |
1949 typename fusion::result_of::begin<flat_view_type>::type | |
1950 flat_view_begin; | |
1951 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1953 switch(boost::phoenix::eval(cond, ctx)) | |
1954 { | |
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; | |
1956 } | |
1957 } | |
1958 template <typename Context, typename Cond, typename Cases> | |
1959 result_type | |
1960 evaluate( | |
1961 Context const & ctx | |
1962 , Cond const & cond | |
1963 , Cases const & cases | |
1964 , mpl::int_<32> | |
1965 , mpl::true_ | |
1966 ) const | |
1967 { | |
1968 typedef | |
1969 typename proto::result_of::flatten<Cases const&>::type | |
1970 flat_view_type; | |
1971 typedef | |
1972 typename fusion::result_of::begin<flat_view_type>::type | |
1973 flat_view_begin; | |
1974 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
1976 switch(boost::phoenix::eval(cond, ctx)) | |
1977 { | |
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; | |
1979 default: | |
1980 boost::phoenix::eval( | |
1981 proto::child_c<0>( | |
1982 fusion::deref( | |
1983 fusion::advance_c< | |
1984 31 | |
1985 >(fusion::begin(flat_view)) | |
1986 ) | |
1987 ) | |
1988 , ctx | |
1989 ); | |
1990 } | |
1991 } | |
1992 | |
1993 | |
1994 | |
1995 | |
1996 | |
1997 | |
1998 | |
1999 template <typename Context, typename Cond, typename Cases> | |
2000 result_type | |
2001 evaluate( | |
2002 Context const & ctx | |
2003 , Cond const & cond | |
2004 , Cases const & cases | |
2005 , mpl::int_<33> | |
2006 , mpl::false_ | |
2007 ) const | |
2008 { | |
2009 typedef | |
2010 typename proto::result_of::flatten<Cases const&>::type | |
2011 flat_view_type; | |
2012 typedef | |
2013 typename fusion::result_of::begin<flat_view_type>::type | |
2014 flat_view_begin; | |
2015 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2017 switch(boost::phoenix::eval(cond, ctx)) | |
2018 { | |
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; | |
2020 } | |
2021 } | |
2022 template <typename Context, typename Cond, typename Cases> | |
2023 result_type | |
2024 evaluate( | |
2025 Context const & ctx | |
2026 , Cond const & cond | |
2027 , Cases const & cases | |
2028 , mpl::int_<33> | |
2029 , mpl::true_ | |
2030 ) const | |
2031 { | |
2032 typedef | |
2033 typename proto::result_of::flatten<Cases const&>::type | |
2034 flat_view_type; | |
2035 typedef | |
2036 typename fusion::result_of::begin<flat_view_type>::type | |
2037 flat_view_begin; | |
2038 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2040 switch(boost::phoenix::eval(cond, ctx)) | |
2041 { | |
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; | |
2043 default: | |
2044 boost::phoenix::eval( | |
2045 proto::child_c<0>( | |
2046 fusion::deref( | |
2047 fusion::advance_c< | |
2048 32 | |
2049 >(fusion::begin(flat_view)) | |
2050 ) | |
2051 ) | |
2052 , ctx | |
2053 ); | |
2054 } | |
2055 } | |
2056 | |
2057 | |
2058 | |
2059 | |
2060 | |
2061 | |
2062 | |
2063 template <typename Context, typename Cond, typename Cases> | |
2064 result_type | |
2065 evaluate( | |
2066 Context const & ctx | |
2067 , Cond const & cond | |
2068 , Cases const & cases | |
2069 , mpl::int_<34> | |
2070 , mpl::false_ | |
2071 ) const | |
2072 { | |
2073 typedef | |
2074 typename proto::result_of::flatten<Cases const&>::type | |
2075 flat_view_type; | |
2076 typedef | |
2077 typename fusion::result_of::begin<flat_view_type>::type | |
2078 flat_view_begin; | |
2079 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2081 switch(boost::phoenix::eval(cond, ctx)) | |
2082 { | |
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; | |
2084 } | |
2085 } | |
2086 template <typename Context, typename Cond, typename Cases> | |
2087 result_type | |
2088 evaluate( | |
2089 Context const & ctx | |
2090 , Cond const & cond | |
2091 , Cases const & cases | |
2092 , mpl::int_<34> | |
2093 , mpl::true_ | |
2094 ) const | |
2095 { | |
2096 typedef | |
2097 typename proto::result_of::flatten<Cases const&>::type | |
2098 flat_view_type; | |
2099 typedef | |
2100 typename fusion::result_of::begin<flat_view_type>::type | |
2101 flat_view_begin; | |
2102 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2104 switch(boost::phoenix::eval(cond, ctx)) | |
2105 { | |
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; | |
2107 default: | |
2108 boost::phoenix::eval( | |
2109 proto::child_c<0>( | |
2110 fusion::deref( | |
2111 fusion::advance_c< | |
2112 33 | |
2113 >(fusion::begin(flat_view)) | |
2114 ) | |
2115 ) | |
2116 , ctx | |
2117 ); | |
2118 } | |
2119 } | |
2120 | |
2121 | |
2122 | |
2123 | |
2124 | |
2125 | |
2126 | |
2127 template <typename Context, typename Cond, typename Cases> | |
2128 result_type | |
2129 evaluate( | |
2130 Context const & ctx | |
2131 , Cond const & cond | |
2132 , Cases const & cases | |
2133 , mpl::int_<35> | |
2134 , mpl::false_ | |
2135 ) const | |
2136 { | |
2137 typedef | |
2138 typename proto::result_of::flatten<Cases const&>::type | |
2139 flat_view_type; | |
2140 typedef | |
2141 typename fusion::result_of::begin<flat_view_type>::type | |
2142 flat_view_begin; | |
2143 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2145 switch(boost::phoenix::eval(cond, ctx)) | |
2146 { | |
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; | |
2148 } | |
2149 } | |
2150 template <typename Context, typename Cond, typename Cases> | |
2151 result_type | |
2152 evaluate( | |
2153 Context const & ctx | |
2154 , Cond const & cond | |
2155 , Cases const & cases | |
2156 , mpl::int_<35> | |
2157 , mpl::true_ | |
2158 ) const | |
2159 { | |
2160 typedef | |
2161 typename proto::result_of::flatten<Cases const&>::type | |
2162 flat_view_type; | |
2163 typedef | |
2164 typename fusion::result_of::begin<flat_view_type>::type | |
2165 flat_view_begin; | |
2166 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2168 switch(boost::phoenix::eval(cond, ctx)) | |
2169 { | |
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; | |
2171 default: | |
2172 boost::phoenix::eval( | |
2173 proto::child_c<0>( | |
2174 fusion::deref( | |
2175 fusion::advance_c< | |
2176 34 | |
2177 >(fusion::begin(flat_view)) | |
2178 ) | |
2179 ) | |
2180 , ctx | |
2181 ); | |
2182 } | |
2183 } | |
2184 | |
2185 | |
2186 | |
2187 | |
2188 | |
2189 | |
2190 | |
2191 template <typename Context, typename Cond, typename Cases> | |
2192 result_type | |
2193 evaluate( | |
2194 Context const & ctx | |
2195 , Cond const & cond | |
2196 , Cases const & cases | |
2197 , mpl::int_<36> | |
2198 , mpl::false_ | |
2199 ) const | |
2200 { | |
2201 typedef | |
2202 typename proto::result_of::flatten<Cases const&>::type | |
2203 flat_view_type; | |
2204 typedef | |
2205 typename fusion::result_of::begin<flat_view_type>::type | |
2206 flat_view_begin; | |
2207 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2209 switch(boost::phoenix::eval(cond, ctx)) | |
2210 { | |
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; | |
2212 } | |
2213 } | |
2214 template <typename Context, typename Cond, typename Cases> | |
2215 result_type | |
2216 evaluate( | |
2217 Context const & ctx | |
2218 , Cond const & cond | |
2219 , Cases const & cases | |
2220 , mpl::int_<36> | |
2221 , mpl::true_ | |
2222 ) const | |
2223 { | |
2224 typedef | |
2225 typename proto::result_of::flatten<Cases const&>::type | |
2226 flat_view_type; | |
2227 typedef | |
2228 typename fusion::result_of::begin<flat_view_type>::type | |
2229 flat_view_begin; | |
2230 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2232 switch(boost::phoenix::eval(cond, ctx)) | |
2233 { | |
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; | |
2235 default: | |
2236 boost::phoenix::eval( | |
2237 proto::child_c<0>( | |
2238 fusion::deref( | |
2239 fusion::advance_c< | |
2240 35 | |
2241 >(fusion::begin(flat_view)) | |
2242 ) | |
2243 ) | |
2244 , ctx | |
2245 ); | |
2246 } | |
2247 } | |
2248 | |
2249 | |
2250 | |
2251 | |
2252 | |
2253 | |
2254 | |
2255 template <typename Context, typename Cond, typename Cases> | |
2256 result_type | |
2257 evaluate( | |
2258 Context const & ctx | |
2259 , Cond const & cond | |
2260 , Cases const & cases | |
2261 , mpl::int_<37> | |
2262 , mpl::false_ | |
2263 ) const | |
2264 { | |
2265 typedef | |
2266 typename proto::result_of::flatten<Cases const&>::type | |
2267 flat_view_type; | |
2268 typedef | |
2269 typename fusion::result_of::begin<flat_view_type>::type | |
2270 flat_view_begin; | |
2271 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2273 switch(boost::phoenix::eval(cond, ctx)) | |
2274 { | |
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; | |
2276 } | |
2277 } | |
2278 template <typename Context, typename Cond, typename Cases> | |
2279 result_type | |
2280 evaluate( | |
2281 Context const & ctx | |
2282 , Cond const & cond | |
2283 , Cases const & cases | |
2284 , mpl::int_<37> | |
2285 , mpl::true_ | |
2286 ) const | |
2287 { | |
2288 typedef | |
2289 typename proto::result_of::flatten<Cases const&>::type | |
2290 flat_view_type; | |
2291 typedef | |
2292 typename fusion::result_of::begin<flat_view_type>::type | |
2293 flat_view_begin; | |
2294 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2296 switch(boost::phoenix::eval(cond, ctx)) | |
2297 { | |
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; | |
2299 default: | |
2300 boost::phoenix::eval( | |
2301 proto::child_c<0>( | |
2302 fusion::deref( | |
2303 fusion::advance_c< | |
2304 36 | |
2305 >(fusion::begin(flat_view)) | |
2306 ) | |
2307 ) | |
2308 , ctx | |
2309 ); | |
2310 } | |
2311 } | |
2312 | |
2313 | |
2314 | |
2315 | |
2316 | |
2317 | |
2318 | |
2319 template <typename Context, typename Cond, typename Cases> | |
2320 result_type | |
2321 evaluate( | |
2322 Context const & ctx | |
2323 , Cond const & cond | |
2324 , Cases const & cases | |
2325 , mpl::int_<38> | |
2326 , mpl::false_ | |
2327 ) const | |
2328 { | |
2329 typedef | |
2330 typename proto::result_of::flatten<Cases const&>::type | |
2331 flat_view_type; | |
2332 typedef | |
2333 typename fusion::result_of::begin<flat_view_type>::type | |
2334 flat_view_begin; | |
2335 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2337 switch(boost::phoenix::eval(cond, ctx)) | |
2338 { | |
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; | |
2340 } | |
2341 } | |
2342 template <typename Context, typename Cond, typename Cases> | |
2343 result_type | |
2344 evaluate( | |
2345 Context const & ctx | |
2346 , Cond const & cond | |
2347 , Cases const & cases | |
2348 , mpl::int_<38> | |
2349 , mpl::true_ | |
2350 ) const | |
2351 { | |
2352 typedef | |
2353 typename proto::result_of::flatten<Cases const&>::type | |
2354 flat_view_type; | |
2355 typedef | |
2356 typename fusion::result_of::begin<flat_view_type>::type | |
2357 flat_view_begin; | |
2358 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2360 switch(boost::phoenix::eval(cond, ctx)) | |
2361 { | |
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; | |
2363 default: | |
2364 boost::phoenix::eval( | |
2365 proto::child_c<0>( | |
2366 fusion::deref( | |
2367 fusion::advance_c< | |
2368 37 | |
2369 >(fusion::begin(flat_view)) | |
2370 ) | |
2371 ) | |
2372 , ctx | |
2373 ); | |
2374 } | |
2375 } | |
2376 | |
2377 | |
2378 | |
2379 | |
2380 | |
2381 | |
2382 | |
2383 template <typename Context, typename Cond, typename Cases> | |
2384 result_type | |
2385 evaluate( | |
2386 Context const & ctx | |
2387 , Cond const & cond | |
2388 , Cases const & cases | |
2389 , mpl::int_<39> | |
2390 , mpl::false_ | |
2391 ) const | |
2392 { | |
2393 typedef | |
2394 typename proto::result_of::flatten<Cases const&>::type | |
2395 flat_view_type; | |
2396 typedef | |
2397 typename fusion::result_of::begin<flat_view_type>::type | |
2398 flat_view_begin; | |
2399 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2401 switch(boost::phoenix::eval(cond, ctx)) | |
2402 { | |
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; | |
2404 } | |
2405 } | |
2406 template <typename Context, typename Cond, typename Cases> | |
2407 result_type | |
2408 evaluate( | |
2409 Context const & ctx | |
2410 , Cond const & cond | |
2411 , Cases const & cases | |
2412 , mpl::int_<39> | |
2413 , mpl::true_ | |
2414 ) const | |
2415 { | |
2416 typedef | |
2417 typename proto::result_of::flatten<Cases const&>::type | |
2418 flat_view_type; | |
2419 typedef | |
2420 typename fusion::result_of::begin<flat_view_type>::type | |
2421 flat_view_begin; | |
2422 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2424 switch(boost::phoenix::eval(cond, ctx)) | |
2425 { | |
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; | |
2427 default: | |
2428 boost::phoenix::eval( | |
2429 proto::child_c<0>( | |
2430 fusion::deref( | |
2431 fusion::advance_c< | |
2432 38 | |
2433 >(fusion::begin(flat_view)) | |
2434 ) | |
2435 ) | |
2436 , ctx | |
2437 ); | |
2438 } | |
2439 } | |
2440 | |
2441 | |
2442 | |
2443 | |
2444 | |
2445 | |
2446 | |
2447 template <typename Context, typename Cond, typename Cases> | |
2448 result_type | |
2449 evaluate( | |
2450 Context const & ctx | |
2451 , Cond const & cond | |
2452 , Cases const & cases | |
2453 , mpl::int_<40> | |
2454 , mpl::false_ | |
2455 ) const | |
2456 { | |
2457 typedef | |
2458 typename proto::result_of::flatten<Cases const&>::type | |
2459 flat_view_type; | |
2460 typedef | |
2461 typename fusion::result_of::begin<flat_view_type>::type | |
2462 flat_view_begin; | |
2463 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2465 switch(boost::phoenix::eval(cond, ctx)) | |
2466 { | |
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; | |
2468 } | |
2469 } | |
2470 template <typename Context, typename Cond, typename Cases> | |
2471 result_type | |
2472 evaluate( | |
2473 Context const & ctx | |
2474 , Cond const & cond | |
2475 , Cases const & cases | |
2476 , mpl::int_<40> | |
2477 , mpl::true_ | |
2478 ) const | |
2479 { | |
2480 typedef | |
2481 typename proto::result_of::flatten<Cases const&>::type | |
2482 flat_view_type; | |
2483 typedef | |
2484 typename fusion::result_of::begin<flat_view_type>::type | |
2485 flat_view_begin; | |
2486 flat_view_type flat_view(proto::flatten(cases)); | |
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; | |
2488 switch(boost::phoenix::eval(cond, ctx)) | |
2489 { | |
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; | |
2491 default: | |
2492 boost::phoenix::eval( | |
2493 proto::child_c<0>( | |
2494 fusion::deref( | |
2495 fusion::advance_c< | |
2496 39 | |
2497 >(fusion::begin(flat_view)) | |
2498 ) | |
2499 ) | |
2500 , ctx | |
2501 ); | |
2502 } | |
2503 } |