Chris@16
|
1 ///////////////////////////////////////////////////////////////////////////////
|
Chris@16
|
2 /// \file local.hpp
|
Chris@16
|
3 /// Contains macros to ease the generation of repetitious code constructs
|
Chris@16
|
4 //
|
Chris@16
|
5 // Copyright 2008 Eric Niebler. Distributed under the Boost
|
Chris@16
|
6 // Software License, Version 1.0. (See accompanying file
|
Chris@16
|
7 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
8
|
Chris@16
|
9 #ifndef BOOST_PROTO_LOCAL_MACRO
|
Chris@16
|
10 # error "local iteration target macro is not defined"
|
Chris@16
|
11 #endif
|
Chris@16
|
12
|
Chris@16
|
13 #ifndef BOOST_PROTO_LOCAL_LIMITS
|
Chris@16
|
14 # define BOOST_PROTO_LOCAL_LIMITS (1, BOOST_PROTO_MAX_ARITY)
|
Chris@16
|
15 #endif
|
Chris@16
|
16
|
Chris@16
|
17 #ifndef BOOST_PROTO_LOCAL_typename_A
|
Chris@16
|
18 # define BOOST_PROTO_LOCAL_typename_A BOOST_PROTO_typename_A
|
Chris@16
|
19 #endif
|
Chris@16
|
20
|
Chris@16
|
21 #ifndef BOOST_PROTO_LOCAL_A
|
Chris@16
|
22 # define BOOST_PROTO_LOCAL_A BOOST_PROTO_A_const_ref
|
Chris@16
|
23 #endif
|
Chris@16
|
24
|
Chris@16
|
25 #ifndef BOOST_PROTO_LOCAL_A_a
|
Chris@16
|
26 # define BOOST_PROTO_LOCAL_A_a BOOST_PROTO_A_const_ref_a
|
Chris@16
|
27 #endif
|
Chris@16
|
28
|
Chris@16
|
29 #ifndef BOOST_PROTO_LOCAL_a
|
Chris@16
|
30 # define BOOST_PROTO_LOCAL_a BOOST_PROTO_ref_a
|
Chris@16
|
31 #endif
|
Chris@16
|
32
|
Chris@16
|
33 #define BOOST_PP_LOCAL_LIMITS BOOST_PROTO_LOCAL_LIMITS
|
Chris@16
|
34
|
Chris@16
|
35 #define BOOST_PP_LOCAL_MACRO(N) \
|
Chris@16
|
36 BOOST_PROTO_LOCAL_MACRO( \
|
Chris@16
|
37 N \
|
Chris@16
|
38 , BOOST_PROTO_LOCAL_typename_A \
|
Chris@16
|
39 , BOOST_PROTO_LOCAL_A \
|
Chris@16
|
40 , BOOST_PROTO_LOCAL_A_a \
|
Chris@16
|
41 , BOOST_PROTO_LOCAL_a \
|
Chris@16
|
42 ) \
|
Chris@16
|
43 /**/
|
Chris@16
|
44
|
Chris@16
|
45 #include BOOST_PP_LOCAL_ITERATE()
|
Chris@16
|
46
|
Chris@16
|
47 #undef BOOST_PROTO_LOCAL_MACRO
|
Chris@16
|
48 #undef BOOST_PROTO_LOCAL_LIMITS
|
Chris@16
|
49 #undef BOOST_PROTO_LOCAL_typename_A
|
Chris@16
|
50 #undef BOOST_PROTO_LOCAL_A
|
Chris@16
|
51 #undef BOOST_PROTO_LOCAL_A_a
|
Chris@16
|
52 #undef BOOST_PROTO_LOCAL_a
|