#if !BOOST_PHOENIX_IS_ITERATING #if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES) #include #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, \ )) #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 struct mem_fun_ptr_eval { 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