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