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 {
11     struct void_;
12     struct fusion_sequence_tag;
13     template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
14     struct vector
15         : sequence_base<vector<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> >
16     {
17     private:
18         typedef typename detail::vector_n_chooser<
19             T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type
20         vector_n;
21         template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
22         friend struct vector;
23     public:
24         typedef typename vector_n::types types;
25         typedef typename vector_n::fusion_tag fusion_tag;
26         typedef typename vector_n::tag tag;
27         typedef typename vector_n::size size;
28         typedef typename vector_n::category category;
29         typedef typename vector_n::is_view is_view;
30         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector31         vector()
32             : vec() {}
33         template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
34         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector35         vector(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
36             : vec(rhs.vec) {}
37         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector38         vector(vector const& rhs)
39             : vec(rhs.vec) {}
40         template <typename Sequence>
41         BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector42         vector(Sequence const& rhs,
43             typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0)
44             : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {}
45 
46 
47 
48 
49 
50 
51 
52 
53 # if !defined(BOOST_CLANG)
54     BOOST_CONSTEXPR
55 # endif
56     BOOST_FUSION_GPU_ENABLED
57     explicit
vectorboost::fusion::vector58     vector(typename detail::call_param<T0 >::type arg0)
59         : vec(arg0) {}
60 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
61     template <typename U0>
62 
63 # if !defined(BOOST_CLANG)
64     BOOST_CXX14_CONSTEXPR
65 # endif
66     BOOST_FUSION_GPU_ENABLED
67     explicit
vectorboost::fusion::vector68     vector(U0 && arg0)
69         : vec(std::forward<U0>( arg0)) {}
70 # endif
71 
72 # if !defined(BOOST_CLANG)
73     BOOST_CONSTEXPR
74 # endif
75     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector76     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
77         : vec(arg0 , arg1) {}
78 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
79     template <typename U0 , typename U1>
80 
81 # if !defined(BOOST_CLANG)
82     BOOST_CXX14_CONSTEXPR
83 # endif
84     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector85     vector(U0 && arg0 , U1 && arg1)
86         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1)) {}
87 # endif
88 
89 # if !defined(BOOST_CLANG)
90     BOOST_CONSTEXPR
91 # endif
92     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector93     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
94         : vec(arg0 , arg1 , arg2) {}
95 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
96     template <typename U0 , typename U1 , typename U2>
97 
98 # if !defined(BOOST_CLANG)
99     BOOST_CXX14_CONSTEXPR
100 # endif
101     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector102     vector(U0 && arg0 , U1 && arg1 , U2 && arg2)
103         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2)) {}
104 # endif
105 
106 # if !defined(BOOST_CLANG)
107     BOOST_CONSTEXPR
108 # endif
109     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector110     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3)
111         : vec(arg0 , arg1 , arg2 , arg3) {}
112 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
113     template <typename U0 , typename U1 , typename U2 , typename U3>
114 
115 # if !defined(BOOST_CLANG)
116     BOOST_CXX14_CONSTEXPR
117 # endif
118     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector119     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3)
120         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3)) {}
121 # endif
122 
123 # if !defined(BOOST_CLANG)
124     BOOST_CONSTEXPR
125 # endif
126     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector127     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4)
128         : vec(arg0 , arg1 , arg2 , arg3 , arg4) {}
129 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
130     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
131 
132 # if !defined(BOOST_CLANG)
133     BOOST_CXX14_CONSTEXPR
134 # endif
135     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector136     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4)
137         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4)) {}
138 # endif
139 
140 # if !defined(BOOST_CLANG)
141     BOOST_CONSTEXPR
142 # endif
143     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector144     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5)
145         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
146 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
147     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
148 
149 # if !defined(BOOST_CLANG)
150     BOOST_CXX14_CONSTEXPR
151 # endif
152     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector153     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5)
154         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5)) {}
155 # endif
156 
157 # if !defined(BOOST_CLANG)
158     BOOST_CONSTEXPR
159 # endif
160     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector161     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6)
162         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
163 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
164     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
165 
166 # if !defined(BOOST_CLANG)
167     BOOST_CXX14_CONSTEXPR
168 # endif
169     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector170     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6)
171         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6)) {}
172 # endif
173 
174 # if !defined(BOOST_CLANG)
175     BOOST_CONSTEXPR
176 # endif
177     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector178     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7)
179         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
180 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
181     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
182 
183 # if !defined(BOOST_CLANG)
184     BOOST_CXX14_CONSTEXPR
185 # endif
186     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector187     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7)
188         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7)) {}
189 # endif
190 
191 # if !defined(BOOST_CLANG)
192     BOOST_CONSTEXPR
193 # endif
194     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector195     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8)
196         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
197 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
198     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
199 
200 # if !defined(BOOST_CLANG)
201     BOOST_CXX14_CONSTEXPR
202 # endif
203     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector204     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8)
205         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8)) {}
206 # endif
207 
208 # if !defined(BOOST_CLANG)
209     BOOST_CONSTEXPR
210 # endif
211     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector212     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9)
213         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
214 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
215     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
216 
217 # if !defined(BOOST_CLANG)
218     BOOST_CXX14_CONSTEXPR
219 # endif
220     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector221     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9)
222         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8) , std::forward<U9>( arg9)) {}
223 # endif
224 
225 # if !defined(BOOST_CLANG)
226     BOOST_CONSTEXPR
227 # endif
228     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector229     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10)
230         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {}
231 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
232     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
233 
234 # if !defined(BOOST_CLANG)
235     BOOST_CXX14_CONSTEXPR
236 # endif
237     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector238     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10)
239         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8) , std::forward<U9>( arg9) , std::forward<U10>( arg10)) {}
240 # endif
241 
242 # if !defined(BOOST_CLANG)
243     BOOST_CONSTEXPR
244 # endif
245     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector246     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11)
247         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {}
248 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
249     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11>
250 
251 # if !defined(BOOST_CLANG)
252     BOOST_CXX14_CONSTEXPR
253 # endif
254     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector255     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11)
256         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8) , std::forward<U9>( arg9) , std::forward<U10>( arg10) , std::forward<U11>( arg11)) {}
257 # endif
258 
259 # if !defined(BOOST_CLANG)
260     BOOST_CONSTEXPR
261 # endif
262     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector263     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12)
264         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {}
265 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
266     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12>
267 
268 # if !defined(BOOST_CLANG)
269     BOOST_CXX14_CONSTEXPR
270 # endif
271     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector272     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12)
273         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8) , std::forward<U9>( arg9) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12)) {}
274 # endif
275 
276 # if !defined(BOOST_CLANG)
277     BOOST_CONSTEXPR
278 # endif
279     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector280     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13)
281         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {}
282 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
283     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13>
284 
285 # if !defined(BOOST_CLANG)
286     BOOST_CXX14_CONSTEXPR
287 # endif
288     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector289     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13)
290         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8) , std::forward<U9>( arg9) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13)) {}
291 # endif
292 
293 # if !defined(BOOST_CLANG)
294     BOOST_CONSTEXPR
295 # endif
296     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector297     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14)
298         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {}
299 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
300     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14>
301 
302 # if !defined(BOOST_CLANG)
303     BOOST_CXX14_CONSTEXPR
304 # endif
305     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector306     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14)
307         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8) , std::forward<U9>( arg9) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14)) {}
308 # endif
309 
310 # if !defined(BOOST_CLANG)
311     BOOST_CONSTEXPR
312 # endif
313     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector314     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15)
315         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {}
316 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
317     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15>
318 
319 # if !defined(BOOST_CLANG)
320     BOOST_CXX14_CONSTEXPR
321 # endif
322     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector323     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15)
324         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8) , std::forward<U9>( arg9) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15)) {}
325 # endif
326 
327 # if !defined(BOOST_CLANG)
328     BOOST_CONSTEXPR
329 # endif
330     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector331     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16)
332         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {}
333 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
334     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16>
335 
336 # if !defined(BOOST_CLANG)
337     BOOST_CXX14_CONSTEXPR
338 # endif
339     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector340     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16)
341         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8) , std::forward<U9>( arg9) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15) , std::forward<U16>( arg16)) {}
342 # endif
343 
344 # if !defined(BOOST_CLANG)
345     BOOST_CONSTEXPR
346 # endif
347     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector348     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17)
349         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {}
350 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
351     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17>
352 
353 # if !defined(BOOST_CLANG)
354     BOOST_CXX14_CONSTEXPR
355 # endif
356     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector357     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17)
358         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8) , std::forward<U9>( arg9) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15) , std::forward<U16>( arg16) , std::forward<U17>( arg17)) {}
359 # endif
360 
361 # if !defined(BOOST_CLANG)
362     BOOST_CONSTEXPR
363 # endif
364     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector365     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18)
366         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {}
367 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
368     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18>
369 
370 # if !defined(BOOST_CLANG)
371     BOOST_CXX14_CONSTEXPR
372 # endif
373     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector374     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18)
375         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8) , std::forward<U9>( arg9) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15) , std::forward<U16>( arg16) , std::forward<U17>( arg17) , std::forward<U18>( arg18)) {}
376 # endif
377 
378 # if !defined(BOOST_CLANG)
379     BOOST_CONSTEXPR
380 # endif
381     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector382     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19)
383         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {}
384 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
385     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
386 
387 # if !defined(BOOST_CLANG)
388     BOOST_CXX14_CONSTEXPR
389 # endif
390     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector391     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19)
392         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5) , std::forward<U6>( arg6) , std::forward<U7>( arg7) , std::forward<U8>( arg8) , std::forward<U9>( arg9) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15) , std::forward<U16>( arg16) , std::forward<U17>( arg17) , std::forward<U18>( arg18) , std::forward<U19>( arg19)) {}
393 # endif
394         template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19>
395         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
396         vector&
operator =boost::fusion::vector397         operator=(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
398         {
399             vec = rhs.vec;
400             return *this;
401         }
402         template <typename T>
403         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
404         vector&
operator =boost::fusion::vector405         operator=(T const& rhs)
406         {
407             vec = rhs;
408             return *this;
409         }
410         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
411         vector&
operator =boost::fusion::vector412         operator=(vector const& rhs)
413         {
414             vec = rhs.vec;
415             return *this;
416         }
417 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
418         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector419         vector(vector&& rhs)
420             : vec(std::forward<vector_n>(rhs.vec)) {}
421         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
422         vector&
operator =boost::fusion::vector423         operator=(vector&& rhs)
424         {
425             vec = std::forward<vector_n>(rhs.vec);
426             return *this;
427         }
428         template <typename T>
429         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
430         vector&
operator =boost::fusion::vector431         operator=(T&& rhs)
432         {
433             vec = std::forward<T>( rhs);
434             return *this;
435         }
436 # endif
437         template <int N>
438         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
439         typename add_reference<
440             typename mpl::at_c<types, N>::type
441         >::type
at_implboost::fusion::vector442         at_impl(mpl::int_<N> index)
443         {
444             return vec.at_impl(index);
445         }
446         template <int N>
447         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
448         typename add_reference<
449             typename add_const<
450                 typename mpl::at_c<types, N>::type
451             >::type
452         >::type
at_implboost::fusion::vector453         at_impl(mpl::int_<N> index) const
454         {
455             return vec.at_impl(index);
456         }
457         template <typename I>
458         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
459         typename add_reference<
460             typename mpl::at<types, I>::type
461         >::type
at_implboost::fusion::vector462         at_impl(I )
463         {
464             return vec.at_impl(mpl::int_<I::value>());
465         }
466         template<typename I>
467         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
468         typename add_reference<
469             typename add_const<
470                 typename mpl::at<types, I>::type
471             >::type
472         >::type
at_implboost::fusion::vector473         at_impl(I ) const
474         {
475             return vec.at_impl(mpl::int_<I::value>());
476         }
477     private:
478         BOOST_FUSION_VECTOR_CTOR_HELPER()
479         vector_n vec;
480     };
481 }}
482