57 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								/*==============================================================================
							 | 
						||
| 
								 | 
							
								    Copyright (c) 2005-2010 Joel de Guzman
							 | 
						||
| 
								 | 
							
								    Copyright (c) 2010 Thomas Heller
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    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 !BOOST_PHOENIX_IS_ITERATING
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef BOOST_PHOENIX_OPERATOR_DETAIL_MEM_FUN_PTR_EVAL_RESULT_OF_HPP
							 | 
						||
| 
								 | 
							
								#define BOOST_PHOENIX_OPERATOR_DETAIL_MEM_FUN_PTR_EVAL_RESULT_OF_HPP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#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
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        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
							 |