Initial Commit
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
/*==============================================================================
|
||||
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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user