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 enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
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         , typename boost::disable_if_c<boost::is_same<vector, typename boost::remove_cv_ref<U0>::type>::value, detail::enabler_>::type = detail::enabler
70         )
71         : vec(std::forward<U0>( arg0)) {}
72 # endif
73 
74 # if !defined(BOOST_CLANG)
75     BOOST_CONSTEXPR
76 # endif
77     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector78     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
79         : vec(arg0 , arg1) {}
80 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
81     template <typename U0 , typename U1>
82 
83 # if !defined(BOOST_CLANG)
84     BOOST_CXX14_CONSTEXPR
85 # endif
86     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector87     vector(U0 && arg0 , U1 && arg1
88         )
89         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1)) {}
90 # endif
91 
92 # if !defined(BOOST_CLANG)
93     BOOST_CONSTEXPR
94 # endif
95     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector96     vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
97         : vec(arg0 , arg1 , arg2) {}
98 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
99     template <typename U0 , typename U1 , typename U2>
100 
101 # if !defined(BOOST_CLANG)
102     BOOST_CXX14_CONSTEXPR
103 # endif
104     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector105     vector(U0 && arg0 , U1 && arg1 , U2 && arg2
106         )
107         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2)) {}
108 # endif
109 
110 # if !defined(BOOST_CLANG)
111     BOOST_CONSTEXPR
112 # endif
113     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector114     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)
115         : vec(arg0 , arg1 , arg2 , arg3) {}
116 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
117     template <typename U0 , typename U1 , typename U2 , typename U3>
118 
119 # if !defined(BOOST_CLANG)
120     BOOST_CXX14_CONSTEXPR
121 # endif
122     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector123     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3
124         )
125         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3)) {}
126 # endif
127 
128 # if !defined(BOOST_CLANG)
129     BOOST_CONSTEXPR
130 # endif
131     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector132     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)
133         : vec(arg0 , arg1 , arg2 , arg3 , arg4) {}
134 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
135     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
136 
137 # if !defined(BOOST_CLANG)
138     BOOST_CXX14_CONSTEXPR
139 # endif
140     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector141     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4
142         )
143         : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4)) {}
144 # endif
145 
146 # if !defined(BOOST_CLANG)
147     BOOST_CONSTEXPR
148 # endif
149     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector150     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)
151         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
152 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
153     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
154 
155 # if !defined(BOOST_CLANG)
156     BOOST_CXX14_CONSTEXPR
157 # endif
158     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector159     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5
160         )
161         : 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)) {}
162 # endif
163 
164 # if !defined(BOOST_CLANG)
165     BOOST_CONSTEXPR
166 # endif
167     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector168     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)
169         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
170 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
171     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
172 
173 # if !defined(BOOST_CLANG)
174     BOOST_CXX14_CONSTEXPR
175 # endif
176     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector177     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6
178         )
179         : 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)) {}
180 # endif
181 
182 # if !defined(BOOST_CLANG)
183     BOOST_CONSTEXPR
184 # endif
185     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector186     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)
187         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
188 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
189     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
190 
191 # if !defined(BOOST_CLANG)
192     BOOST_CXX14_CONSTEXPR
193 # endif
194     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector195     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7
196         )
197         : 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)) {}
198 # endif
199 
200 # if !defined(BOOST_CLANG)
201     BOOST_CONSTEXPR
202 # endif
203     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector204     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)
205         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
206 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
207     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
208 
209 # if !defined(BOOST_CLANG)
210     BOOST_CXX14_CONSTEXPR
211 # endif
212     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector213     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8
214         )
215         : 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)) {}
216 # endif
217 
218 # if !defined(BOOST_CLANG)
219     BOOST_CONSTEXPR
220 # endif
221     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector222     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)
223         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
224 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
225     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
226 
227 # if !defined(BOOST_CLANG)
228     BOOST_CXX14_CONSTEXPR
229 # endif
230     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector231     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9
232         )
233         : 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)) {}
234 # endif
235 
236 # if !defined(BOOST_CLANG)
237     BOOST_CONSTEXPR
238 # endif
239     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector240     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)
241         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {}
242 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
243     template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10>
244 
245 # if !defined(BOOST_CLANG)
246     BOOST_CXX14_CONSTEXPR
247 # endif
248     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector249     vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10
250         )
251         : 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)) {}
252 # endif
253 
254 # if !defined(BOOST_CLANG)
255     BOOST_CONSTEXPR
256 # endif
257     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector258     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)
259         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {}
260 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
261     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>
262 
263 # if !defined(BOOST_CLANG)
264     BOOST_CXX14_CONSTEXPR
265 # endif
266     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector267     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
268         )
269         : 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)) {}
270 # endif
271 
272 # if !defined(BOOST_CLANG)
273     BOOST_CONSTEXPR
274 # endif
275     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector276     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)
277         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {}
278 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
279     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>
280 
281 # if !defined(BOOST_CLANG)
282     BOOST_CXX14_CONSTEXPR
283 # endif
284     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector285     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
286         )
287         : 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)) {}
288 # endif
289 
290 # if !defined(BOOST_CLANG)
291     BOOST_CONSTEXPR
292 # endif
293     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector294     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)
295         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {}
296 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
297     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>
298 
299 # if !defined(BOOST_CLANG)
300     BOOST_CXX14_CONSTEXPR
301 # endif
302     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector303     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
304         )
305         : 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)) {}
306 # endif
307 
308 # if !defined(BOOST_CLANG)
309     BOOST_CONSTEXPR
310 # endif
311     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector312     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)
313         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {}
314 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
315     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>
316 
317 # if !defined(BOOST_CLANG)
318     BOOST_CXX14_CONSTEXPR
319 # endif
320     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector321     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
322         )
323         : 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)) {}
324 # endif
325 
326 # if !defined(BOOST_CLANG)
327     BOOST_CONSTEXPR
328 # endif
329     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector330     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)
331         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {}
332 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
333     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>
334 
335 # if !defined(BOOST_CLANG)
336     BOOST_CXX14_CONSTEXPR
337 # endif
338     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector339     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
340         )
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)) {}
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)
349         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {}
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>
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
358         )
359         : 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)) {}
360 # endif
361 
362 # if !defined(BOOST_CLANG)
363     BOOST_CONSTEXPR
364 # endif
365     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector366     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)
367         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {}
368 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
369     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>
370 
371 # if !defined(BOOST_CLANG)
372     BOOST_CXX14_CONSTEXPR
373 # endif
374     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector375     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
376         )
377         : 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)) {}
378 # endif
379 
380 # if !defined(BOOST_CLANG)
381     BOOST_CONSTEXPR
382 # endif
383     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector384     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)
385         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {}
386 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
387     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>
388 
389 # if !defined(BOOST_CLANG)
390     BOOST_CXX14_CONSTEXPR
391 # endif
392     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector393     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
394         )
395         : 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)) {}
396 # endif
397 
398 # if !defined(BOOST_CLANG)
399     BOOST_CONSTEXPR
400 # endif
401     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector402     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)
403         : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {}
404 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
405     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>
406 
407 # if !defined(BOOST_CLANG)
408     BOOST_CXX14_CONSTEXPR
409 # endif
410     BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector411     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
412         )
413         : 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)) {}
414 # endif
415         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>
416         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
417         vector&
operator =boost::fusion::vector418         operator=(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs)
419         {
420             vec = rhs.vec;
421             return *this;
422         }
423         template <typename T>
424         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
425         vector&
operator =boost::fusion::vector426         operator=(T const& rhs)
427         {
428             vec = rhs;
429             return *this;
430         }
431         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
432         vector&
operator =boost::fusion::vector433         operator=(vector const& rhs)
434         {
435             vec = rhs.vec;
436             return *this;
437         }
438 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
439         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
vectorboost::fusion::vector440         vector(vector&& rhs)
441             : vec(std::forward<vector_n>(rhs.vec)) {}
442         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
443         vector&
operator =boost::fusion::vector444         operator=(vector&& rhs)
445         {
446             vec = std::forward<vector_n>(rhs.vec);
447             return *this;
448         }
449         template <typename T>
450         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
451         typename boost::disable_if_c<
452             boost::is_same<vector, typename boost::remove_cv_ref<T>::type>::value
453           , vector&
454         >::type
operator =boost::fusion::vector455         operator=(T&& rhs)
456         {
457             vec = std::forward<T>( rhs);
458             return *this;
459         }
460 # endif
461         template <int N>
462         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
463         typename add_reference<
464             typename mpl::at_c<types, N>::type
465         >::type
at_implboost::fusion::vector466         at_impl(mpl::int_<N> index)
467         {
468             return vec.at_impl(index);
469         }
470         template <int N>
471         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
472         typename add_reference<
473             typename add_const<
474                 typename mpl::at_c<types, N>::type
475             >::type
476         >::type
at_implboost::fusion::vector477         at_impl(mpl::int_<N> index) const
478         {
479             return vec.at_impl(index);
480         }
481         template <typename I>
482         BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
483         typename add_reference<
484             typename mpl::at<types, I>::type
485         >::type
at_implboost::fusion::vector486         at_impl(I )
487         {
488             return vec.at_impl(mpl::int_<I::value>());
489         }
490         template<typename I>
491         BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
492         typename add_reference<
493             typename add_const<
494                 typename mpl::at<types, I>::type
495             >::type
496         >::type
at_implboost::fusion::vector497         at_impl(I ) const
498         {
499             return vec.at_impl(mpl::int_<I::value>());
500         }
501     private:
502         BOOST_FUSION_VECTOR_CTOR_HELPER()
503         vector_n vec;
504     };
505 }}
506