summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/phoenix/support/detail/iterate.hpp')
-rw-r--r--3rdParty/Boost/src/boost/phoenix/support/detail/iterate.hpp89
1 files changed, 89 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/phoenix/support/detail/iterate.hpp b/3rdParty/Boost/src/boost/phoenix/support/detail/iterate.hpp
new file mode 100644
index 0000000..3effb9f
--- /dev/null
+++ b/3rdParty/Boost/src/boost/phoenix/support/detail/iterate.hpp
@@ -0,0 +1,89 @@
+/*==============================================================================
+ Copyright (c) 2010 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)
+==============================================================================*/
+
+#if !BOOST_PP_IS_ITERATING
+
+#include <boost/preprocessor/tuple/elem.hpp>
+
+#ifndef BOOST_PHOENIX_ITERATION_PARAMS
+#error "BOOST_PHOENIX_ITERATION_PARAMS not defined"
+#endif
+
+#define BOOST_PHOENIX_ITERATION_PARAMS_SIZE \
+ BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PHOENIX_ITERATION_PARAMS) \
+/**/
+
+#define BOOST_PHOENIX_ITERATION_TUPLE \
+ BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PHOENIX_ITERATION_PARAMS) \
+/**/
+
+#define BOOST_PHOENIX_ITERATION_START \
+ BOOST_PP_TUPLE_ELEM( \
+ BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 0, BOOST_PHOENIX_ITERATION_TUPLE) \
+/**/
+
+#define BOOST_PHOENIX_ITERATION_END \
+ BOOST_PP_TUPLE_ELEM( \
+ BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 1, BOOST_PHOENIX_ITERATION_TUPLE) \
+/**/
+
+
+#define BOOST_PHOENIX_ITERATION_FILE() \
+ BOOST_PP_TUPLE_ELEM( \
+ BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 2, BOOST_PHOENIX_ITERATION_TUPLE) \
+/**/
+
+#if BOOST_PHOENIX_ITERATION_PARAMS_SIZE == 3
+
+#define BOOST_PP_ITERATION_PARAMS_1 \
+ (3, (BOOST_PHOENIX_ITERATION_START, BOOST_PHOENIX_ITERATION_END, \
+ <boost/phoenix/support/detail/iterate.hpp>)) \
+/**/
+
+#else
+
+#define BOOST_PHOENIX_ITERATION_FLAG \
+ BOOST_PP_TUPLE_ELEM( \
+ BOOST_PHOENIX_ITERATION_PARAMS_SIZE, 3, BOOST_PHOENIX_ITERATION_TUPLE) \
+/**/
+
+#define BOOST_PP_ITERATION_PARAMS_1 \
+ (4, (BOOST_PHOENIX_ITERATION_START, BOOST_PHOENIX_ITERATION_END, \
+ <boost/phoenix/support/detail/iterate.hpp>, \
+ BOOST_PHOENIX_ITERATION_FLAG)) \
+/**/
+
+#endif
+
+#include BOOST_PP_ITERATE()
+
+#undef BOOST_PHOENIX_ITERATION_PARAMS_SIZE
+#undef BOOST_PHOENIX_ITERATION_TUPLE
+#undef BOOST_PHOENIX_ITERATION_START
+#undef BOOST_PHOENIX_ITERATION_END
+#undef BOOST_PHOENIX_ITERATION_PARAMS
+
+#else
+
+#undef BOOST_PHOENIX_IS_ITERATING
+#define BOOST_PHOENIX_IS_ITERATING 1
+
+#include <boost/phoenix/support/detail/iterate_undef.hpp>
+#include <boost/phoenix/support/detail/iterate_define.hpp>
+
+
+#include BOOST_PHOENIX_ITERATION_FILE()
+
+#undef BOOST_PHOENIX_ITERATION
+
+#undef BOOST_PHOENIX_IS_ITERATING
+#define BOOST_PHOENIX_IS_ITERATING 0
+
+#include <boost/phoenix/support/detail/iterate_undef.hpp>
+#include <boost/phoenix/support/detail/iterate_define.hpp>
+
+#endif