1 /*=============================================================================
2 Copyright (c) 2001-2011 Joel de Guzman
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)
7 This is an auto-generated file. Do not edit!
8 ==============================================================================*/
9 namespace boost { namespace fusion
12 struct fusion_sequence_tag;
13 struct random_access_traversal_tag;
14 template <typename T0>
17 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
20 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
21 template <typename U0>
22 # if !defined(BOOST_CLANG)
25 BOOST_FUSION_GPU_ENABLED
26 vector_data1(U0 && arg0
27 , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
29 : m0(std::forward<U0>( arg0)) {}
30 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
33 : m0(std::forward<T0>( other.m0)) {}
35 # if !defined(BOOST_CLANG)
38 BOOST_FUSION_GPU_ENABLED
40 typename detail::call_param<T0 >::type arg0)
42 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
44 vector_data1 const& other)
46 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
48 operator=(vector_data1 const& vec)
53 template <typename Sequence>
54 # if !defined(BOOST_CLANG)
57 BOOST_FUSION_GPU_ENABLED
59 init_from_sequence(Sequence const& seq)
61 typedef typename result_of::begin<Sequence const>::type I0;
62 I0 i0 = fusion::begin(seq);
64 return vector_data1(*i0);
66 template <typename Sequence>
67 # if !defined(BOOST_CLANG)
70 BOOST_FUSION_GPU_ENABLED
72 init_from_sequence(Sequence& seq)
74 typedef typename result_of::begin<Sequence>::type I0;
75 I0 i0 = fusion::begin(seq);
77 return vector_data1(*i0);
81 template <typename T0>
84 , sequence_base<vector1<T0> >
86 typedef vector1<T0> this_type;
87 typedef vector_data1<T0> base_type;
88 typedef mpl::vector1<T0> types;
89 typedef vector_tag fusion_tag;
90 typedef fusion_sequence_tag tag;
91 typedef mpl::false_ is_view;
92 typedef random_access_traversal_tag category;
93 typedef mpl::int_<1> size;
94 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
96 # if !defined(BOOST_CLANG)
99 BOOST_FUSION_GPU_ENABLED
102 typename detail::call_param<T0 >::type arg0)
104 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
105 template <typename U0>
106 # if !defined(BOOST_CLANG)
107 BOOST_CXX14_CONSTEXPR
109 BOOST_FUSION_GPU_ENABLED
112 , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
114 : base_type(std::forward<U0>( _0)) {}
115 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
116 vector1(vector1&& rhs)
117 : base_type(std::forward<base_type>(rhs)) {}
118 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
119 vector1(vector1 const& rhs)
120 : base_type(static_cast<base_type const&>(rhs)) {}
121 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
123 operator=(vector1 const& vec)
125 base_type::operator=(vec);
128 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
130 operator=(vector1&& vec)
132 this->m0 = std::forward< T0>(vec.m0);
136 template <typename U0>
137 # if !defined(BOOST_CLANG)
138 BOOST_CXX14_CONSTEXPR
140 BOOST_FUSION_GPU_ENABLED
142 vector1<U0> const& vec)
143 : base_type(vec.m0) {}
144 template <typename Sequence>
145 # if !defined(BOOST_CLANG)
146 BOOST_CXX14_CONSTEXPR
148 BOOST_FUSION_GPU_ENABLED
151 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
152 , typename boost::disable_if<is_convertible<Sequence, T0> >::type* = 0
154 : base_type(base_type::init_from_sequence(seq)) {}
155 template <typename Sequence>
156 # if !defined(BOOST_CLANG)
157 BOOST_CXX14_CONSTEXPR
159 BOOST_FUSION_GPU_ENABLED
162 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
163 , typename boost::disable_if<is_convertible<Sequence, T0> >::type* = 0
165 : base_type(base_type::init_from_sequence(seq)) {}
166 template <typename U0>
167 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
169 operator=(vector1<U0> const& vec)
174 template <typename Sequence>
175 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
176 typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
177 operator=(Sequence const& seq)
179 typedef typename result_of::begin<Sequence const>::type I0;
180 I0 i0 = fusion::begin(seq);
185 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; }
187 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
188 typename add_reference<typename mpl::at<types, I>::type>::type
191 return this->at_impl(mpl::int_<I::value>());
194 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
195 typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
198 return this->at_impl(mpl::int_<I::value>());
201 template <typename T0 , typename T1>
204 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
207 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
208 template <typename U0 , typename U1>
209 # if !defined(BOOST_CLANG)
210 BOOST_CXX14_CONSTEXPR
212 BOOST_FUSION_GPU_ENABLED
213 vector_data2(U0 && arg0 , U1 && arg1
214 , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
216 : m0(std::forward<U0>( arg0)) , m1(std::forward<U1>( arg1)) {}
217 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
219 vector_data2&& other)
220 : m0(std::forward<T0>( other.m0)) , m1(std::forward<T1>( other.m1)) {}
222 # if !defined(BOOST_CLANG)
225 BOOST_FUSION_GPU_ENABLED
227 typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
228 : m0(arg0) , m1(arg1) {}
229 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
231 vector_data2 const& other)
232 : m0(other.m0) , m1(other.m1) {}
233 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
235 operator=(vector_data2 const& vec)
237 this->m0 = vec.m0; this->m1 = vec.m1;
240 template <typename Sequence>
241 # if !defined(BOOST_CLANG)
242 BOOST_CXX14_CONSTEXPR
244 BOOST_FUSION_GPU_ENABLED
246 init_from_sequence(Sequence const& seq)
248 typedef typename result_of::begin<Sequence const>::type I0;
249 I0 i0 = fusion::begin(seq);
250 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0);
251 return vector_data2(*i0 , *i1);
253 template <typename Sequence>
254 # if !defined(BOOST_CLANG)
255 BOOST_CXX14_CONSTEXPR
257 BOOST_FUSION_GPU_ENABLED
259 init_from_sequence(Sequence& seq)
261 typedef typename result_of::begin<Sequence>::type I0;
262 I0 i0 = fusion::begin(seq);
263 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0);
264 return vector_data2(*i0 , *i1);
268 template <typename T0 , typename T1>
270 : vector_data2<T0 , T1>
271 , sequence_base<vector2<T0 , T1> >
273 typedef vector2<T0 , T1> this_type;
274 typedef vector_data2<T0 , T1> base_type;
275 typedef mpl::vector2<T0 , T1> types;
276 typedef vector_tag fusion_tag;
277 typedef fusion_sequence_tag tag;
278 typedef mpl::false_ is_view;
279 typedef random_access_traversal_tag category;
280 typedef mpl::int_<2> size;
281 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
283 # if !defined(BOOST_CLANG)
286 BOOST_FUSION_GPU_ENABLED
288 typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
289 : base_type(arg0 , arg1) {}
290 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
291 template <typename U0 , typename U1>
292 # if !defined(BOOST_CLANG)
293 BOOST_CXX14_CONSTEXPR
295 BOOST_FUSION_GPU_ENABLED
296 vector2(U0 && arg0 , U1 && arg1)
297 : base_type(std::forward<U0>( arg0) , std::forward<U1>( arg1)) {}
298 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
299 vector2(vector2&& rhs)
300 : base_type(std::forward<base_type>(rhs)) {}
301 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
302 vector2(vector2 const& rhs)
303 : base_type(static_cast<base_type const&>(rhs)) {}
304 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
306 operator=(vector2 const& vec)
308 base_type::operator=(vec);
311 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
313 operator=(vector2&& vec)
315 this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1);
319 template <typename U0 , typename U1>
320 # if !defined(BOOST_CLANG)
321 BOOST_CXX14_CONSTEXPR
323 BOOST_FUSION_GPU_ENABLED
325 vector2<U0 , U1> const& vec)
326 : base_type(vec.m0 , vec.m1) {}
327 template <typename Sequence>
328 # if !defined(BOOST_CLANG)
329 BOOST_CXX14_CONSTEXPR
331 BOOST_FUSION_GPU_ENABLED
334 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
336 : base_type(base_type::init_from_sequence(seq)) {}
337 template <typename Sequence>
338 # if !defined(BOOST_CLANG)
339 BOOST_CXX14_CONSTEXPR
341 BOOST_FUSION_GPU_ENABLED
344 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
346 : base_type(base_type::init_from_sequence(seq)) {}
347 template <typename U0 , typename U1>
348 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
350 operator=(vector2<U0 , U1> const& vec)
352 this->m0 = vec.m0; this->m1 = vec.m1;
355 template <typename Sequence>
356 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
357 typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
358 operator=(Sequence const& seq)
360 typedef typename result_of::begin<Sequence const>::type I0;
361 I0 i0 = fusion::begin(seq);
362 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0);
363 this->m0 = *i0; this->m1 = *i1;
366 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; }
368 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
369 typename add_reference<typename mpl::at<types, I>::type>::type
372 return this->at_impl(mpl::int_<I::value>());
375 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
376 typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
379 return this->at_impl(mpl::int_<I::value>());
382 template <typename T0 , typename T1 , typename T2>
385 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
387 : m0() , m1() , m2() {}
388 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
389 template <typename U0 , typename U1 , typename U2>
390 # if !defined(BOOST_CLANG)
391 BOOST_CXX14_CONSTEXPR
393 BOOST_FUSION_GPU_ENABLED
394 vector_data3(U0 && arg0 , U1 && arg1 , U2 && arg2
395 , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
397 : m0(std::forward<U0>( arg0)) , m1(std::forward<U1>( arg1)) , m2(std::forward<U2>( arg2)) {}
398 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
400 vector_data3&& other)
401 : m0(std::forward<T0>( other.m0)) , m1(std::forward<T1>( other.m1)) , m2(std::forward<T2>( other.m2)) {}
403 # if !defined(BOOST_CLANG)
406 BOOST_FUSION_GPU_ENABLED
408 typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
409 : m0(arg0) , m1(arg1) , m2(arg2) {}
410 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
412 vector_data3 const& other)
413 : m0(other.m0) , m1(other.m1) , m2(other.m2) {}
414 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
416 operator=(vector_data3 const& vec)
418 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2;
421 template <typename Sequence>
422 # if !defined(BOOST_CLANG)
423 BOOST_CXX14_CONSTEXPR
425 BOOST_FUSION_GPU_ENABLED
427 init_from_sequence(Sequence const& seq)
429 typedef typename result_of::begin<Sequence const>::type I0;
430 I0 i0 = fusion::begin(seq);
431 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1);
432 return vector_data3(*i0 , *i1 , *i2);
434 template <typename Sequence>
435 # if !defined(BOOST_CLANG)
436 BOOST_CXX14_CONSTEXPR
438 BOOST_FUSION_GPU_ENABLED
440 init_from_sequence(Sequence& seq)
442 typedef typename result_of::begin<Sequence>::type I0;
443 I0 i0 = fusion::begin(seq);
444 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1);
445 return vector_data3(*i0 , *i1 , *i2);
449 template <typename T0 , typename T1 , typename T2>
451 : vector_data3<T0 , T1 , T2>
452 , sequence_base<vector3<T0 , T1 , T2> >
454 typedef vector3<T0 , T1 , T2> this_type;
455 typedef vector_data3<T0 , T1 , T2> base_type;
456 typedef mpl::vector3<T0 , T1 , T2> types;
457 typedef vector_tag fusion_tag;
458 typedef fusion_sequence_tag tag;
459 typedef mpl::false_ is_view;
460 typedef random_access_traversal_tag category;
461 typedef mpl::int_<3> size;
462 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
464 # if !defined(BOOST_CLANG)
467 BOOST_FUSION_GPU_ENABLED
469 typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
470 : base_type(arg0 , arg1 , arg2) {}
471 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
472 template <typename U0 , typename U1 , typename U2>
473 # if !defined(BOOST_CLANG)
474 BOOST_CXX14_CONSTEXPR
476 BOOST_FUSION_GPU_ENABLED
477 vector3(U0 && arg0 , U1 && arg1 , U2 && arg2)
478 : base_type(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2)) {}
479 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
480 vector3(vector3&& rhs)
481 : base_type(std::forward<base_type>(rhs)) {}
482 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
483 vector3(vector3 const& rhs)
484 : base_type(static_cast<base_type const&>(rhs)) {}
485 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
487 operator=(vector3 const& vec)
489 base_type::operator=(vec);
492 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
494 operator=(vector3&& vec)
496 this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2);
500 template <typename U0 , typename U1 , typename U2>
501 # if !defined(BOOST_CLANG)
502 BOOST_CXX14_CONSTEXPR
504 BOOST_FUSION_GPU_ENABLED
506 vector3<U0 , U1 , U2> const& vec)
507 : base_type(vec.m0 , vec.m1 , vec.m2) {}
508 template <typename Sequence>
509 # if !defined(BOOST_CLANG)
510 BOOST_CXX14_CONSTEXPR
512 BOOST_FUSION_GPU_ENABLED
515 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
517 : base_type(base_type::init_from_sequence(seq)) {}
518 template <typename Sequence>
519 # if !defined(BOOST_CLANG)
520 BOOST_CXX14_CONSTEXPR
522 BOOST_FUSION_GPU_ENABLED
525 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
527 : base_type(base_type::init_from_sequence(seq)) {}
528 template <typename U0 , typename U1 , typename U2>
529 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
531 operator=(vector3<U0 , U1 , U2> const& vec)
533 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2;
536 template <typename Sequence>
537 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
538 typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
539 operator=(Sequence const& seq)
541 typedef typename result_of::begin<Sequence const>::type I0;
542 I0 i0 = fusion::begin(seq);
543 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1);
544 this->m0 = *i0; this->m1 = *i1; this->m2 = *i2;
547 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T2>::type>::type at_impl(mpl::int_<2>) const { return this->m2; }
549 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
550 typename add_reference<typename mpl::at<types, I>::type>::type
553 return this->at_impl(mpl::int_<I::value>());
556 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
557 typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
560 return this->at_impl(mpl::int_<I::value>());
563 template <typename T0 , typename T1 , typename T2 , typename T3>
566 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
568 : m0() , m1() , m2() , m3() {}
569 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
570 template <typename U0 , typename U1 , typename U2 , typename U3>
571 # if !defined(BOOST_CLANG)
572 BOOST_CXX14_CONSTEXPR
574 BOOST_FUSION_GPU_ENABLED
575 vector_data4(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3
576 , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
578 : m0(std::forward<U0>( arg0)) , m1(std::forward<U1>( arg1)) , m2(std::forward<U2>( arg2)) , m3(std::forward<U3>( arg3)) {}
579 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
581 vector_data4&& other)
582 : m0(std::forward<T0>( other.m0)) , m1(std::forward<T1>( other.m1)) , m2(std::forward<T2>( other.m2)) , m3(std::forward<T3>( other.m3)) {}
584 # if !defined(BOOST_CLANG)
587 BOOST_FUSION_GPU_ENABLED
589 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)
590 : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) {}
591 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
593 vector_data4 const& other)
594 : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) {}
595 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
597 operator=(vector_data4 const& vec)
599 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3;
602 template <typename Sequence>
603 # if !defined(BOOST_CLANG)
604 BOOST_CXX14_CONSTEXPR
606 BOOST_FUSION_GPU_ENABLED
608 init_from_sequence(Sequence const& seq)
610 typedef typename result_of::begin<Sequence const>::type I0;
611 I0 i0 = fusion::begin(seq);
612 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2);
613 return vector_data4(*i0 , *i1 , *i2 , *i3);
615 template <typename Sequence>
616 # if !defined(BOOST_CLANG)
617 BOOST_CXX14_CONSTEXPR
619 BOOST_FUSION_GPU_ENABLED
621 init_from_sequence(Sequence& seq)
623 typedef typename result_of::begin<Sequence>::type I0;
624 I0 i0 = fusion::begin(seq);
625 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2);
626 return vector_data4(*i0 , *i1 , *i2 , *i3);
628 T0 m0; T1 m1; T2 m2; T3 m3;
630 template <typename T0 , typename T1 , typename T2 , typename T3>
632 : vector_data4<T0 , T1 , T2 , T3>
633 , sequence_base<vector4<T0 , T1 , T2 , T3> >
635 typedef vector4<T0 , T1 , T2 , T3> this_type;
636 typedef vector_data4<T0 , T1 , T2 , T3> base_type;
637 typedef mpl::vector4<T0 , T1 , T2 , T3> types;
638 typedef vector_tag fusion_tag;
639 typedef fusion_sequence_tag tag;
640 typedef mpl::false_ is_view;
641 typedef random_access_traversal_tag category;
642 typedef mpl::int_<4> size;
643 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
645 # if !defined(BOOST_CLANG)
648 BOOST_FUSION_GPU_ENABLED
650 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)
651 : base_type(arg0 , arg1 , arg2 , arg3) {}
652 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
653 template <typename U0 , typename U1 , typename U2 , typename U3>
654 # if !defined(BOOST_CLANG)
655 BOOST_CXX14_CONSTEXPR
657 BOOST_FUSION_GPU_ENABLED
658 vector4(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3)
659 : base_type(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3)) {}
660 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
661 vector4(vector4&& rhs)
662 : base_type(std::forward<base_type>(rhs)) {}
663 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
664 vector4(vector4 const& rhs)
665 : base_type(static_cast<base_type const&>(rhs)) {}
666 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
668 operator=(vector4 const& vec)
670 base_type::operator=(vec);
673 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
675 operator=(vector4&& vec)
677 this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3);
681 template <typename U0 , typename U1 , typename U2 , typename U3>
682 # if !defined(BOOST_CLANG)
683 BOOST_CXX14_CONSTEXPR
685 BOOST_FUSION_GPU_ENABLED
687 vector4<U0 , U1 , U2 , U3> const& vec)
688 : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3) {}
689 template <typename Sequence>
690 # if !defined(BOOST_CLANG)
691 BOOST_CXX14_CONSTEXPR
693 BOOST_FUSION_GPU_ENABLED
696 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
698 : base_type(base_type::init_from_sequence(seq)) {}
699 template <typename Sequence>
700 # if !defined(BOOST_CLANG)
701 BOOST_CXX14_CONSTEXPR
703 BOOST_FUSION_GPU_ENABLED
706 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
708 : base_type(base_type::init_from_sequence(seq)) {}
709 template <typename U0 , typename U1 , typename U2 , typename U3>
710 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
712 operator=(vector4<U0 , U1 , U2 , U3> const& vec)
714 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3;
717 template <typename Sequence>
718 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
719 typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
720 operator=(Sequence const& seq)
722 typedef typename result_of::begin<Sequence const>::type I0;
723 I0 i0 = fusion::begin(seq);
724 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2);
725 this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3;
728 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T2>::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T3>::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T3>::type>::type at_impl(mpl::int_<3>) const { return this->m3; }
730 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
731 typename add_reference<typename mpl::at<types, I>::type>::type
734 return this->at_impl(mpl::int_<I::value>());
737 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
738 typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
741 return this->at_impl(mpl::int_<I::value>());
744 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
747 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
749 : m0() , m1() , m2() , m3() , m4() {}
750 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
751 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
752 # if !defined(BOOST_CLANG)
753 BOOST_CXX14_CONSTEXPR
755 BOOST_FUSION_GPU_ENABLED
756 vector_data5(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4
757 , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
759 : m0(std::forward<U0>( arg0)) , m1(std::forward<U1>( arg1)) , m2(std::forward<U2>( arg2)) , m3(std::forward<U3>( arg3)) , m4(std::forward<U4>( arg4)) {}
760 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
762 vector_data5&& other)
763 : m0(std::forward<T0>( other.m0)) , m1(std::forward<T1>( other.m1)) , m2(std::forward<T2>( other.m2)) , m3(std::forward<T3>( other.m3)) , m4(std::forward<T4>( other.m4)) {}
765 # if !defined(BOOST_CLANG)
768 BOOST_FUSION_GPU_ENABLED
770 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)
771 : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) {}
772 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
774 vector_data5 const& other)
775 : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) {}
776 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
778 operator=(vector_data5 const& vec)
780 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4;
783 template <typename Sequence>
784 # if !defined(BOOST_CLANG)
785 BOOST_CXX14_CONSTEXPR
787 BOOST_FUSION_GPU_ENABLED
789 init_from_sequence(Sequence const& seq)
791 typedef typename result_of::begin<Sequence const>::type I0;
792 I0 i0 = fusion::begin(seq);
793 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3);
794 return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4);
796 template <typename Sequence>
797 # if !defined(BOOST_CLANG)
798 BOOST_CXX14_CONSTEXPR
800 BOOST_FUSION_GPU_ENABLED
802 init_from_sequence(Sequence& seq)
804 typedef typename result_of::begin<Sequence>::type I0;
805 I0 i0 = fusion::begin(seq);
806 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3);
807 return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4);
809 T0 m0; T1 m1; T2 m2; T3 m3; T4 m4;
811 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
813 : vector_data5<T0 , T1 , T2 , T3 , T4>
814 , sequence_base<vector5<T0 , T1 , T2 , T3 , T4> >
816 typedef vector5<T0 , T1 , T2 , T3 , T4> this_type;
817 typedef vector_data5<T0 , T1 , T2 , T3 , T4> base_type;
818 typedef mpl::vector5<T0 , T1 , T2 , T3 , T4> types;
819 typedef vector_tag fusion_tag;
820 typedef fusion_sequence_tag tag;
821 typedef mpl::false_ is_view;
822 typedef random_access_traversal_tag category;
823 typedef mpl::int_<5> size;
824 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
826 # if !defined(BOOST_CLANG)
829 BOOST_FUSION_GPU_ENABLED
831 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)
832 : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {}
833 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
834 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
835 # if !defined(BOOST_CLANG)
836 BOOST_CXX14_CONSTEXPR
838 BOOST_FUSION_GPU_ENABLED
839 vector5(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4)
840 : base_type(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4)) {}
841 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
842 vector5(vector5&& rhs)
843 : base_type(std::forward<base_type>(rhs)) {}
844 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
845 vector5(vector5 const& rhs)
846 : base_type(static_cast<base_type const&>(rhs)) {}
847 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
849 operator=(vector5 const& vec)
851 base_type::operator=(vec);
854 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
856 operator=(vector5&& vec)
858 this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4);
862 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
863 # if !defined(BOOST_CLANG)
864 BOOST_CXX14_CONSTEXPR
866 BOOST_FUSION_GPU_ENABLED
868 vector5<U0 , U1 , U2 , U3 , U4> const& vec)
869 : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4) {}
870 template <typename Sequence>
871 # if !defined(BOOST_CLANG)
872 BOOST_CXX14_CONSTEXPR
874 BOOST_FUSION_GPU_ENABLED
877 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
879 : base_type(base_type::init_from_sequence(seq)) {}
880 template <typename Sequence>
881 # if !defined(BOOST_CLANG)
882 BOOST_CXX14_CONSTEXPR
884 BOOST_FUSION_GPU_ENABLED
887 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
889 : base_type(base_type::init_from_sequence(seq)) {}
890 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
891 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
893 operator=(vector5<U0 , U1 , U2 , U3 , U4> const& vec)
895 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4;
898 template <typename Sequence>
899 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
900 typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
901 operator=(Sequence const& seq)
903 typedef typename result_of::begin<Sequence const>::type I0;
904 I0 i0 = fusion::begin(seq);
905 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3);
906 this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4;
909 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T2>::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T3>::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T3>::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T4>::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T4>::type>::type at_impl(mpl::int_<4>) const { return this->m4; }
911 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
912 typename add_reference<typename mpl::at<types, I>::type>::type
915 return this->at_impl(mpl::int_<I::value>());
918 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
919 typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
922 return this->at_impl(mpl::int_<I::value>());
925 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
928 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
930 : m0() , m1() , m2() , m3() , m4() , m5() {}
931 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
932 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
933 # if !defined(BOOST_CLANG)
934 BOOST_CXX14_CONSTEXPR
936 BOOST_FUSION_GPU_ENABLED
937 vector_data6(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5
938 , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
940 : m0(std::forward<U0>( arg0)) , m1(std::forward<U1>( arg1)) , m2(std::forward<U2>( arg2)) , m3(std::forward<U3>( arg3)) , m4(std::forward<U4>( arg4)) , m5(std::forward<U5>( arg5)) {}
941 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
943 vector_data6&& other)
944 : m0(std::forward<T0>( other.m0)) , m1(std::forward<T1>( other.m1)) , m2(std::forward<T2>( other.m2)) , m3(std::forward<T3>( other.m3)) , m4(std::forward<T4>( other.m4)) , m5(std::forward<T5>( other.m5)) {}
946 # if !defined(BOOST_CLANG)
949 BOOST_FUSION_GPU_ENABLED
951 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)
952 : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) {}
953 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
955 vector_data6 const& other)
956 : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) {}
957 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
959 operator=(vector_data6 const& vec)
961 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5;
964 template <typename Sequence>
965 # if !defined(BOOST_CLANG)
966 BOOST_CXX14_CONSTEXPR
968 BOOST_FUSION_GPU_ENABLED
970 init_from_sequence(Sequence const& seq)
972 typedef typename result_of::begin<Sequence const>::type I0;
973 I0 i0 = fusion::begin(seq);
974 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4);
975 return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5);
977 template <typename Sequence>
978 # if !defined(BOOST_CLANG)
979 BOOST_CXX14_CONSTEXPR
981 BOOST_FUSION_GPU_ENABLED
983 init_from_sequence(Sequence& seq)
985 typedef typename result_of::begin<Sequence>::type I0;
986 I0 i0 = fusion::begin(seq);
987 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4);
988 return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5);
990 T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5;
992 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
994 : vector_data6<T0 , T1 , T2 , T3 , T4 , T5>
995 , sequence_base<vector6<T0 , T1 , T2 , T3 , T4 , T5> >
997 typedef vector6<T0 , T1 , T2 , T3 , T4 , T5> this_type;
998 typedef vector_data6<T0 , T1 , T2 , T3 , T4 , T5> base_type;
999 typedef mpl::vector6<T0 , T1 , T2 , T3 , T4 , T5> types;
1000 typedef vector_tag fusion_tag;
1001 typedef fusion_sequence_tag tag;
1002 typedef mpl::false_ is_view;
1003 typedef random_access_traversal_tag category;
1004 typedef mpl::int_<6> size;
1005 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1007 # if !defined(BOOST_CLANG)
1010 BOOST_FUSION_GPU_ENABLED
1012 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)
1013 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
1014 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1015 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
1016 # if !defined(BOOST_CLANG)
1017 BOOST_CXX14_CONSTEXPR
1019 BOOST_FUSION_GPU_ENABLED
1020 vector6(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5)
1021 : base_type(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5)) {}
1022 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1023 vector6(vector6&& rhs)
1024 : base_type(std::forward<base_type>(rhs)) {}
1025 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1026 vector6(vector6 const& rhs)
1027 : base_type(static_cast<base_type const&>(rhs)) {}
1028 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1030 operator=(vector6 const& vec)
1032 base_type::operator=(vec);
1035 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1037 operator=(vector6&& vec)
1039 this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5);
1043 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
1044 # if !defined(BOOST_CLANG)
1045 BOOST_CXX14_CONSTEXPR
1047 BOOST_FUSION_GPU_ENABLED
1049 vector6<U0 , U1 , U2 , U3 , U4 , U5> const& vec)
1050 : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5) {}
1051 template <typename Sequence>
1052 # if !defined(BOOST_CLANG)
1053 BOOST_CXX14_CONSTEXPR
1055 BOOST_FUSION_GPU_ENABLED
1058 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
1060 : base_type(base_type::init_from_sequence(seq)) {}
1061 template <typename Sequence>
1062 # if !defined(BOOST_CLANG)
1063 BOOST_CXX14_CONSTEXPR
1065 BOOST_FUSION_GPU_ENABLED
1068 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
1070 : base_type(base_type::init_from_sequence(seq)) {}
1071 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
1072 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1074 operator=(vector6<U0 , U1 , U2 , U3 , U4 , U5> const& vec)
1076 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5;
1079 template <typename Sequence>
1080 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1081 typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
1082 operator=(Sequence const& seq)
1084 typedef typename result_of::begin<Sequence const>::type I0;
1085 I0 i0 = fusion::begin(seq);
1086 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4);
1087 this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5;
1090 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T2>::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T3>::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T3>::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T4>::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T4>::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T5>::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T5>::type>::type at_impl(mpl::int_<5>) const { return this->m5; }
1091 template<typename I>
1092 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1093 typename add_reference<typename mpl::at<types, I>::type>::type
1096 return this->at_impl(mpl::int_<I::value>());
1098 template<typename I>
1099 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1100 typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
1103 return this->at_impl(mpl::int_<I::value>());
1106 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
1109 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1111 : m0() , m1() , m2() , m3() , m4() , m5() , m6() {}
1112 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1113 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
1114 # if !defined(BOOST_CLANG)
1115 BOOST_CXX14_CONSTEXPR
1117 BOOST_FUSION_GPU_ENABLED
1118 vector_data7(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6
1119 , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
1121 : m0(std::forward<U0>( arg0)) , m1(std::forward<U1>( arg1)) , m2(std::forward<U2>( arg2)) , m3(std::forward<U3>( arg3)) , m4(std::forward<U4>( arg4)) , m5(std::forward<U5>( arg5)) , m6(std::forward<U6>( arg6)) {}
1122 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1124 vector_data7&& other)
1125 : m0(std::forward<T0>( other.m0)) , m1(std::forward<T1>( other.m1)) , m2(std::forward<T2>( other.m2)) , m3(std::forward<T3>( other.m3)) , m4(std::forward<T4>( other.m4)) , m5(std::forward<T5>( other.m5)) , m6(std::forward<T6>( other.m6)) {}
1127 # if !defined(BOOST_CLANG)
1130 BOOST_FUSION_GPU_ENABLED
1132 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)
1133 : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) {}
1134 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1136 vector_data7 const& other)
1137 : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) {}
1138 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1140 operator=(vector_data7 const& vec)
1142 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6;
1145 template <typename Sequence>
1146 # if !defined(BOOST_CLANG)
1147 BOOST_CXX14_CONSTEXPR
1149 BOOST_FUSION_GPU_ENABLED
1151 init_from_sequence(Sequence const& seq)
1153 typedef typename result_of::begin<Sequence const>::type I0;
1154 I0 i0 = fusion::begin(seq);
1155 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5);
1156 return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6);
1158 template <typename Sequence>
1159 # if !defined(BOOST_CLANG)
1160 BOOST_CXX14_CONSTEXPR
1162 BOOST_FUSION_GPU_ENABLED
1164 init_from_sequence(Sequence& seq)
1166 typedef typename result_of::begin<Sequence>::type I0;
1167 I0 i0 = fusion::begin(seq);
1168 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5);
1169 return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6);
1171 T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6;
1173 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
1175 : vector_data7<T0 , T1 , T2 , T3 , T4 , T5 , T6>
1176 , sequence_base<vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> >
1178 typedef vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> this_type;
1179 typedef vector_data7<T0 , T1 , T2 , T3 , T4 , T5 , T6> base_type;
1180 typedef mpl::vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> types;
1181 typedef vector_tag fusion_tag;
1182 typedef fusion_sequence_tag tag;
1183 typedef mpl::false_ is_view;
1184 typedef random_access_traversal_tag category;
1185 typedef mpl::int_<7> size;
1186 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1188 # if !defined(BOOST_CLANG)
1191 BOOST_FUSION_GPU_ENABLED
1193 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)
1194 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
1195 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1196 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
1197 # if !defined(BOOST_CLANG)
1198 BOOST_CXX14_CONSTEXPR
1200 BOOST_FUSION_GPU_ENABLED
1201 vector7(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6)
1202 : base_type(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)) {}
1203 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1204 vector7(vector7&& rhs)
1205 : base_type(std::forward<base_type>(rhs)) {}
1206 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1207 vector7(vector7 const& rhs)
1208 : base_type(static_cast<base_type const&>(rhs)) {}
1209 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1211 operator=(vector7 const& vec)
1213 base_type::operator=(vec);
1216 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1218 operator=(vector7&& vec)
1220 this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6);
1224 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
1225 # if !defined(BOOST_CLANG)
1226 BOOST_CXX14_CONSTEXPR
1228 BOOST_FUSION_GPU_ENABLED
1230 vector7<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& vec)
1231 : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6) {}
1232 template <typename Sequence>
1233 # if !defined(BOOST_CLANG)
1234 BOOST_CXX14_CONSTEXPR
1236 BOOST_FUSION_GPU_ENABLED
1239 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
1241 : base_type(base_type::init_from_sequence(seq)) {}
1242 template <typename Sequence>
1243 # if !defined(BOOST_CLANG)
1244 BOOST_CXX14_CONSTEXPR
1246 BOOST_FUSION_GPU_ENABLED
1249 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
1251 : base_type(base_type::init_from_sequence(seq)) {}
1252 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
1253 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1255 operator=(vector7<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& vec)
1257 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6;
1260 template <typename Sequence>
1261 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1262 typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
1263 operator=(Sequence const& seq)
1265 typedef typename result_of::begin<Sequence const>::type I0;
1266 I0 i0 = fusion::begin(seq);
1267 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5);
1268 this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6;
1271 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T2>::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T3>::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T3>::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T4>::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T4>::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T5>::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T5>::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T6>::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T6>::type>::type at_impl(mpl::int_<6>) const { return this->m6; }
1272 template<typename I>
1273 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1274 typename add_reference<typename mpl::at<types, I>::type>::type
1277 return this->at_impl(mpl::int_<I::value>());
1279 template<typename I>
1280 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1281 typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
1284 return this->at_impl(mpl::int_<I::value>());
1287 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
1290 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1292 : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() {}
1293 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1294 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
1295 # if !defined(BOOST_CLANG)
1296 BOOST_CXX14_CONSTEXPR
1298 BOOST_FUSION_GPU_ENABLED
1299 vector_data8(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7
1300 , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
1302 : m0(std::forward<U0>( arg0)) , m1(std::forward<U1>( arg1)) , m2(std::forward<U2>( arg2)) , m3(std::forward<U3>( arg3)) , m4(std::forward<U4>( arg4)) , m5(std::forward<U5>( arg5)) , m6(std::forward<U6>( arg6)) , m7(std::forward<U7>( arg7)) {}
1303 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1305 vector_data8&& other)
1306 : m0(std::forward<T0>( other.m0)) , m1(std::forward<T1>( other.m1)) , m2(std::forward<T2>( other.m2)) , m3(std::forward<T3>( other.m3)) , m4(std::forward<T4>( other.m4)) , m5(std::forward<T5>( other.m5)) , m6(std::forward<T6>( other.m6)) , m7(std::forward<T7>( other.m7)) {}
1308 # if !defined(BOOST_CLANG)
1311 BOOST_FUSION_GPU_ENABLED
1313 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)
1314 : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) {}
1315 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1317 vector_data8 const& other)
1318 : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) {}
1319 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1321 operator=(vector_data8 const& vec)
1323 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7;
1326 template <typename Sequence>
1327 # if !defined(BOOST_CLANG)
1328 BOOST_CXX14_CONSTEXPR
1330 BOOST_FUSION_GPU_ENABLED
1332 init_from_sequence(Sequence const& seq)
1334 typedef typename result_of::begin<Sequence const>::type I0;
1335 I0 i0 = fusion::begin(seq);
1336 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6);
1337 return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7);
1339 template <typename Sequence>
1340 # if !defined(BOOST_CLANG)
1341 BOOST_CXX14_CONSTEXPR
1343 BOOST_FUSION_GPU_ENABLED
1345 init_from_sequence(Sequence& seq)
1347 typedef typename result_of::begin<Sequence>::type I0;
1348 I0 i0 = fusion::begin(seq);
1349 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6);
1350 return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7);
1352 T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7;
1354 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
1356 : vector_data8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7>
1357 , sequence_base<vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> >
1359 typedef vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> this_type;
1360 typedef vector_data8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> base_type;
1361 typedef mpl::vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> types;
1362 typedef vector_tag fusion_tag;
1363 typedef fusion_sequence_tag tag;
1364 typedef mpl::false_ is_view;
1365 typedef random_access_traversal_tag category;
1366 typedef mpl::int_<8> size;
1367 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1369 # if !defined(BOOST_CLANG)
1372 BOOST_FUSION_GPU_ENABLED
1374 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)
1375 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
1376 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1377 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
1378 # if !defined(BOOST_CLANG)
1379 BOOST_CXX14_CONSTEXPR
1381 BOOST_FUSION_GPU_ENABLED
1382 vector8(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7)
1383 : base_type(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)) {}
1384 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1385 vector8(vector8&& rhs)
1386 : base_type(std::forward<base_type>(rhs)) {}
1387 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1388 vector8(vector8 const& rhs)
1389 : base_type(static_cast<base_type const&>(rhs)) {}
1390 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1392 operator=(vector8 const& vec)
1394 base_type::operator=(vec);
1397 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1399 operator=(vector8&& vec)
1401 this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7);
1405 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
1406 # if !defined(BOOST_CLANG)
1407 BOOST_CXX14_CONSTEXPR
1409 BOOST_FUSION_GPU_ENABLED
1411 vector8<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& vec)
1412 : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7) {}
1413 template <typename Sequence>
1414 # if !defined(BOOST_CLANG)
1415 BOOST_CXX14_CONSTEXPR
1417 BOOST_FUSION_GPU_ENABLED
1420 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
1422 : base_type(base_type::init_from_sequence(seq)) {}
1423 template <typename Sequence>
1424 # if !defined(BOOST_CLANG)
1425 BOOST_CXX14_CONSTEXPR
1427 BOOST_FUSION_GPU_ENABLED
1430 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
1432 : base_type(base_type::init_from_sequence(seq)) {}
1433 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
1434 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1436 operator=(vector8<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& vec)
1438 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7;
1441 template <typename Sequence>
1442 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1443 typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
1444 operator=(Sequence const& seq)
1446 typedef typename result_of::begin<Sequence const>::type I0;
1447 I0 i0 = fusion::begin(seq);
1448 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6);
1449 this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7;
1452 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T2>::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T3>::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T3>::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T4>::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T4>::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T5>::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T5>::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T6>::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T6>::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T7>::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T7>::type>::type at_impl(mpl::int_<7>) const { return this->m7; }
1453 template<typename I>
1454 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1455 typename add_reference<typename mpl::at<types, I>::type>::type
1458 return this->at_impl(mpl::int_<I::value>());
1460 template<typename I>
1461 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1462 typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
1465 return this->at_impl(mpl::int_<I::value>());
1468 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
1471 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1473 : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() {}
1474 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1475 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
1476 # if !defined(BOOST_CLANG)
1477 BOOST_CXX14_CONSTEXPR
1479 BOOST_FUSION_GPU_ENABLED
1480 vector_data9(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8
1481 , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
1483 : m0(std::forward<U0>( arg0)) , m1(std::forward<U1>( arg1)) , m2(std::forward<U2>( arg2)) , m3(std::forward<U3>( arg3)) , m4(std::forward<U4>( arg4)) , m5(std::forward<U5>( arg5)) , m6(std::forward<U6>( arg6)) , m7(std::forward<U7>( arg7)) , m8(std::forward<U8>( arg8)) {}
1484 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1486 vector_data9&& other)
1487 : m0(std::forward<T0>( other.m0)) , m1(std::forward<T1>( other.m1)) , m2(std::forward<T2>( other.m2)) , m3(std::forward<T3>( other.m3)) , m4(std::forward<T4>( other.m4)) , m5(std::forward<T5>( other.m5)) , m6(std::forward<T6>( other.m6)) , m7(std::forward<T7>( other.m7)) , m8(std::forward<T8>( other.m8)) {}
1489 # if !defined(BOOST_CLANG)
1492 BOOST_FUSION_GPU_ENABLED
1494 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)
1495 : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) {}
1496 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1498 vector_data9 const& other)
1499 : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) {}
1500 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1502 operator=(vector_data9 const& vec)
1504 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8;
1507 template <typename Sequence>
1508 # if !defined(BOOST_CLANG)
1509 BOOST_CXX14_CONSTEXPR
1511 BOOST_FUSION_GPU_ENABLED
1513 init_from_sequence(Sequence const& seq)
1515 typedef typename result_of::begin<Sequence const>::type I0;
1516 I0 i0 = fusion::begin(seq);
1517 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7);
1518 return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8);
1520 template <typename Sequence>
1521 # if !defined(BOOST_CLANG)
1522 BOOST_CXX14_CONSTEXPR
1524 BOOST_FUSION_GPU_ENABLED
1526 init_from_sequence(Sequence& seq)
1528 typedef typename result_of::begin<Sequence>::type I0;
1529 I0 i0 = fusion::begin(seq);
1530 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7);
1531 return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8);
1533 T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8;
1535 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
1537 : vector_data9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8>
1538 , sequence_base<vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> >
1540 typedef vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> this_type;
1541 typedef vector_data9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> base_type;
1542 typedef mpl::vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> types;
1543 typedef vector_tag fusion_tag;
1544 typedef fusion_sequence_tag tag;
1545 typedef mpl::false_ is_view;
1546 typedef random_access_traversal_tag category;
1547 typedef mpl::int_<9> size;
1548 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1550 # if !defined(BOOST_CLANG)
1553 BOOST_FUSION_GPU_ENABLED
1555 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)
1556 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
1557 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1558 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
1559 # if !defined(BOOST_CLANG)
1560 BOOST_CXX14_CONSTEXPR
1562 BOOST_FUSION_GPU_ENABLED
1563 vector9(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8)
1564 : base_type(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)) {}
1565 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1566 vector9(vector9&& rhs)
1567 : base_type(std::forward<base_type>(rhs)) {}
1568 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1569 vector9(vector9 const& rhs)
1570 : base_type(static_cast<base_type const&>(rhs)) {}
1571 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1573 operator=(vector9 const& vec)
1575 base_type::operator=(vec);
1578 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1580 operator=(vector9&& vec)
1582 this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8);
1586 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
1587 # if !defined(BOOST_CLANG)
1588 BOOST_CXX14_CONSTEXPR
1590 BOOST_FUSION_GPU_ENABLED
1592 vector9<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& vec)
1593 : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8) {}
1594 template <typename Sequence>
1595 # if !defined(BOOST_CLANG)
1596 BOOST_CXX14_CONSTEXPR
1598 BOOST_FUSION_GPU_ENABLED
1601 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
1603 : base_type(base_type::init_from_sequence(seq)) {}
1604 template <typename Sequence>
1605 # if !defined(BOOST_CLANG)
1606 BOOST_CXX14_CONSTEXPR
1608 BOOST_FUSION_GPU_ENABLED
1611 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
1613 : base_type(base_type::init_from_sequence(seq)) {}
1614 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
1615 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1617 operator=(vector9<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& vec)
1619 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8;
1622 template <typename Sequence>
1623 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1624 typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
1625 operator=(Sequence const& seq)
1627 typedef typename result_of::begin<Sequence const>::type I0;
1628 I0 i0 = fusion::begin(seq);
1629 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7);
1630 this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8;
1633 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T2>::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T3>::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T3>::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T4>::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T4>::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T5>::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T5>::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T6>::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T6>::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T7>::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T7>::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T8>::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T8>::type>::type at_impl(mpl::int_<8>) const { return this->m8; }
1634 template<typename I>
1635 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1636 typename add_reference<typename mpl::at<types, I>::type>::type
1639 return this->at_impl(mpl::int_<I::value>());
1641 template<typename I>
1642 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1643 typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
1646 return this->at_impl(mpl::int_<I::value>());
1649 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
1650 struct vector_data10
1652 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1654 : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() {}
1655 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1656 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
1657 # if !defined(BOOST_CLANG)
1658 BOOST_CXX14_CONSTEXPR
1660 BOOST_FUSION_GPU_ENABLED
1661 vector_data10(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9
1662 , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
1664 : m0(std::forward<U0>( arg0)) , m1(std::forward<U1>( arg1)) , m2(std::forward<U2>( arg2)) , m3(std::forward<U3>( arg3)) , m4(std::forward<U4>( arg4)) , m5(std::forward<U5>( arg5)) , m6(std::forward<U6>( arg6)) , m7(std::forward<U7>( arg7)) , m8(std::forward<U8>( arg8)) , m9(std::forward<U9>( arg9)) {}
1665 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1667 vector_data10&& other)
1668 : m0(std::forward<T0>( other.m0)) , m1(std::forward<T1>( other.m1)) , m2(std::forward<T2>( other.m2)) , m3(std::forward<T3>( other.m3)) , m4(std::forward<T4>( other.m4)) , m5(std::forward<T5>( other.m5)) , m6(std::forward<T6>( other.m6)) , m7(std::forward<T7>( other.m7)) , m8(std::forward<T8>( other.m8)) , m9(std::forward<T9>( other.m9)) {}
1670 # if !defined(BOOST_CLANG)
1673 BOOST_FUSION_GPU_ENABLED
1675 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)
1676 : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) {}
1677 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1679 vector_data10 const& other)
1680 : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) {}
1681 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1683 operator=(vector_data10 const& vec)
1685 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9;
1688 template <typename Sequence>
1689 # if !defined(BOOST_CLANG)
1690 BOOST_CXX14_CONSTEXPR
1692 BOOST_FUSION_GPU_ENABLED
1693 static vector_data10
1694 init_from_sequence(Sequence const& seq)
1696 typedef typename result_of::begin<Sequence const>::type I0;
1697 I0 i0 = fusion::begin(seq);
1698 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8);
1699 return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9);
1701 template <typename Sequence>
1702 # if !defined(BOOST_CLANG)
1703 BOOST_CXX14_CONSTEXPR
1705 BOOST_FUSION_GPU_ENABLED
1706 static vector_data10
1707 init_from_sequence(Sequence& seq)
1709 typedef typename result_of::begin<Sequence>::type I0;
1710 I0 i0 = fusion::begin(seq);
1711 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8);
1712 return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9);
1714 T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9;
1716 template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
1718 : vector_data10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
1719 , sequence_base<vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> >
1721 typedef vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> this_type;
1722 typedef vector_data10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> base_type;
1723 typedef mpl::vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> types;
1724 typedef vector_tag fusion_tag;
1725 typedef fusion_sequence_tag tag;
1726 typedef mpl::false_ is_view;
1727 typedef random_access_traversal_tag category;
1728 typedef mpl::int_<10> size;
1729 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1731 # if !defined(BOOST_CLANG)
1734 BOOST_FUSION_GPU_ENABLED
1736 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)
1737 : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
1738 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1739 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
1740 # if !defined(BOOST_CLANG)
1741 BOOST_CXX14_CONSTEXPR
1743 BOOST_FUSION_GPU_ENABLED
1744 vector10(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9)
1745 : base_type(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)) {}
1746 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1747 vector10(vector10&& rhs)
1748 : base_type(std::forward<base_type>(rhs)) {}
1749 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1750 vector10(vector10 const& rhs)
1751 : base_type(static_cast<base_type const&>(rhs)) {}
1752 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1754 operator=(vector10 const& vec)
1756 base_type::operator=(vec);
1759 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1761 operator=(vector10&& vec)
1763 this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9);
1767 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
1768 # if !defined(BOOST_CLANG)
1769 BOOST_CXX14_CONSTEXPR
1771 BOOST_FUSION_GPU_ENABLED
1773 vector10<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& vec)
1774 : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9) {}
1775 template <typename Sequence>
1776 # if !defined(BOOST_CLANG)
1777 BOOST_CXX14_CONSTEXPR
1779 BOOST_FUSION_GPU_ENABLED
1782 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
1784 : base_type(base_type::init_from_sequence(seq)) {}
1785 template <typename Sequence>
1786 # if !defined(BOOST_CLANG)
1787 BOOST_CXX14_CONSTEXPR
1789 BOOST_FUSION_GPU_ENABLED
1792 , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
1794 : base_type(base_type::init_from_sequence(seq)) {}
1795 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
1796 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1798 operator=(vector10<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> const& vec)
1800 this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9;
1803 template <typename Sequence>
1804 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1805 typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
1806 operator=(Sequence const& seq)
1808 typedef typename result_of::begin<Sequence const>::type I0;
1809 I0 i0 = fusion::begin(seq);
1810 typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8);
1811 this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9;
1814 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T0>::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T0>::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T1>::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T1>::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T2>::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T2>::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T3>::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T3>::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T4>::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T4>::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T5>::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T5>::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T6>::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T6>::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T7>::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T7>::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T8>::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T8>::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<T9>::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference<typename add_const<T9>::type>::type at_impl(mpl::int_<9>) const { return this->m9; }
1815 template<typename I>
1816 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1817 typename add_reference<typename mpl::at<types, I>::type>::type
1820 return this->at_impl(mpl::int_<I::value>());
1822 template<typename I>
1823 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
1824 typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
1827 return this->at_impl(mpl::int_<I::value>());