| Index: third_party/boost/boost/fusion/tuple/make_tuple.hpp
|
| diff --git a/third_party/boost/boost/fusion/tuple/make_tuple.hpp b/third_party/boost/boost/fusion/tuple/make_tuple.hpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..32fd912eec902b42fd9de7c78370ab226886e562
|
| --- /dev/null
|
| +++ b/third_party/boost/boost/fusion/tuple/make_tuple.hpp
|
| @@ -0,0 +1,56 @@
|
| +/*=============================================================================
|
| + 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_MAKE_TUPLE_10032005_0843)
|
| +#define FUSION_MAKE_TUPLE_10032005_0843
|
| +
|
| +#include <boost/preprocessor/iterate.hpp>
|
| +#include <boost/preprocessor/repetition/enum_params.hpp>
|
| +#include <boost/preprocessor/repetition/enum_binary_params.hpp>
|
| +#include <boost/fusion/tuple/tuple.hpp>
|
| +#include <boost/fusion/support/detail/as_fusion_element.hpp>
|
| +
|
| +namespace boost { namespace fusion
|
| +{
|
| + inline tuple<>
|
| + make_tuple()
|
| + {
|
| + return tuple<>();
|
| + }
|
| +
|
| +#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \
|
| + typename detail::as_fusion_element<BOOST_PP_CAT(T, n)>::type
|
| +
|
| +#define BOOST_PP_FILENAME_1 <boost/fusion/tuple/make_tuple.hpp>
|
| +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
|
| +#include BOOST_PP_ITERATE()
|
| +
|
| +#undef BOOST_FUSION_AS_FUSION_ELEMENT
|
| +
|
| +}}
|
| +
|
| +#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_AS_FUSION_ELEMENT, _)>
|
| + make_tuple(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _))
|
| + {
|
| + return tuple<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>(
|
| + BOOST_PP_ENUM_PARAMS(N, _));
|
| + }
|
| +
|
| +#undef N
|
| +#endif // defined(BOOST_PP_IS_ITERATING)
|
| +
|
|
|