File indexing completed on 2025-02-23 09:35:12
0001
0002
0003
0004
0005
0006
0007
0008 #if !defined(BOOST_PP_IS_ITERATING)
0009 #if !defined(BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_KEYED_VALUES_CALL_04122006_2211)
0010 #define BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_KEYED_VALUES_CALL_04122006_2211
0011
0012 #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
0013 #error "C++03 only! This file should not have been included"
0014 #endif
0015
0016 #include <boost/preprocessor/iterate.hpp>
0017 #include <boost/preprocessor/repetition/enum_shifted_params.hpp>
0018 #include <boost/preprocessor/repetition/enum_shifted.hpp>
0019 #include <boost/preprocessor/repetition/enum_binary_params.hpp>
0020
0021 #define FUSION_HASH #
0022 #define FUSION_DEQUE_KEYED_VALUES_FORWARD(z, n, _) \
0023 BOOST_FUSION_FWD_ELEM(BOOST_PP_CAT(T_, n), BOOST_PP_CAT(t, n))
0024
0025 #define BOOST_PP_FILENAME_1 \
0026 <boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp>
0027 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE)
0028 #include BOOST_PP_ITERATE()
0029
0030 #undef FUSION_DEQUE_KEYED_VALUES_FORWARD
0031 #undef FUSION_HASH
0032 #endif
0033 #else
0034
0035 #define N BOOST_PP_ITERATION()
0036
0037 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0038 static type construct(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param<T, >::type t))
0039 {
0040 return type(t0,
0041 deque_keyed_values_impl<
0042 next_index
0043 #if N > 1
0044 , BOOST_PP_ENUM_SHIFTED_PARAMS(N, T)
0045 #endif
0046 >::construct(BOOST_PP_ENUM_SHIFTED_PARAMS(N, t)));
0047 }
0048
0049 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0050 FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
0051 #endif
0052 #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
0053 (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES))
0054 template <BOOST_PP_ENUM_PARAMS(N, typename T_)>
0055 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0056 static type forward_(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t))
0057 {
0058 return type(BOOST_FUSION_FWD_ELEM(T_0, t0),
0059 deque_keyed_values_impl<
0060 next_index
0061 #if N > 1
0062 , BOOST_PP_ENUM_SHIFTED_PARAMS(N, T_)
0063 #endif
0064 >::forward_(BOOST_PP_ENUM_SHIFTED(N, FUSION_DEQUE_KEYED_VALUES_FORWARD, _)));
0065 }
0066 #endif
0067 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0068 FUSION_HASH endif
0069 #endif
0070
0071 #undef N
0072 #endif