File indexing completed on 2025-01-18 09:41:40
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #if defined(BOOST_PP_IS_ITERATING)
0017
0018 #include <boost/preprocessor/enum_params.hpp>
0019 #include <boost/preprocessor/enum_shifted_params.hpp>
0020 #include <boost/preprocessor/dec.hpp>
0021 #include <boost/preprocessor/cat.hpp>
0022
0023 #define i BOOST_PP_FRAME_ITERATION(1)
0024
0025 #if i == 1
0026
0027 template<
0028 typename T
0029 , BOOST_PP_ENUM_PARAMS(i, T C)
0030 >
0031 struct list1_c
0032 : l_item<
0033 long_<1>
0034 , integral_c<T,C0>
0035 , l_end
0036 >
0037 {
0038 typedef list1_c type;
0039 typedef T value_type;
0040 };
0041
0042 #else
0043
0044 # define MPL_AUX_LIST_C_TAIL(list, i, C) \
0045 BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_PP_DEC(i)),_c)<T, \
0046 BOOST_PP_ENUM_SHIFTED_PARAMS(i, C) \
0047 > \
0048
0049
0050 template<
0051 typename T
0052 , BOOST_PP_ENUM_PARAMS(i, T C)
0053 >
0054 struct BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c)
0055 : l_item<
0056 long_<i>
0057 , integral_c<T,C0>
0058 , MPL_AUX_LIST_C_TAIL(list,i,C)
0059 >
0060 {
0061 typedef BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c) type;
0062 typedef T value_type;
0063 };
0064
0065 # undef MPL_AUX_LIST_C_TAIL
0066
0067 #endif
0068
0069 #undef i
0070
0071 #endif