Index: third_party/boost/boost/fusion/tuple/tuple_tie.hpp |
diff --git a/third_party/boost/boost/fusion/tuple/tuple_tie.hpp b/third_party/boost/boost/fusion/tuple/tuple_tie.hpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b6c21eff5be4dc25f44dd3bcfdd27f6d2a6a556d |
--- /dev/null |
+++ b/third_party/boost/boost/fusion/tuple/tuple_tie.hpp |
@@ -0,0 +1,49 @@ |
+/*============================================================================= |
+ Copyright (c) 2001-2006 Joel de Guzman |
+ |
+ 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) |
+==============================================================================*/ |
+#ifndef BOOST_PP_IS_ITERATING |
+#if !defined(FUSION_TUPLE_TIE_10032005_0846) |
+#define FUSION_TUPLE_TIE_10032005_0846 |
+ |
+#include <boost/preprocessor/iterate.hpp> |
+#include <boost/preprocessor/cat.hpp> |
+#include <boost/preprocessor/repetition/enum_params.hpp> |
+#include <boost/preprocessor/repetition/enum_binary_params.hpp> |
+#include <boost/fusion/tuple/tuple.hpp> |
+ |
+namespace boost { namespace fusion |
+{ |
+#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& |
+ |
+#define BOOST_PP_FILENAME_1 <boost/fusion/tuple/tuple_tie.hpp> |
+#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) |
+#include BOOST_PP_ITERATE() |
+ |
+#undef BOOST_FUSION_REF |
+ |
+}} |
+ |
+#endif |
+#else // defined(BOOST_PP_IS_ITERATING) |
+/////////////////////////////////////////////////////////////////////////////// |
+// |
+// Preprocessor vertical repetition code |
+// |
+/////////////////////////////////////////////////////////////////////////////// |
+ |
+#define N BOOST_PP_ITERATION() |
+ |
+ template <BOOST_PP_ENUM_PARAMS(N, typename T)> |
+ inline tuple<BOOST_PP_ENUM(N, BOOST_FUSION_REF, _)> |
+ tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & _)) |
+ { |
+ return tuple<BOOST_PP_ENUM(N, BOOST_FUSION_REF, _)>( |
+ BOOST_PP_ENUM_PARAMS(N, _)); |
+ } |
+ |
+#undef N |
+#endif // defined(BOOST_PP_IS_ITERATING) |
+ |