comparison DEPENDENCIES/generic/include/boost/spirit/home/support/make_component.hpp @ 101:c530137014c0

Update Boost headers (1.58.0)
author Chris Cannam
date Mon, 07 Sep 2015 11:12:49 +0100
parents 2665513ce2d3
children
comparison
equal deleted inserted replaced
100:793467b5e61c 101:c530137014c0
256 struct impl : proto::transform_impl<Expr, State, Data> 256 struct impl : proto::transform_impl<Expr, State, Data>
257 { 257 {
258 typedef typename 258 typedef typename
259 proto::reverse_fold_tree< 259 proto::reverse_fold_tree<
260 proto::_ 260 proto::_
261 , proto::make<fusion::nil> 261 , proto::make<fusion::nil_>
262 , make_binary_helper<Grammar> 262 , make_binary_helper<Grammar>
263 >::template impl<Expr, State, Data> 263 >::template impl<Expr, State, Data>
264 reverse_fold_tree; 264 reverse_fold_tree;
265 265
266 typedef typename reverse_fold_tree::result_type elements; 266 typedef typename reverse_fold_tree::result_type elements;
360 , State 360 , State
361 , Data 361 , Data
362 )>::type 362 )>::type
363 lhs_component; 363 lhs_component;
364 364
365 #ifndef BOOST_SPIRIT_USE_PHOENIX_V3
366 typedef typename
367 proto::result_of::value<
368 typename proto::result_of::child_c<Expr, 1>::type
369 >::type
370 rhs_component;
371 #else
372 typedef 365 typedef
373 typename mpl::eval_if_c< 366 typename mpl::eval_if_c<
374 phoenix::is_actor< 367 phoenix::is_actor<
375 typename proto::result_of::child_c<Expr, 1>::type 368 typename proto::result_of::child_c<Expr, 1>::type
376 >::type::value 369 >::type::value
378 , proto::result_of::value< 371 , proto::result_of::value<
379 typename proto::result_of::child_c<Expr, 1>::type 372 typename proto::result_of::child_c<Expr, 1>::type
380 > 373 >
381 >::type 374 >::type
382 rhs_component; 375 rhs_component;
383 #endif
384 376
385 typedef typename 377 typedef typename
386 result_of::make_cons< 378 result_of::make_cons<
387 lhs_component 379 lhs_component
388 , typename result_of::make_cons<rhs_component>::type 380 , typename result_of::make_cons<rhs_component>::type
394 typedef typename 386 typedef typename
395 make_component_::template 387 make_component_::template
396 result<make_component_(elements_type, Data)>::type 388 result<make_component_(elements_type, Data)>::type
397 result_type; 389 result_type;
398 390
399 #ifndef BOOST_SPIRIT_USE_PHOENIX_V3
400 result_type operator()(
401 typename impl::expr_param expr
402 , typename impl::state_param state
403 , typename impl::data_param data
404 ) const
405 {
406 elements_type elements =
407 detail::make_cons(
408 Grammar()(
409 proto::child_c<0>(expr), state, data) // LHS
410 , detail::make_cons(
411 proto::value(proto::child_c<1>(expr))) // RHS
412 );
413
414 return make_component_()(elements, data);
415 }
416 #else
417 result_type operator()( 391 result_type operator()(
418 typename impl::expr_param expr 392 typename impl::expr_param expr
419 , typename impl::state_param state 393 , typename impl::state_param state
420 , typename impl::data_param data 394 , typename impl::data_param data
421 ) const 395 ) const
464 proto::child_c<1>(expr)) // RHS 438 proto::child_c<1>(expr)) // RHS
465 ); 439 );
466 440
467 return make_component_()(elements, data); 441 return make_component_()(elements, data);
468 } 442 }
443 };
444 };
445 }}}
446
469 #endif 447 #endif
470 };
471 };
472 }}}
473
474 #endif