/////////////////////////////////////////////////////////////////////////////// /// \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