/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) This is an auto-generated file. Do not edit! ==============================================================================*/ namespace boost { namespace fusion { struct vector_tag; struct fusion_sequence_tag; struct random_access_traversal_tag; template struct vector_data1 { BOOST_FUSION_GPU_ENABLED vector_data1() : m0() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector_data1(U0 && _0 , typename boost::enable_if >::type* = 0 ) : m0(std::forward(_0)) {} vector_data1( vector_data1&& other) : m0(std::forward(other.m0)) {} # endif BOOST_FUSION_GPU_ENABLED vector_data1( typename detail::call_param::type _0) : m0(_0) {} BOOST_FUSION_GPU_ENABLED vector_data1( vector_data1 const& other) : m0(other.m0) {} BOOST_FUSION_GPU_ENABLED vector_data1& operator=(vector_data1 const& vec) { this->m0 = vec.m0; return *this; } template BOOST_FUSION_GPU_ENABLED static vector_data1 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); return vector_data1(*i0); } template BOOST_FUSION_GPU_ENABLED static vector_data1 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); return vector_data1(*i0); } T0 m0; }; template struct vector1 : vector_data1 , sequence_base > { typedef vector1 this_type; typedef vector_data1 base_type; typedef mpl::vector1 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<1> size; BOOST_FUSION_GPU_ENABLED vector1() {} BOOST_FUSION_GPU_ENABLED explicit vector1( typename detail::call_param::type _0) : base_type(_0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED explicit vector1(U0&& _0 , typename boost::enable_if >::type* = 0 ) : base_type(std::forward(_0)) {} BOOST_FUSION_GPU_ENABLED vector1(vector1&& rhs) : base_type(std::forward(rhs)) {} BOOST_FUSION_GPU_ENABLED vector1(vector1 const& rhs) : base_type(static_cast(rhs)) {} BOOST_FUSION_GPU_ENABLED vector1& operator=(vector1 const& vec) { base_type::operator=(vec); return *this; } BOOST_FUSION_GPU_ENABLED vector1& operator=(vector1&& vec) { this->m0 = std::forward< T0>(vec.m0); return *this; } # endif template BOOST_FUSION_GPU_ENABLED vector1( vector1 const& vec) : base_type(vec.m0) {} template BOOST_FUSION_GPU_ENABLED vector1( Sequence const& seq , typename boost::disable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector1( Sequence& seq , typename boost::disable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector1& operator=(vector1 const& vec) { this->m0 = vec.m0; return *this; } template BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); this->m0 = *i0; return *this; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data2 { BOOST_FUSION_GPU_ENABLED vector_data2() : m0() , m1() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector_data2(U0 && _0 , U1 && _1 , typename boost::enable_if >::type* = 0 ) : m0(std::forward(_0)) , m1(std::forward(_1)) {} vector_data2( vector_data2&& other) : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) {} # endif BOOST_FUSION_GPU_ENABLED vector_data2( typename detail::call_param::type _0 , typename detail::call_param::type _1) : m0(_0) , m1(_1) {} BOOST_FUSION_GPU_ENABLED vector_data2( vector_data2 const& other) : m0(other.m0) , m1(other.m1) {} BOOST_FUSION_GPU_ENABLED vector_data2& operator=(vector_data2 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; return *this; } template BOOST_FUSION_GPU_ENABLED static vector_data2 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); return vector_data2(*i0 , *i1); } template BOOST_FUSION_GPU_ENABLED static vector_data2 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); return vector_data2(*i0 , *i1); } T0 m0; T1 m1; }; template struct vector2 : vector_data2 , sequence_base > { typedef vector2 this_type; typedef vector_data2 base_type; typedef mpl::vector2 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<2> size; BOOST_FUSION_GPU_ENABLED vector2() {} BOOST_FUSION_GPU_ENABLED vector2( typename detail::call_param::type _0 , typename detail::call_param::type _1) : base_type(_0 , _1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector2(U0 && _0 , U1 && _1) : base_type(std::forward(_0) , std::forward(_1)) {} BOOST_FUSION_GPU_ENABLED vector2(vector2&& rhs) : base_type(std::forward(rhs)) {} BOOST_FUSION_GPU_ENABLED vector2(vector2 const& rhs) : base_type(static_cast(rhs)) {} BOOST_FUSION_GPU_ENABLED vector2& operator=(vector2 const& vec) { base_type::operator=(vec); return *this; } BOOST_FUSION_GPU_ENABLED vector2& operator=(vector2&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); return *this; } # endif template BOOST_FUSION_GPU_ENABLED vector2( vector2 const& vec) : base_type(vec.m0 , vec.m1) {} template BOOST_FUSION_GPU_ENABLED vector2( Sequence const& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector2( Sequence& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector2& operator=(vector2 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; return *this; } template BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); this->m0 = *i0; this->m1 = *i1; return *this; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data3 { BOOST_FUSION_GPU_ENABLED vector_data3() : m0() , m1() , m2() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector_data3(U0 && _0 , U1 && _1 , U2 && _2 , typename boost::enable_if >::type* = 0 ) : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) {} vector_data3( vector_data3&& other) : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) {} # endif BOOST_FUSION_GPU_ENABLED vector_data3( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) : m0(_0) , m1(_1) , m2(_2) {} BOOST_FUSION_GPU_ENABLED vector_data3( vector_data3 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) {} BOOST_FUSION_GPU_ENABLED vector_data3& operator=(vector_data3 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; return *this; } template BOOST_FUSION_GPU_ENABLED static vector_data3 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data3(*i0 , *i1 , *i2); } template BOOST_FUSION_GPU_ENABLED static vector_data3 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data3(*i0 , *i1 , *i2); } T0 m0; T1 m1; T2 m2; }; template struct vector3 : vector_data3 , sequence_base > { typedef vector3 this_type; typedef vector_data3 base_type; typedef mpl::vector3 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<3> size; BOOST_FUSION_GPU_ENABLED vector3() {} BOOST_FUSION_GPU_ENABLED vector3( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) : base_type(_0 , _1 , _2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector3(U0 && _0 , U1 && _1 , U2 && _2) : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2)) {} BOOST_FUSION_GPU_ENABLED vector3(vector3&& rhs) : base_type(std::forward(rhs)) {} BOOST_FUSION_GPU_ENABLED vector3(vector3 const& rhs) : base_type(static_cast(rhs)) {} BOOST_FUSION_GPU_ENABLED vector3& operator=(vector3 const& vec) { base_type::operator=(vec); return *this; } BOOST_FUSION_GPU_ENABLED vector3& operator=(vector3&& vec) { this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); return *this; } # endif template BOOST_FUSION_GPU_ENABLED vector3( vector3 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2) {} template BOOST_FUSION_GPU_ENABLED vector3( Sequence const& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector3( Sequence& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector3& operator=(vector3 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; return *this; } template BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; return *this; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data4 { BOOST_FUSION_GPU_ENABLED vector_data4() : m0() , m1() , m2() , m3() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector_data4(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , typename boost::enable_if >::type* = 0 ) : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) {} vector_data4( vector_data4&& other) : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) {} # endif BOOST_FUSION_GPU_ENABLED vector_data4( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) : m0(_0) , m1(_1) , m2(_2) , m3(_3) {} BOOST_FUSION_GPU_ENABLED vector_data4( vector_data4 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) {} BOOST_FUSION_GPU_ENABLED vector_data4& operator=(vector_data4 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; return *this; } template BOOST_FUSION_GPU_ENABLED static vector_data4 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data4(*i0 , *i1 , *i2 , *i3); } template BOOST_FUSION_GPU_ENABLED static vector_data4 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data4(*i0 , *i1 , *i2 , *i3); } T0 m0; T1 m1; T2 m2; T3 m3; }; template struct vector4 : vector_data4 , sequence_base > { typedef vector4 this_type; typedef vector_data4 base_type; typedef mpl::vector4 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<4> size; BOOST_FUSION_GPU_ENABLED vector4() {} BOOST_FUSION_GPU_ENABLED vector4( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) : base_type(_0 , _1 , _2 , _3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector4(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3) : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3)) {} BOOST_FUSION_GPU_ENABLED vector4(vector4&& rhs) : base_type(std::forward(rhs)) {} BOOST_FUSION_GPU_ENABLED vector4(vector4 const& rhs) : base_type(static_cast(rhs)) {} BOOST_FUSION_GPU_ENABLED vector4& operator=(vector4 const& vec) { base_type::operator=(vec); return *this; } BOOST_FUSION_GPU_ENABLED vector4& operator=(vector4&& vec) { 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); return *this; } # endif template BOOST_FUSION_GPU_ENABLED vector4( vector4 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3) {} template BOOST_FUSION_GPU_ENABLED vector4( Sequence const& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector4( Sequence& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector4& operator=(vector4 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; return *this; } template BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; return *this; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data5 { BOOST_FUSION_GPU_ENABLED vector_data5() : m0() , m1() , m2() , m3() , m4() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector_data5(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , typename boost::enable_if >::type* = 0 ) : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) {} vector_data5( vector_data5&& other) : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) {} # endif BOOST_FUSION_GPU_ENABLED vector_data5( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) {} BOOST_FUSION_GPU_ENABLED vector_data5( vector_data5 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) {} BOOST_FUSION_GPU_ENABLED vector_data5& operator=(vector_data5 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; return *this; } template BOOST_FUSION_GPU_ENABLED static vector_data5 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4); } template BOOST_FUSION_GPU_ENABLED static vector_data5 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; }; template struct vector5 : vector_data5 , sequence_base > { typedef vector5 this_type; typedef vector_data5 base_type; typedef mpl::vector5 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<5> size; BOOST_FUSION_GPU_ENABLED vector5() {} BOOST_FUSION_GPU_ENABLED vector5( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) : base_type(_0 , _1 , _2 , _3 , _4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector5(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4) : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4)) {} BOOST_FUSION_GPU_ENABLED vector5(vector5&& rhs) : base_type(std::forward(rhs)) {} BOOST_FUSION_GPU_ENABLED vector5(vector5 const& rhs) : base_type(static_cast(rhs)) {} BOOST_FUSION_GPU_ENABLED vector5& operator=(vector5 const& vec) { base_type::operator=(vec); return *this; } BOOST_FUSION_GPU_ENABLED vector5& operator=(vector5&& vec) { 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); return *this; } # endif template BOOST_FUSION_GPU_ENABLED vector5( vector5 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4) {} template BOOST_FUSION_GPU_ENABLED vector5( Sequence const& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector5( Sequence& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector5& operator=(vector5 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; return *this; } template BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; return *this; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data6 { BOOST_FUSION_GPU_ENABLED vector_data6() : m0() , m1() , m2() , m3() , m4() , m5() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector_data6(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , typename boost::enable_if >::type* = 0 ) : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) {} vector_data6( vector_data6&& other) : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) {} # endif BOOST_FUSION_GPU_ENABLED vector_data6( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) {} BOOST_FUSION_GPU_ENABLED vector_data6( vector_data6 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) {} BOOST_FUSION_GPU_ENABLED vector_data6& operator=(vector_data6 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; return *this; } template BOOST_FUSION_GPU_ENABLED static vector_data6 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } template BOOST_FUSION_GPU_ENABLED static vector_data6 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; }; template struct vector6 : vector_data6 , sequence_base > { typedef vector6 this_type; typedef vector_data6 base_type; typedef mpl::vector6 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<6> size; BOOST_FUSION_GPU_ENABLED vector6() {} BOOST_FUSION_GPU_ENABLED vector6( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector6(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5) : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5)) {} BOOST_FUSION_GPU_ENABLED vector6(vector6&& rhs) : base_type(std::forward(rhs)) {} BOOST_FUSION_GPU_ENABLED vector6(vector6 const& rhs) : base_type(static_cast(rhs)) {} BOOST_FUSION_GPU_ENABLED vector6& operator=(vector6 const& vec) { base_type::operator=(vec); return *this; } BOOST_FUSION_GPU_ENABLED vector6& operator=(vector6&& vec) { 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); return *this; } # endif template BOOST_FUSION_GPU_ENABLED vector6( vector6 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5) {} template BOOST_FUSION_GPU_ENABLED vector6( Sequence const& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector6( Sequence& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector6& operator=(vector6 const& vec) { this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; return *this; } template BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; return *this; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data7 { BOOST_FUSION_GPU_ENABLED vector_data7() : m0() , m1() , m2() , m3() , m4() , m5() , m6() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector_data7(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , typename boost::enable_if >::type* = 0 ) : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) {} vector_data7( vector_data7&& other) : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) {} # endif BOOST_FUSION_GPU_ENABLED vector_data7( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) {} BOOST_FUSION_GPU_ENABLED vector_data7( vector_data7 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) {} BOOST_FUSION_GPU_ENABLED vector_data7& operator=(vector_data7 const& vec) { 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; return *this; } template BOOST_FUSION_GPU_ENABLED static vector_data7 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } template BOOST_FUSION_GPU_ENABLED static vector_data7 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; }; template struct vector7 : vector_data7 , sequence_base > { typedef vector7 this_type; typedef vector_data7 base_type; typedef mpl::vector7 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<7> size; BOOST_FUSION_GPU_ENABLED vector7() {} BOOST_FUSION_GPU_ENABLED vector7( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector7(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6) : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6)) {} BOOST_FUSION_GPU_ENABLED vector7(vector7&& rhs) : base_type(std::forward(rhs)) {} BOOST_FUSION_GPU_ENABLED vector7(vector7 const& rhs) : base_type(static_cast(rhs)) {} BOOST_FUSION_GPU_ENABLED vector7& operator=(vector7 const& vec) { base_type::operator=(vec); return *this; } BOOST_FUSION_GPU_ENABLED vector7& operator=(vector7&& vec) { 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); return *this; } # endif template BOOST_FUSION_GPU_ENABLED vector7( vector7 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6) {} template BOOST_FUSION_GPU_ENABLED vector7( Sequence const& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector7( Sequence& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector7& operator=(vector7 const& vec) { 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; return *this; } template BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; return *this; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data8 { BOOST_FUSION_GPU_ENABLED vector_data8() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector_data8(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , typename boost::enable_if >::type* = 0 ) : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) {} vector_data8( vector_data8&& other) : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) {} # endif BOOST_FUSION_GPU_ENABLED vector_data8( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) {} BOOST_FUSION_GPU_ENABLED vector_data8( vector_data8 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) {} BOOST_FUSION_GPU_ENABLED vector_data8& operator=(vector_data8 const& vec) { 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; return *this; } template BOOST_FUSION_GPU_ENABLED static vector_data8 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } template BOOST_FUSION_GPU_ENABLED static vector_data8 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; }; template struct vector8 : vector_data8 , sequence_base > { typedef vector8 this_type; typedef vector_data8 base_type; typedef mpl::vector8 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<8> size; BOOST_FUSION_GPU_ENABLED vector8() {} BOOST_FUSION_GPU_ENABLED vector8( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector8(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7) : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7)) {} BOOST_FUSION_GPU_ENABLED vector8(vector8&& rhs) : base_type(std::forward(rhs)) {} BOOST_FUSION_GPU_ENABLED vector8(vector8 const& rhs) : base_type(static_cast(rhs)) {} BOOST_FUSION_GPU_ENABLED vector8& operator=(vector8 const& vec) { base_type::operator=(vec); return *this; } BOOST_FUSION_GPU_ENABLED vector8& operator=(vector8&& vec) { 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); return *this; } # endif template BOOST_FUSION_GPU_ENABLED vector8( vector8 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7) {} template BOOST_FUSION_GPU_ENABLED vector8( Sequence const& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector8( Sequence& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector8& operator=(vector8 const& vec) { 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; return *this; } template BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; return *this; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data9 { BOOST_FUSION_GPU_ENABLED vector_data9() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector_data9(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , typename boost::enable_if >::type* = 0 ) : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) {} vector_data9( vector_data9&& other) : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) {} # endif BOOST_FUSION_GPU_ENABLED vector_data9( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) {} BOOST_FUSION_GPU_ENABLED vector_data9( vector_data9 const& other) : 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) {} BOOST_FUSION_GPU_ENABLED vector_data9& operator=(vector_data9 const& vec) { 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; return *this; } template BOOST_FUSION_GPU_ENABLED static vector_data9 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } template BOOST_FUSION_GPU_ENABLED static vector_data9 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; }; template struct vector9 : vector_data9 , sequence_base > { typedef vector9 this_type; typedef vector_data9 base_type; typedef mpl::vector9 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<9> size; BOOST_FUSION_GPU_ENABLED vector9() {} BOOST_FUSION_GPU_ENABLED vector9( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector9(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8) : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8)) {} BOOST_FUSION_GPU_ENABLED vector9(vector9&& rhs) : base_type(std::forward(rhs)) {} BOOST_FUSION_GPU_ENABLED vector9(vector9 const& rhs) : base_type(static_cast(rhs)) {} BOOST_FUSION_GPU_ENABLED vector9& operator=(vector9 const& vec) { base_type::operator=(vec); return *this; } BOOST_FUSION_GPU_ENABLED vector9& operator=(vector9&& vec) { 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); return *this; } # endif template BOOST_FUSION_GPU_ENABLED vector9( vector9 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8) {} template BOOST_FUSION_GPU_ENABLED vector9( Sequence const& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector9( Sequence& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector9& operator=(vector9 const& vec) { 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; return *this; } template BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); 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; return *this; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; template struct vector_data10 { BOOST_FUSION_GPU_ENABLED vector_data10() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector_data10(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , typename boost::enable_if >::type* = 0 ) : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) {} vector_data10( vector_data10&& other) : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) {} # endif BOOST_FUSION_GPU_ENABLED vector_data10( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) {} BOOST_FUSION_GPU_ENABLED vector_data10( vector_data10 const& other) : 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) {} BOOST_FUSION_GPU_ENABLED vector_data10& operator=(vector_data10 const& vec) { 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; return *this; } template BOOST_FUSION_GPU_ENABLED static vector_data10 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } template BOOST_FUSION_GPU_ENABLED static vector_data10 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; }; template struct vector10 : vector_data10 , sequence_base > { typedef vector10 this_type; typedef vector_data10 base_type; typedef mpl::vector10 types; typedef vector_tag fusion_tag; typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<10> size; BOOST_FUSION_GPU_ENABLED vector10() {} BOOST_FUSION_GPU_ENABLED vector10( typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED vector10(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9) : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9)) {} BOOST_FUSION_GPU_ENABLED vector10(vector10&& rhs) : base_type(std::forward(rhs)) {} BOOST_FUSION_GPU_ENABLED vector10(vector10 const& rhs) : base_type(static_cast(rhs)) {} BOOST_FUSION_GPU_ENABLED vector10& operator=(vector10 const& vec) { base_type::operator=(vec); return *this; } BOOST_FUSION_GPU_ENABLED vector10& operator=(vector10&& vec) { 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); return *this; } # endif template BOOST_FUSION_GPU_ENABLED vector10( vector10 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9) {} template BOOST_FUSION_GPU_ENABLED vector10( Sequence const& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector10( Sequence& seq ) : base_type(base_type::init_from_sequence(seq)) {} template BOOST_FUSION_GPU_ENABLED vector10& operator=(vector10 const& vec) { 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; return *this; } template BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); 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); 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; return *this; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { return this->at_impl(mpl::int_()); } }; }}