EVOLUTION-MANAGER
Edit File: deque_forward_ctor.hpp
/*============================================================================= Copyright (c) 2005-2012 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden 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) ==============================================================================*/ #if !defined(BOOST_PP_IS_ITERATING) #if !defined(BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_FORWARD_CTOR_04122006_2212) #define BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_FORWARD_CTOR_04122006_2212 #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) #error "C++03 only! This file should not have been included" #endif #define FUSION_DEQUE_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(T_##n, t##n) #include <boost/preprocessor/iterate.hpp> #include <boost/preprocessor/repetition/enum_shifted_params.hpp> #include <boost/preprocessor/repetition/enum_binary_params.hpp> #define BOOST_PP_FILENAME_1 \ <boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp> #define BOOST_PP_ITERATION_LIMITS (2, FUSION_MAX_DEQUE_SIZE) #include BOOST_PP_ITERATE() #undef FUSION_DEQUE_FORWARD_CTOR_FORWARD #endif #else #define N BOOST_PP_ITERATION() #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param<T, >::type t)) : base(detail::deque_keyed_values<BOOST_PP_ENUM_PARAMS(N, T)>::construct(BOOST_PP_ENUM_PARAMS(N, t))) {} #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& t)) : base(detail::deque_keyed_values<BOOST_PP_ENUM_PARAMS(N, T)>::construct(BOOST_PP_ENUM_PARAMS(N, t))) {} template <BOOST_PP_ENUM_PARAMS(N, typename T_)> BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t)) : base(detail::deque_keyed_values<BOOST_PP_ENUM_PARAMS(N, T)>:: forward_(BOOST_PP_ENUM(N, FUSION_DEQUE_FORWARD_CTOR_FORWARD, _))) {} #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif #undef N #endif