Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:33:39

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_MAP_FORWARD_CTOR_07222005_0106)
0009 #define FUSION_MAP_FORWARD_CTOR_07222005_0106
0010 
0011 #define FUSION_FORWARD_CTOR_FORWARD(z, n, _)    BOOST_FUSION_FWD_ELEM(U##n, _##n)
0012 
0013 #define BOOST_PP_FILENAME_1 \
0014     <boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp>
0015 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE)
0016 #include BOOST_PP_ITERATE()
0017 
0018 #undef FUSION_FORWARD_CTOR_FORWARD
0019 #endif
0020 #else // defined(BOOST_PP_IS_ITERATING)
0021 ///////////////////////////////////////////////////////////////////////////////
0022 //
0023 //  Preprocessor vertical repetition code
0024 //
0025 ///////////////////////////////////////////////////////////////////////////////
0026 
0027 #define N BOOST_PP_ITERATION()
0028 
0029     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0030 #if N == 1
0031     explicit
0032 #endif
0033     map(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param<T, >::type arg))
0034         : data(BOOST_PP_ENUM_PARAMS(N, arg)) {}
0035 
0036 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0037 FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
0038 #endif
0039 #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
0040     (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES))
0041     template <BOOST_PP_ENUM_PARAMS(N, typename U)>
0042     BOOST_FUSION_GPU_ENABLED
0043 #if N == 1
0044     explicit
0045 #endif
0046     map(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg)
0047 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) && \
0048     N == 1
0049     // workaround for MSVC 10
0050 FUSION_HASH if defined(BOOST_MSVC) && (BOOST_MSVC == 1700)
0051         , typename enable_if<is_same<U0, T0> >::type* = 0
0052 FUSION_HASH endif
0053 #endif
0054         )
0055         : data(BOOST_PP_ENUM(N, FUSION_FORWARD_CTOR_FORWARD, arg)) {}
0056 #endif
0057 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0058 FUSION_HASH endif
0059 #endif
0060 
0061 #undef N
0062 #endif // defined(BOOST_PP_IS_ITERATING)
0063