1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #if !BOOST_PHOENIX_IS_ITERATING
- #if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
- #include <boost/phoenix/operator/detail/cpp03/preprocessed/mem_fun_ptr_eval_result_of.hpp>
- #else
- #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 2, line: 0, output: "preprocessed/mem_fun_ptr_eval_result_of_" BOOST_PHOENIX_LIMIT_STR ".hpp")
- #endif
- /*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
- Copyright (c) 2018 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)
- ==============================================================================*/
- #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 1)
- #endif
- #define BOOST_PHOENIX_MEM_FUN_PTR_EVAL_RESULT_OF_CHILD(Z, N, D) \
- typedef \
- typename \
- evaluator::impl< \
- BOOST_PP_CAT(A, N) \
- , Context \
- , proto::empty_env \
- >::result_type \
- BOOST_PP_CAT(child, N); \
- /**/
- #define BOOST_PHOENIX_ITERATION_PARAMS \
- (3, (2, BOOST_PHOENIX_LIMIT, \
- <boost/phoenix/operator/detail/cpp03/mem_fun_ptr_eval_result_of.hpp>))
- #include BOOST_PHOENIX_ITERATE()
- #undef BOOST_PHOENIX_MEM_FUN_PTR_EVAL_RESULT_OF_CHILD
- #if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
- #pragma wave option(output: null)
- #endif
- #endif
- #else // BOOST_PHOENIX_ITERATE
- template <typename Context, BOOST_PHOENIX_typename_A>
- struct mem_fun_ptr_eval<Context, BOOST_PHOENIX_A>
- {
- BOOST_PP_REPEAT(
- BOOST_PHOENIX_ITERATION
- , BOOST_PHOENIX_MEM_FUN_PTR_EVAL_RESULT_OF_CHILD
- , _
- )
- typedef
- typename boost::result_of<
- child1(
- BOOST_PP_ENUM_SHIFTED_PARAMS(
- BOOST_PHOENIX_ITERATION
- , child
- )
- )
- >::type
- type;
- };
- #endif
|