53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
///////////////////////////////////////////////////////////////////////////////
 | 
						|
/// \file local.hpp
 | 
						|
/// Contains macros to ease the generation of repetitious code constructs
 | 
						|
//
 | 
						|
//  Copyright 2008 Eric Niebler. 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)
 | 
						|
 | 
						|
#ifndef BOOST_PROTO_LOCAL_MACRO
 | 
						|
# error "local iteration target macro is not defined"
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef BOOST_PROTO_LOCAL_LIMITS
 | 
						|
# define BOOST_PROTO_LOCAL_LIMITS (1, BOOST_PROTO_MAX_ARITY)
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef BOOST_PROTO_LOCAL_typename_A
 | 
						|
# define BOOST_PROTO_LOCAL_typename_A BOOST_PROTO_typename_A
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef BOOST_PROTO_LOCAL_A
 | 
						|
# define BOOST_PROTO_LOCAL_A BOOST_PROTO_A_const_ref
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef BOOST_PROTO_LOCAL_A_a
 | 
						|
# define BOOST_PROTO_LOCAL_A_a BOOST_PROTO_A_const_ref_a
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef BOOST_PROTO_LOCAL_a
 | 
						|
# define BOOST_PROTO_LOCAL_a BOOST_PROTO_ref_a
 | 
						|
#endif
 | 
						|
 | 
						|
#define BOOST_PP_LOCAL_LIMITS BOOST_PROTO_LOCAL_LIMITS
 | 
						|
 | 
						|
#define BOOST_PP_LOCAL_MACRO(N)       \
 | 
						|
  BOOST_PROTO_LOCAL_MACRO(            \
 | 
						|
      N                               \
 | 
						|
    , BOOST_PROTO_LOCAL_typename_A    \
 | 
						|
    , BOOST_PROTO_LOCAL_A             \
 | 
						|
    , BOOST_PROTO_LOCAL_A_a           \
 | 
						|
    , BOOST_PROTO_LOCAL_a             \
 | 
						|
  )                                   \
 | 
						|
  /**/
 | 
						|
 | 
						|
#include BOOST_PP_LOCAL_ITERATE()
 | 
						|
 | 
						|
#undef BOOST_PROTO_LOCAL_MACRO
 | 
						|
#undef BOOST_PROTO_LOCAL_LIMITS
 | 
						|
#undef BOOST_PROTO_LOCAL_typename_A
 | 
						|
#undef BOOST_PROTO_LOCAL_A
 | 
						|
#undef BOOST_PROTO_LOCAL_A_a
 | 
						|
#undef BOOST_PROTO_LOCAL_a
 |