Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/boost/phoenix/support/detail/iterate.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*==============================================================================
0002     Copyright (c) 2010 Thomas Heller
0003 
0004     Distributed under the Boost Software License, Version 1.0. (See accompanying
0005     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0006 ==============================================================================*/
0007 
0008 #if !BOOST_PP_IS_ITERATING
0009 
0010 #include <boost/preprocessor/tuple/elem.hpp>
0011 
0012 #ifndef BOOST_PHOENIX_ITERATION_PARAMS
0013 #error "BOOST_PHOENIX_ITERATION_PARAMS not defined"
0014 #endif
0015 
0016 #define BOOST_PHOENIX_ITERATION_PARAMS_SIZE                                     \
0017     BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PHOENIX_ITERATION_PARAMS)                   \
0018 /**/
0019 
0020 #define BOOST_PHOENIX_ITERATION_TUPLE                                           \
0021     BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PHOENIX_ITERATION_PARAMS)                   \
0022 /**/
0023 
0024 #define BOOST_PHOENIX_ITERATION_START                                           \
0025     BOOST_PP_TUPLE_ELEM(                                                        \
0026         BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 0, BOOST_PHOENIX_ITERATION_TUPLE)  \
0027 /**/
0028 
0029 #define BOOST_PHOENIX_ITERATION_END                                             \
0030     BOOST_PP_TUPLE_ELEM(                                                        \
0031         BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 1, BOOST_PHOENIX_ITERATION_TUPLE)  \
0032 /**/
0033 
0034 
0035 #define BOOST_PHOENIX_ITERATION_FILE()                                          \
0036     BOOST_PP_TUPLE_ELEM(                                                        \
0037         BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 2, BOOST_PHOENIX_ITERATION_TUPLE)  \
0038 /**/
0039 
0040 #if BOOST_PHOENIX_ITERATION_PARAMS_SIZE == 3
0041 
0042 #define BOOST_PP_ITERATION_PARAMS_1                                             \
0043     (3, (BOOST_PHOENIX_ITERATION_START, BOOST_PHOENIX_ITERATION_END,            \
0044     <boost/phoenix/support/detail/iterate.hpp>))                                \
0045 /**/
0046 
0047 #else
0048 
0049 #define BOOST_PHOENIX_ITERATION_FLAG                                            \
0050     BOOST_PP_TUPLE_ELEM(                                                        \
0051         BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 3, BOOST_PHOENIX_ITERATION_TUPLE)  \
0052 /**/
0053 
0054 #define BOOST_PP_ITERATION_PARAMS_1                                             \
0055     (4, (BOOST_PHOENIX_ITERATION_START, BOOST_PHOENIX_ITERATION_END,            \
0056     <boost/phoenix/support/detail/iterate.hpp>,                                 \
0057     BOOST_PHOENIX_ITERATION_FLAG))                                              \
0058 /**/
0059 
0060 #endif
0061 
0062 #include BOOST_PP_ITERATE()
0063 
0064 #undef BOOST_PHOENIX_ITERATION_PARAMS_SIZE
0065 #undef BOOST_PHOENIX_ITERATION_TUPLE
0066 #undef BOOST_PHOENIX_ITERATION_START
0067 #undef BOOST_PHOENIX_ITERATION_END
0068 #undef BOOST_PHOENIX_ITERATION_PARAMS
0069 
0070 #else
0071 
0072 #undef BOOST_PHOENIX_IS_ITERATING
0073 #define BOOST_PHOENIX_IS_ITERATING 1
0074 
0075 #include <boost/phoenix/support/detail/iterate_undef.hpp>
0076 #include <boost/phoenix/support/detail/iterate_define.hpp>
0077 
0078 
0079 #include BOOST_PHOENIX_ITERATION_FILE()
0080 
0081 #undef BOOST_PHOENIX_ITERATION
0082 
0083 #undef BOOST_PHOENIX_IS_ITERATING
0084 #define BOOST_PHOENIX_IS_ITERATING 0
0085 
0086 #include <boost/phoenix/support/detail/iterate_undef.hpp>
0087 #include <boost/phoenix/support/detail/iterate_define.hpp>
0088 
0089 #endif