47 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/*==============================================================================
 | 
						|
    Copyright (c) 2001-2010 Joel de Guzman
 | 
						|
    Copyright (c) 2010 Eric Niebler
 | 
						|
    Copyright (c) 2010-2011 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)
 | 
						|
==============================================================================*/
 | 
						|
 | 
						|
    #define BOOST_PHOENIX_ARGUMENT_N_TYPE(_, N, name)                           \
 | 
						|
    typedef                                                                     \
 | 
						|
        expression::argument<BOOST_PP_INC(N)>::type                             \
 | 
						|
        BOOST_PP_CAT(BOOST_PP_CAT(name, BOOST_PP_INC(N)), _type)                \
 | 
						|
        BOOST_ATTRIBUTE_UNUSED;                                                 \
 | 
						|
    /**/
 | 
						|
    
 | 
						|
    #define BOOST_PHOENIX_ARGUMENT_N_INSTANCE(_, N, name)                       \
 | 
						|
    expression::argument<BOOST_PP_INC(N)>::type const                           \
 | 
						|
        BOOST_ATTRIBUTE_UNUSED                                                  \
 | 
						|
        BOOST_PP_CAT(name, BOOST_PP_INC(N)) = {{{}}};                           \
 | 
						|
    /**/
 | 
						|
 | 
						|
 | 
						|
    namespace placeholders
 | 
						|
    {
 | 
						|
        BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, arg)
 | 
						|
        BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, _)
 | 
						|
#ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
 | 
						|
        BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, arg)
 | 
						|
        BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, _)
 | 
						|
#endif
 | 
						|
    }
 | 
						|
 | 
						|
    namespace arg_names
 | 
						|
    {
 | 
						|
        BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, arg)
 | 
						|
        BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, _)
 | 
						|
#ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
 | 
						|
        BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, arg)
 | 
						|
        BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, _)
 | 
						|
#endif
 | 
						|
    }
 | 
						|
 | 
						|
    #undef BOOST_PHOENIX_ARGUMENT_N_TYPE
 | 
						|
    #undef BOOST_PHOENIX_ARGUMENT_N_INSTANCE
 | 
						|
 |