]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | This is an auto-generated file. Do not edit! | |
8 | ==============================================================================*/ | |
9 | namespace boost { namespace fusion { | |
10 | struct deque_tag; | |
11 | template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> | |
12 | struct deque | |
13 | : | |
14 | detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type, | |
15 | sequence_base<deque<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> > | |
16 | { | |
17 | typedef deque_tag fusion_tag; | |
18 | typedef bidirectional_traversal_tag category; | |
19 | typedef typename detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type base; | |
20 | typedef typename detail::deque_initial_size<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type size; | |
21 | typedef mpl::int_<size::value> next_up; | |
22 | typedef mpl::int_<-1> next_down; | |
23 | typedef mpl::false_ is_view; | |
24 | # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
25 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
26 | deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1) | |
27 | : base(detail::deque_keyed_values<T0 , T1>::construct(t0 , t1)) | |
28 | {} | |
29 | # endif | |
30 | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
31 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
32 | deque(T0 const& t0 , T1 const& t1) | |
33 | : base(detail::deque_keyed_values<T0 , T1>::construct(t0 , t1)) | |
34 | {} | |
35 | template <typename T_0 , typename T_1> | |
36 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
37 | deque(T_0 && t0 , T_1 && t1) | |
38 | : base(detail::deque_keyed_values<T0 , T1>:: | |
39 | forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1))) | |
40 | {} | |
41 | # endif | |
42 | # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
43 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
44 | deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2) | |
45 | : base(detail::deque_keyed_values<T0 , T1 , T2>::construct(t0 , t1 , t2)) | |
46 | {} | |
47 | # endif | |
48 | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
49 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
50 | deque(T0 const& t0 , T1 const& t1 , T2 const& t2) | |
51 | : base(detail::deque_keyed_values<T0 , T1 , T2>::construct(t0 , t1 , t2)) | |
52 | {} | |
53 | template <typename T_0 , typename T_1 , typename T_2> | |
54 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
55 | deque(T_0 && t0 , T_1 && t1 , T_2 && t2) | |
56 | : base(detail::deque_keyed_values<T0 , T1 , T2>:: | |
57 | forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2))) | |
58 | {} | |
59 | # endif | |
60 | # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
61 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
62 | deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3) | |
63 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3>::construct(t0 , t1 , t2 , t3)) | |
64 | {} | |
65 | # endif | |
66 | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
67 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
68 | deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) | |
69 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3>::construct(t0 , t1 , t2 , t3)) | |
70 | {} | |
71 | template <typename T_0 , typename T_1 , typename T_2 , typename T_3> | |
72 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
73 | deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) | |
74 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3>:: | |
75 | forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3))) | |
76 | {} | |
77 | # endif | |
78 | # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
79 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
80 | deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4) | |
81 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4>::construct(t0 , t1 , t2 , t3 , t4)) | |
82 | {} | |
83 | # endif | |
84 | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
85 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
86 | deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) | |
87 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4>::construct(t0 , t1 , t2 , t3 , t4)) | |
88 | {} | |
89 | template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4> | |
90 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
91 | deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) | |
92 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4>:: | |
93 | forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4))) | |
94 | {} | |
95 | # endif | |
96 | # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
97 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
98 | deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5) | |
99 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5>::construct(t0 , t1 , t2 , t3 , t4 , t5)) | |
100 | {} | |
101 | # endif | |
102 | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
103 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
104 | deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) | |
105 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5>::construct(t0 , t1 , t2 , t3 , t4 , t5)) | |
106 | {} | |
107 | template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5> | |
108 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
109 | deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) | |
110 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5>:: | |
111 | forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5))) | |
112 | {} | |
113 | # endif | |
114 | # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
115 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
116 | deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6) | |
117 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) | |
118 | {} | |
119 | # endif | |
120 | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
121 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
122 | deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) | |
123 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) | |
124 | {} | |
125 | template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6> | |
126 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
127 | deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) | |
128 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6>:: | |
129 | forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6))) | |
130 | {} | |
131 | # endif | |
132 | # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
133 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
134 | deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6 , typename detail::call_param<T7 >::type t7) | |
135 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) | |
136 | {} | |
137 | # endif | |
138 | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
139 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
140 | deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) | |
141 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) | |
142 | {} | |
143 | template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6 , typename T_7> | |
144 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
145 | deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) | |
146 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7>:: | |
147 | forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6) , std::forward<T_7>( t7))) | |
148 | {} | |
149 | # endif | |
150 | # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
151 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
152 | deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6 , typename detail::call_param<T7 >::type t7 , typename detail::call_param<T8 >::type t8) | |
153 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) | |
154 | {} | |
155 | # endif | |
156 | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
157 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
158 | deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) | |
159 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) | |
160 | {} | |
161 | template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6 , typename T_7 , typename T_8> | |
162 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
163 | deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) | |
164 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8>:: | |
165 | forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6) , std::forward<T_7>( t7) , std::forward<T_8>( t8))) | |
166 | {} | |
167 | # endif | |
168 | # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
169 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
170 | deque(typename detail::call_param<T0 >::type t0 , typename detail::call_param<T1 >::type t1 , typename detail::call_param<T2 >::type t2 , typename detail::call_param<T3 >::type t3 , typename detail::call_param<T4 >::type t4 , typename detail::call_param<T5 >::type t5 , typename detail::call_param<T6 >::type t6 , typename detail::call_param<T7 >::type t7 , typename detail::call_param<T8 >::type t8 , typename detail::call_param<T9 >::type t9) | |
171 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) | |
172 | {} | |
173 | # endif | |
174 | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
175 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
176 | deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) | |
177 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) | |
178 | {} | |
179 | template <typename T_0 , typename T_1 , typename T_2 , typename T_3 , typename T_4 , typename T_5 , typename T_6 , typename T_7 , typename T_8 , typename T_9> | |
180 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
181 | deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) | |
182 | : base(detail::deque_keyed_values<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>:: | |
183 | forward_(std::forward<T_0>( t0) , std::forward<T_1>( t1) , std::forward<T_2>( t2) , std::forward<T_3>( t3) , std::forward<T_4>( t4) , std::forward<T_5>( t5) , std::forward<T_6>( t6) , std::forward<T_7>( t7) , std::forward<T_8>( t8) , std::forward<T_9>( t9))) | |
184 | {} | |
185 | # endif | |
186 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
187 | deque() | |
188 | {} | |
189 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
190 | explicit deque(typename detail::call_param<T0>::type t0) | |
191 | : base(t0, detail::nil_keyed_element()) | |
192 | {} | |
193 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
194 | explicit deque(deque const& rhs) | |
195 | : base(rhs) | |
196 | {} | |
197 | template<typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9> | |
198 | BOOST_FUSION_GPU_ENABLED | |
199 | deque(deque<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& seq) | |
200 | : base(seq) | |
201 | {} | |
202 | template<typename Sequence> | |
203 | BOOST_FUSION_GPU_ENABLED | |
204 | deque(Sequence const& seq | |
205 | , typename disable_if<is_convertible<Sequence, T0>, detail::enabler_>::type = detail::enabler | |
206 | , typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler) | |
207 | : base(base::from_iterator(fusion::begin(seq))) | |
208 | {} | |
209 | template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9> | |
210 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
211 | deque& | |
212 | operator=(deque<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& rhs) | |
213 | { | |
214 | base::operator=(rhs); | |
215 | return *this; | |
216 | } | |
217 | template <typename T> | |
218 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
219 | deque& | |
220 | operator=(T const& rhs) | |
221 | { | |
222 | base::operator=(rhs); | |
223 | return *this; | |
224 | } | |
225 | # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) | |
226 | template <typename T0_> | |
227 | BOOST_FUSION_GPU_ENABLED | |
228 | explicit deque(T0_&& t0 | |
229 | , typename enable_if<is_convertible<T0_, T0>, detail::enabler_>::type = detail::enabler | |
230 | ) | |
231 | : base(std::forward<T0_>( t0), detail::nil_keyed_element()) | |
232 | {} | |
233 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
234 | explicit deque(deque&& rhs) | |
235 | : base(std::forward<deque>(rhs)) | |
236 | {} | |
237 | template<typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9> | |
238 | BOOST_FUSION_GPU_ENABLED | |
239 | deque(deque<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9>&& seq | |
240 | , typename disable_if< | |
241 | is_convertible<deque<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9>, T0> | |
242 | , detail::enabler_ | |
243 | >::type = detail::enabler) | |
244 | : base(std::forward<deque<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9>>(seq)) | |
245 | {} | |
246 | template <typename T> | |
247 | BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
248 | deque& | |
249 | operator=(T&& rhs) | |
250 | { | |
251 | base::operator=(std::forward<T>( rhs)); | |
252 | return *this; | |
253 | } | |
254 | # endif | |
255 | }; | |
256 | template <> | |
257 | struct deque<> : detail::nil_keyed_element | |
258 | { | |
259 | typedef deque_tag fusion_tag; | |
260 | typedef bidirectional_traversal_tag category; | |
261 | typedef mpl::int_<0> size; | |
262 | typedef mpl::int_<0> next_up; | |
263 | typedef mpl::int_<-1> next_down; | |
264 | typedef mpl::false_ is_view; | |
265 | template <typename Sequence> | |
266 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
267 | deque(Sequence const&, | |
268 | typename enable_if< | |
269 | mpl::and_< | |
270 | traits::is_sequence<Sequence> | |
271 | , result_of::empty<Sequence> >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT | |
272 | {} | |
273 | BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
274 | deque() BOOST_NOEXCEPT {} | |
275 | }; | |
276 | }} |