]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | /*============================================================================== |
2 | Copyright (c) 2001-2010 Joel de Guzman | |
3 | Copyright (c) 2010 Eric Niebler | |
4 | Copyright (c) 2010-2011 Thomas Heller | |
5 | ||
6 | Distributed under the Boost Software License, Version 1.0. (See accompanying | |
7 | file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
8 | ==============================================================================*/ | |
9 | ||
10 | #define BOOST_PHOENIX_ARGUMENT_N_TYPE(_, N, name) \ | |
11 | typedef \ | |
12 | expression::argument<BOOST_PP_INC(N)>::type \ | |
13 | BOOST_PP_CAT(BOOST_PP_CAT(name, BOOST_PP_INC(N)), _type) \ | |
14 | BOOST_ATTRIBUTE_UNUSED; \ | |
15 | /**/ | |
16 | ||
17 | #define BOOST_PHOENIX_ARGUMENT_N_INSTANCE(_, N, name) \ | |
18 | expression::argument<BOOST_PP_INC(N)>::type const \ | |
19 | BOOST_ATTRIBUTE_UNUSED \ | |
20 | BOOST_PP_CAT(name, BOOST_PP_INC(N)) = {{{}}}; \ | |
21 | /**/ | |
22 | ||
23 | ||
24 | namespace placeholders | |
25 | { | |
26 | BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, arg) | |
27 | BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, _) | |
28 | #ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS | |
29 | BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, arg) | |
30 | BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, _) | |
31 | #endif | |
32 | } | |
33 | ||
34 | namespace arg_names | |
35 | { | |
36 | BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, arg) | |
37 | BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, _) | |
38 | #ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS | |
39 | BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, arg) | |
40 | BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, _) | |
41 | #endif | |
42 | } | |
43 | ||
44 | #undef BOOST_PHOENIX_ARGUMENT_N_TYPE | |
45 | #undef BOOST_PHOENIX_ARGUMENT_N_INSTANCE | |
46 |