Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:41:44

0001 
0002 // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
0003 
0004 #if defined(BOOST_PP_IS_ITERATING)
0005 
0006 // Copyright Aleksey Gurtovoy 2000-2004
0007 //
0008 // Distributed under the Boost Software License, Version 1.0. 
0009 // (See accompanying file LICENSE_1_0.txt or copy at 
0010 // http://www.boost.org/LICENSE_1_0.txt)
0011 //
0012 // See http://www.boost.org/libs/mpl for documentation.
0013 
0014 // $Id$
0015 // $Date$
0016 // $Revision$
0017 
0018 #include <boost/preprocessor/enum_params.hpp>
0019 #include <boost/preprocessor/dec.hpp>
0020 #include <boost/preprocessor/cat.hpp>
0021 
0022 #define i_ BOOST_PP_FRAME_ITERATION(1)
0023 
0024 #   define AUX778076_SET_TAIL(set, i_, T) \
0025     typename BOOST_PP_CAT(set,i_)< \
0026           BOOST_PP_ENUM_PARAMS(i_, T) \
0027         >::item_                           \
0028     /**/
0029 
0030 #if i_ > 0
0031 template<
0032       BOOST_PP_ENUM_PARAMS(i_, typename T)
0033     >
0034 struct BOOST_PP_CAT(set,i_)
0035     : s_item<
0036           BOOST_PP_CAT(T,BOOST_PP_DEC(i_))
0037         , AUX778076_SET_TAIL(set,BOOST_PP_DEC(i_),T)
0038         >
0039 {
0040     typedef BOOST_PP_CAT(set,i_) type;
0041 };
0042 #endif
0043 
0044 #   undef AUX778076_SET_TAIL
0045 
0046 #undef i_
0047 
0048 #endif // BOOST_PP_IS_ITERATING