Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-10 08:43:12

0001 /*=============================================================================
0002     Copyright (c) 2005-2012 Joel de Guzman
0003     Copyright (c) 2005-2006 Dan Marsden
0004 
0005     Distributed under the Boost Software License, Version 1.0. (See accompanying
0006     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
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 ">#
0023 #define FUSION_DEQUE_KEYED_VALUES_FORWARD(z, n, _)    \
0024    BOOST_FUSION_FWD_ELEM(BOOST_PP_CAT(T_, n), BOOST_PP_CAT(t, n))
0025 
0026 #define BOOST_PP_FILENAME_1 \
0027     <boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp>
0028 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE)
0029 #include BOOST_PP_ITERATE()
0030 
0031 #undef FUSION_DEQUE_KEYED_VALUES_FORWARD
0032 #undef FUSION_HASH
0033 #endif
0034 #else
0035 
0036 #define N BOOST_PP_ITERATION()
0037 
0038         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0039         static type construct(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param<T, >::type t))
0040         {
0041             return type(t0,
0042                         deque_keyed_values_impl<
0043                         next_index
0044         #if N > 1
0045                         , BOOST_PP_ENUM_SHIFTED_PARAMS(N, T)
0046         #endif
0047                         >::construct(BOOST_PP_ENUM_SHIFTED_PARAMS(N, t)));
0048         }
0049 
0050 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0051 FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
0052 #endif
0053 #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
0054     (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES))
0055         template <BOOST_PP_ENUM_PARAMS(N, typename T_)>
0056         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0057         static type forward_(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t))
0058         {
0059             return type(BOOST_FUSION_FWD_ELEM(T_0, t0),
0060                         deque_keyed_values_impl<
0061                         next_index
0062         #if N > 1
0063                         , BOOST_PP_ENUM_SHIFTED_PARAMS(N, T_)
0064         #endif
0065                         >::forward_(BOOST_PP_ENUM_SHIFTED(N, FUSION_DEQUE_KEYED_VALUES_FORWARD, _)));
0066         }
0067 #endif
0068 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0069 FUSION_HASH endif
0070 #endif
0071 
0072 #undef N
0073 #endif