File indexing completed on 2025-01-18 09:34:58
0001
0002
0003
0004
0005
0006
0007 #ifndef BOOST_PP_IS_ITERATING
0008 #if !defined(FUSION_MAKE_TUPLE_10032005_0843)
0009 #define FUSION_MAKE_TUPLE_10032005_0843
0010
0011 #include <boost/preprocessor/iterate.hpp>
0012 #include <boost/preprocessor/repetition/enum_params.hpp>
0013 #include <boost/preprocessor/repetition/enum_binary_params.hpp>
0014 #include <boost/fusion/tuple/detail/tuple.hpp>
0015 #include <boost/fusion/support/detail/as_fusion_element.hpp>
0016
0017 namespace boost { namespace fusion
0018 {
0019 BOOST_FUSION_GPU_ENABLED inline tuple<>
0020 make_tuple()
0021 {
0022 return tuple<>();
0023 }
0024 }}
0025
0026 #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
0027 #include <boost/fusion/tuple/detail/preprocessed/make_tuple.hpp>
0028 #else
0029 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0030 #pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp")
0031 #endif
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0043 #pragma wave option(preserve: 1)
0044 #endif
0045
0046 namespace boost { namespace fusion
0047 {
0048 #define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \
0049 typename detail::as_fusion_element<BOOST_PP_CAT(T, n)>::type
0050
0051 #define BOOST_PP_FILENAME_1 <boost/fusion/tuple/detail/make_tuple.hpp>
0052 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
0053 #include BOOST_PP_ITERATE()
0054
0055 #undef BOOST_FUSION_AS_FUSION_ELEMENT
0056
0057 }}
0058
0059 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0060 #pragma wave option(output: null)
0061 #endif
0062
0063 #endif
0064
0065 #endif
0066 #else
0067
0068
0069
0070
0071
0072
0073 #define N BOOST_PP_ITERATION()
0074
0075 template <BOOST_PP_ENUM_PARAMS(N, typename T)>
0076 BOOST_FUSION_GPU_ENABLED
0077 inline tuple<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>
0078 make_tuple(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg))
0079 {
0080 return tuple<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>(
0081 BOOST_PP_ENUM_PARAMS(N, arg));
0082 }
0083
0084 #undef N
0085 #endif
0086