]> git.lyx.org Git - lyx.git/blob - 3rdparty/boost/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp
Update to boost 1.72
[lyx.git] / 3rdparty / boost / boost / fusion / container / list / detail / cpp03 / list_to_cons.hpp
1 /*=============================================================================
2     Copyright (c) 2001-2011 Joel de Guzman
3
4     Distributed under the Boost Software License, Version 1.0. (See accompanying
5     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 ==============================================================================*/
7 #if !defined(FUSION_LIST_TO_CONS_07172005_1041)
8 #define FUSION_LIST_TO_CONS_07172005_1041
9
10 #include <boost/fusion/support/config.hpp>
11 #include <boost/fusion/container/list/cons.hpp>
12 #include <boost/fusion/container/list/detail/cpp03/limits.hpp>
13 #include <boost/preprocessor/repetition/enum.hpp>
14 #include <boost/preprocessor/repetition/enum_params.hpp>
15 #include <boost/preprocessor/repetition/enum_shifted_params.hpp>
16 #include <boost/preprocessor/arithmetic/dec.hpp>
17
18 #define FUSION_VOID(z, n, _) void_
19
20 namespace boost { namespace fusion
21 {
22     struct nil_;
23     struct void_;
24 }}
25
26 #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
27 #include <boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp>
28 #else
29 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
30 #pragma wave option(preserve: 2, line: 0, output: "preprocessed/list_to_cons" FUSION_MAX_LIST_SIZE_STR ".hpp")
31 #endif
32
33 /*=============================================================================
34     Copyright (c) 2001-2011 Joel de Guzman
35
36     Distributed under the Boost Software License, Version 1.0. (See accompanying
37     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
38
39     This is an auto-generated file. Do not edit!
40 ==============================================================================*/
41
42 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
43 #pragma wave option(preserve: 1)
44 #endif
45
46 namespace boost { namespace fusion { namespace detail
47 {
48     template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_LIST_SIZE, typename T)>
49     struct list_to_cons
50     {
51         typedef T0 head_type;
52         typedef list_to_cons<
53             BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_LIST_SIZE, T), void_>
54         tail_list_to_cons;
55         typedef typename tail_list_to_cons::type tail_type;
56
57         typedef cons<head_type, tail_type> type;
58
59         #include <boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp>
60     };
61
62     template <>
63     struct list_to_cons<BOOST_PP_ENUM(FUSION_MAX_LIST_SIZE, FUSION_VOID, _)>
64     {
65         typedef nil_ type;
66     };
67 }}}
68
69 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)
70 #pragma wave option(output: null)
71 #endif
72
73 #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES
74
75 #undef FUSION_VOID
76 #endif