Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:34:58

0001 /*=============================================================================
0002     Copyright (c) 2001-2011 Joel de Guzman
0003 
0004     Distributed under the Boost Software License, Version 1.0. (See accompanying
0005     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0006 ==============================================================================*/
0007 #ifndef BOOST_PP_IS_ITERATING
0008 #if !defined(FUSION_TUPLE_EXPAND_10032005_0815)
0009 #define FUSION_TUPLE_EXPAND_10032005_0815
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 
0015 #define BOOST_PP_FILENAME_1 \
0016     <boost/fusion/tuple/detail/tuple_expand.hpp>
0017 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
0018 #include BOOST_PP_ITERATE()
0019 
0020 #endif
0021 #else // defined(BOOST_PP_IS_ITERATING)
0022 ///////////////////////////////////////////////////////////////////////////////
0023 //
0024 //  Preprocessor vertical repetition code
0025 //
0026 ///////////////////////////////////////////////////////////////////////////////
0027 
0028 #define N BOOST_PP_ITERATION()
0029 
0030     BOOST_FUSION_GPU_ENABLED
0031 #if N == 1
0032     explicit
0033 #endif
0034     tuple(BOOST_PP_ENUM_BINARY_PARAMS(
0035         N, typename detail::call_param<T, >::type arg))
0036         : base_type(BOOST_PP_ENUM_PARAMS(N, arg)) {}
0037 
0038     template <BOOST_PP_ENUM_PARAMS(N, typename U)>
0039     BOOST_FUSION_GPU_ENABLED
0040     tuple(tuple<BOOST_PP_ENUM_PARAMS(N, U)> const& rhs)
0041         : base_type(rhs) {}
0042 
0043     template <BOOST_PP_ENUM_PARAMS(N, typename U)>
0044     BOOST_FUSION_GPU_ENABLED
0045     tuple& operator=(tuple<BOOST_PP_ENUM_PARAMS(N, U)> const& rhs)
0046     {
0047         base_type::operator=(rhs);
0048         return *this;
0049     }
0050 
0051 #undef N
0052 #endif // defined(BOOST_PP_IS_ITERATING)
0053