| /*============================================================================== |
| Copyright (c) 2016 Kohei Takahashi |
| |
| Distributed under the Boost Software License, Version 1.0. (See accompanying |
| file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| ==============================================================================*/ |
| |
| template <typename... A> |
| BOOST_PHOENIX_SCOPE_ACTOR_GEN_NAME< |
| typename vector_chooser<sizeof...(A)>::template apply< |
| typename proto::detail::uncvref< |
| typename proto::result_of::child_c<A, 1>::type |
| >::type... |
| >::type |
| , detail::map_local_index_to_tuple< |
| typename proto::detail::uncvref< |
| typename proto::result_of::value< |
| typename proto::result_of::child_c<A, 0>::type |
| >::type |
| >::type... |
| > |
| > |
| BOOST_PHOENIX_SCOPE_ACTOR_GEN_FUNCTION(A const&... a) BOOST_PHOENIX_SCOPE_ACTOR_GEN_CONST |
| { |
| typedef |
| typename vector_chooser<sizeof...(A)>::template apply< |
| typename proto::detail::uncvref< |
| typename proto::result_of::child_c<A, 1>::type |
| >::type... |
| >::type |
| locals_type; |
| |
| locals_type locals = {proto::child_c<1>(a)...}; |
| |
| return |
| BOOST_PHOENIX_SCOPE_ACTOR_GEN_NAME< |
| locals_type |
| , detail::map_local_index_to_tuple< |
| typename proto::detail::uncvref< |
| typename proto::result_of::value< |
| typename proto::result_of::child_c<A, 0>::type |
| >::type |
| >::type... |
| > |
| >(locals); |
| } |
| |