Back to home page

EIC code displayed by LXR

 
 

    


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

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_SET_FORWARD_CTOR_09162005_1115)
0009 #define FUSION_SET_FORWARD_CTOR_09162005_1115
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/container/set/detail/cpp03/set_forward_ctor.hpp>
0017 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_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_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0031 #if N == 1
0032     explicit
0033 #endif
0034     set(BOOST_PP_ENUM_BINARY_PARAMS(
0035         N, typename detail::call_param<T, >::type arg))
0036         : data(BOOST_PP_ENUM_PARAMS(N, arg)) {}
0037 
0038 #undef N
0039 #endif // defined(BOOST_PP_IS_ITERATING)
0040