Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/fusion/container/list/list.hpp @ 16:2665513ce2d3
Add boost headers
author | Chris Cannam |
---|---|
date | Tue, 05 Aug 2014 11:11:38 +0100 |
parents | |
children | c530137014c0 |
comparison
equal
deleted
inserted
replaced
15:663ca0da4350 | 16:2665513ce2d3 |
---|---|
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_07172005_1153) | |
8 #define FUSION_LIST_07172005_1153 | |
9 | |
10 #include <boost/fusion/container/list/list_fwd.hpp> | |
11 #include <boost/fusion/container/list/detail/list_to_cons.hpp> | |
12 | |
13 #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) | |
14 #include <boost/fusion/container/list/detail/preprocessed/list.hpp> | |
15 #else | |
16 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) | |
17 #pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/list" FUSION_MAX_LIST_SIZE_STR ".hpp") | |
18 #endif | |
19 | |
20 /*============================================================================= | |
21 Copyright (c) 2001-2011 Joel de Guzman | |
22 | |
23 Distributed under the Boost Software License, Version 1.0. (See accompanying | |
24 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
25 | |
26 This is an auto-generated file. Do not edit! | |
27 ==============================================================================*/ | |
28 | |
29 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) | |
30 #pragma wave option(preserve: 1) | |
31 #endif | |
32 | |
33 namespace boost { namespace fusion | |
34 { | |
35 struct nil_; | |
36 struct void_; | |
37 | |
38 template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_LIST_SIZE, typename T)> | |
39 struct list | |
40 : detail::list_to_cons<BOOST_PP_ENUM_PARAMS(FUSION_MAX_LIST_SIZE, T)>::type | |
41 { | |
42 private: | |
43 typedef | |
44 detail::list_to_cons<BOOST_PP_ENUM_PARAMS(FUSION_MAX_LIST_SIZE, T)> | |
45 list_to_cons; | |
46 | |
47 public: | |
48 typedef typename list_to_cons::type inherited_type; | |
49 | |
50 list() | |
51 : inherited_type() {} | |
52 | |
53 template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_LIST_SIZE, typename U)> | |
54 list(list<BOOST_PP_ENUM_PARAMS(FUSION_MAX_LIST_SIZE, U)> const& rhs) | |
55 : inherited_type(rhs) {} | |
56 | |
57 template <typename Sequence> | |
58 list(Sequence const& rhs) | |
59 : inherited_type(rhs) {} | |
60 | |
61 // Expand a couple of forwarding constructors for arguments | |
62 // of type (T0), (T0, T1), (T0, T1, T2) etc. Exanple: | |
63 // | |
64 // list( | |
65 // typename detail::call_param<T0>::type _0 | |
66 // , typename detail::call_param<T1>::type _1) | |
67 // : inherited_type(list_to_cons::call(_0, _1)) {} | |
68 #include <boost/fusion/container/list/detail/list_forward_ctor.hpp> | |
69 | |
70 template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_LIST_SIZE, typename U)> | |
71 list& | |
72 operator=(list<BOOST_PP_ENUM_PARAMS(FUSION_MAX_LIST_SIZE, U)> const& rhs) | |
73 { | |
74 inherited_type::operator=(rhs); | |
75 return *this; | |
76 } | |
77 | |
78 template <typename T> | |
79 list& | |
80 operator=(T const& rhs) | |
81 { | |
82 inherited_type::operator=(rhs); | |
83 return *this; | |
84 } | |
85 }; | |
86 }} | |
87 | |
88 #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) | |
89 #pragma wave option(output: null) | |
90 #endif | |
91 | |
92 #endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES | |
93 | |
94 #endif |