You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
52 lines
1.5 KiB
52 lines
1.5 KiB
/////////////////////////////////////////////////////////////////////////////// |
|
/// \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
|
|
|