Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-23 09:35: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_FORWARD_CTOR_04122006_2212)
0010 #define BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_FORWARD_CTOR_04122006_2212
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 #define FUSION_DEQUE_FORWARD_CTOR_FORWARD(z, n, _)    BOOST_FUSION_FWD_ELEM(T_##n, t##n)
0017 
0018 #include <boost/preprocessor/iterate.hpp>
0019 #include <boost/preprocessor/repetition/enum_shifted_params.hpp>
0020 #include <boost/preprocessor/repetition/enum_binary_params.hpp>
0021 
0022 #define BOOST_PP_FILENAME_1 \
0023     <boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp>
0024 #define BOOST_PP_ITERATION_LIMITS (2, FUSION_MAX_DEQUE_SIZE)
0025 #include BOOST_PP_ITERATE()
0026 
0027 #undef FUSION_DEQUE_FORWARD_CTOR_FORWARD
0028 #endif
0029 #else
0030 
0031 #define N BOOST_PP_ITERATION()
0032 
0033 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0034 FUSION_HASH if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
0035 #endif
0036 #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
0037     (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES))
0038 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0039 deque(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param<T, >::type t))
0040     : base(detail::deque_keyed_values<BOOST_PP_ENUM_PARAMS(N, T)>::construct(BOOST_PP_ENUM_PARAMS(N, t)))
0041 {}
0042 #endif
0043 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0044 FUSION_HASH endif
0045 #endif
0046 
0047 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0048 FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
0049 #endif
0050 #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
0051     (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES))
0052 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0053 deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& t))
0054     : base(detail::deque_keyed_values<BOOST_PP_ENUM_PARAMS(N, T)>::construct(BOOST_PP_ENUM_PARAMS(N, t)))
0055 {}
0056 
0057 template <BOOST_PP_ENUM_PARAMS(N, typename T_)>
0058 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0059 deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t))
0060     : base(detail::deque_keyed_values<BOOST_PP_ENUM_PARAMS(N, T)>::
0061       forward_(BOOST_PP_ENUM(N, FUSION_DEQUE_FORWARD_CTOR_FORWARD, _)))
0062 {}
0063 #endif
0064 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0065 FUSION_HASH endif
0066 #endif
0067 
0068 #undef N
0069 #endif