File indexing completed on 2025-01-18 09:33:19
0001
0002
0003
0004
0005
0006
0007 #if !defined(FUSION_LIST_TO_CONS_07172005_1041)
0008 #define FUSION_LIST_TO_CONS_07172005_1041
0009
0010 #include <boost/fusion/support/config.hpp>
0011 #include <boost/fusion/container/list/cons.hpp>
0012 #include <boost/fusion/container/list/detail/cpp03/limits.hpp>
0013 #include <boost/preprocessor/repetition/enum.hpp>
0014 #include <boost/preprocessor/repetition/enum_params.hpp>
0015 #include <boost/preprocessor/repetition/enum_shifted_params.hpp>
0016 #include <boost/preprocessor/arithmetic/dec.hpp>
0017
0018 #define FUSION_VOID(z, n, _) void_
0019
0020 namespace boost { namespace fusion
0021 {
0022 struct nil_;
0023 struct void_;
0024 }}
0025
0026 #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
0027 #include <boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp>
0028 #else
0029 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0030 #pragma wave option(preserve: 2, line: 0, output: "preprocessed/list_to_cons" FUSION_MAX_LIST_SIZE_STR ".hpp")
0031 #endif
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0043 #pragma wave option(preserve: 1)
0044 #endif
0045
0046 namespace boost { namespace fusion { namespace detail
0047 {
0048 template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_LIST_SIZE, typename T)>
0049 struct list_to_cons
0050 {
0051 typedef T0 head_type;
0052 typedef list_to_cons<
0053 BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_LIST_SIZE, T), void_>
0054 tail_list_to_cons;
0055 typedef typename tail_list_to_cons::type tail_type;
0056
0057 typedef cons<head_type, tail_type> type;
0058
0059 #include <boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp>
0060 };
0061
0062 template <>
0063 struct list_to_cons<BOOST_PP_ENUM(FUSION_MAX_LIST_SIZE, FUSION_VOID, _)>
0064 {
0065 typedef nil_ type;
0066 };
0067 }}}
0068
0069 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
0070 #pragma wave option(output: null)
0071 #endif
0072
0073 #endif
0074
0075 #undef FUSION_VOID
0076 #endif