/Src/Dependencies/Boost/boost/phoenix/core/detail/argument.hpp
http://hadesmem.googlecode.com/ · C++ Header · 44 lines · 27 code · 7 blank · 10 comment · 0 complexity · ceda4edc820a21b2ca005e9ef1d562ac MD5 · raw file
- /*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010-2011 Thomas Heller
- 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)
- ==============================================================================*/
- #define BOOST_PHOENIX_ARGUMENT_N_TYPE(_, N, name) \
- typedef \
- expression::argument<BOOST_PP_INC(N)>::type \
- BOOST_PP_CAT(BOOST_PP_CAT(name, BOOST_PP_INC(N)), _type); \
- /**/
-
- #define BOOST_PHOENIX_ARGUMENT_N_INSTANCE(_, N, name) \
- expression::argument<BOOST_PP_INC(N)>::type const \
- BOOST_PP_CAT(name, BOOST_PP_INC(N)) = {{{}}}; \
- /**/
- namespace placeholders
- {
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, arg)
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, _)
- #ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, arg)
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, _)
- #endif
- }
- namespace arg_names
- {
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, arg)
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, _)
- #ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, arg)
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, _)
- #endif
- }
- #undef BOOST_PHOENIX_ARGUMENT_N_TYPE
- #undef BOOST_PHOENIX_ARGUMENT_N_INSTANCE