123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830 |
- /*=============================================================================
- 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 <typename T0>
- struct vector_data1
- {
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data1()
- : m0() {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data1(U0 && arg0
- , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
- )
- : m0(std::forward<U0>( arg0)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data1(
- vector_data1&& other)
- : m0(std::forward<T0>( other.m0)) {}
- # endif
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data1(
- typename detail::call_param<T0 >::type arg0)
- : m0(arg0) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data1(
- vector_data1 const& other)
- : m0(other.m0) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data1&
- operator=(vector_data1 const& vec)
- {
- this->m0 = vec.m0;
- return *this;
- }
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data1
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
-
- return vector_data1(*i0);
- }
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data1
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::type I0;
- I0 i0 = fusion::begin(seq);
-
- return vector_data1(*i0);
- }
- T0 m0;
- };
- template <typename T0>
- struct vector1
- : vector_data1<T0>
- , sequence_base<vector1<T0> >
- {
- typedef vector1<T0> this_type;
- typedef vector_data1<T0> base_type;
- typedef mpl::vector1<T0> 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_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector1() {}
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- explicit
- vector1(
- typename detail::call_param<T0 >::type arg0)
- : base_type(arg0) {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- explicit
- vector1(U0&& _0
- , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
- )
- : base_type(std::forward<U0>( _0)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector1(vector1&& rhs)
- : base_type(std::forward<base_type>(rhs)) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector1(vector1 const& rhs)
- : base_type(static_cast<base_type const&>(rhs)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector1&
- operator=(vector1 const& vec)
- {
- base_type::operator=(vec);
- return *this;
- }
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector1&
- operator=(vector1&& vec)
- {
- this->m0 = std::forward< T0>(vec.m0);
- return *this;
- }
- # endif
- template <typename U0>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector1(
- vector1<U0> const& vec)
- : base_type(vec.m0) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector1(
- Sequence const& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- , typename boost::disable_if<is_convertible<Sequence, T0> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector1(
- Sequence& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- , typename boost::disable_if<is_convertible<Sequence, T0> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector1&
- operator=(vector1<U0> const& vec)
- {
- this->m0 = vec.m0;
- return *this;
- }
- template <typename Sequence>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::type I0;
- I0 i0 = fusion::begin(seq);
-
- this->m0 = *i0;
- return *this;
- }
- 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; }
- template<typename I>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1>
- struct vector_data2
- {
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data2()
- : m0() , m1() {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data2(U0 && arg0 , U1 && arg1
- , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
- )
- : m0(std::forward<U0>( arg0)) , m1(std::forward<U1>( arg1)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data2(
- vector_data2&& other)
- : m0(std::forward<T0>( other.m0)) , m1(std::forward<T1>( other.m1)) {}
- # endif
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data2(
- typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
- : m0(arg0) , m1(arg1) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data2(
- vector_data2 const& other)
- : m0(other.m0) , m1(other.m1) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data2&
- operator=(vector_data2 const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1;
- return *this;
- }
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data2
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data2
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::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 <typename T0 , typename T1>
- struct vector2
- : vector_data2<T0 , T1>
- , sequence_base<vector2<T0 , T1> >
- {
- typedef vector2<T0 , T1> this_type;
- typedef vector_data2<T0 , T1> base_type;
- typedef mpl::vector2<T0 , T1> 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_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector2() {}
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector2(
- typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
- : base_type(arg0 , arg1) {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector2(U0 && arg0 , U1 && arg1)
- : base_type(std::forward<U0>( arg0) , std::forward<U1>( arg1)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector2(vector2&& rhs)
- : base_type(std::forward<base_type>(rhs)) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector2(vector2 const& rhs)
- : base_type(static_cast<base_type const&>(rhs)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector2&
- operator=(vector2 const& vec)
- {
- base_type::operator=(vec);
- return *this;
- }
- BOOST_CXX14_CONSTEXPR 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 <typename U0 , typename U1>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector2(
- vector2<U0 , U1> const& vec)
- : base_type(vec.m0 , vec.m1) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector2(
- Sequence const& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector2(
- Sequence& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector2&
- operator=(vector2<U0 , U1> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1;
- return *this;
- }
- template <typename Sequence>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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_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; }
- template<typename I>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2>
- struct vector_data3
- {
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data3()
- : m0() , m1() , m2() {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data3(U0 && arg0 , U1 && arg1 , U2 && arg2
- , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
- )
- : m0(std::forward<U0>( arg0)) , m1(std::forward<U1>( arg1)) , m2(std::forward<U2>( arg2)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data3(
- vector_data3&& other)
- : m0(std::forward<T0>( other.m0)) , m1(std::forward<T1>( other.m1)) , m2(std::forward<T2>( other.m2)) {}
- # endif
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data3(
- typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
- : m0(arg0) , m1(arg1) , m2(arg2) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data3(
- vector_data3 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) {}
- BOOST_CXX14_CONSTEXPR 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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data3
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data3
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::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 <typename T0 , typename T1 , typename T2>
- struct vector3
- : vector_data3<T0 , T1 , T2>
- , sequence_base<vector3<T0 , T1 , T2> >
- {
- typedef vector3<T0 , T1 , T2> this_type;
- typedef vector_data3<T0 , T1 , T2> base_type;
- typedef mpl::vector3<T0 , T1 , T2> 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_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector3() {}
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector3(
- typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
- : base_type(arg0 , arg1 , arg2) {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector3(U0 && arg0 , U1 && arg1 , U2 && arg2)
- : base_type(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector3(vector3&& rhs)
- : base_type(std::forward<base_type>(rhs)) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector3(vector3 const& rhs)
- : base_type(static_cast<base_type const&>(rhs)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector3&
- operator=(vector3 const& vec)
- {
- base_type::operator=(vec);
- return *this;
- }
- BOOST_CXX14_CONSTEXPR 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 <typename U0 , typename U1 , typename U2>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector3(
- vector3<U0 , U1 , U2> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector3(
- Sequence const& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector3(
- Sequence& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector3&
- operator=(vector3<U0 , U1 , U2> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2;
- return *this;
- }
- template <typename Sequence>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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_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; }
- template<typename I>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct vector_data4
- {
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data4()
- : m0() , m1() , m2() , m3() {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data4(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3
- , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
- )
- : m0(std::forward<U0>( arg0)) , m1(std::forward<U1>( arg1)) , m2(std::forward<U2>( arg2)) , m3(std::forward<U3>( arg3)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data4(
- vector_data4&& other)
- : m0(std::forward<T0>( other.m0)) , m1(std::forward<T1>( other.m1)) , m2(std::forward<T2>( other.m2)) , m3(std::forward<T3>( other.m3)) {}
- # endif
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data4(
- 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)
- : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data4(
- vector_data4 const& other)
- : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) {}
- BOOST_CXX14_CONSTEXPR 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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data4
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data4
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::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 <typename T0 , typename T1 , typename T2 , typename T3>
- struct vector4
- : vector_data4<T0 , T1 , T2 , T3>
- , sequence_base<vector4<T0 , T1 , T2 , T3> >
- {
- typedef vector4<T0 , T1 , T2 , T3> this_type;
- typedef vector_data4<T0 , T1 , T2 , T3> base_type;
- typedef mpl::vector4<T0 , T1 , T2 , T3> 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_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector4() {}
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector4(
- 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)
- : base_type(arg0 , arg1 , arg2 , arg3) {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector4(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3)
- : base_type(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector4(vector4&& rhs)
- : base_type(std::forward<base_type>(rhs)) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector4(vector4 const& rhs)
- : base_type(static_cast<base_type const&>(rhs)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector4&
- operator=(vector4 const& vec)
- {
- base_type::operator=(vec);
- return *this;
- }
- BOOST_CXX14_CONSTEXPR 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 <typename U0 , typename U1 , typename U2 , typename U3>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector4(
- vector4<U0 , U1 , U2 , U3> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector4(
- Sequence const& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector4(
- Sequence& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector4&
- operator=(vector4<U0 , U1 , U2 , U3> const& vec)
- {
- this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3;
- return *this;
- }
- template <typename Sequence>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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_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; }
- template<typename I>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct vector_data5
- {
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data5()
- : m0() , m1() , m2() , m3() , m4() {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data5(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4
- , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
- )
- : 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)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data5(
- vector_data5&& other)
- : 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)) {}
- # endif
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data5(
- 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)
- : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) {}
- BOOST_CONSTEXPR 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_CXX14_CONSTEXPR 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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data5
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data5
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct vector5
- : vector_data5<T0 , T1 , T2 , T3 , T4>
- , sequence_base<vector5<T0 , T1 , T2 , T3 , T4> >
- {
- typedef vector5<T0 , T1 , T2 , T3 , T4> this_type;
- typedef vector_data5<T0 , T1 , T2 , T3 , T4> base_type;
- typedef mpl::vector5<T0 , T1 , T2 , T3 , T4> 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_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector5() {}
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector5(
- 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)
- : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector5(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4)
- : base_type(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector5(vector5&& rhs)
- : base_type(std::forward<base_type>(rhs)) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector5(vector5 const& rhs)
- : base_type(static_cast<base_type const&>(rhs)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector5&
- operator=(vector5 const& vec)
- {
- base_type::operator=(vec);
- return *this;
- }
- BOOST_CXX14_CONSTEXPR 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector5(
- vector5<U0 , U1 , U2 , U3 , U4> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector5(
- Sequence const& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector5(
- Sequence& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector5&
- operator=(vector5<U0 , U1 , U2 , U3 , U4> 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 <typename Sequence>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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_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; }
- template<typename I>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct vector_data6
- {
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data6()
- : m0() , m1() , m2() , m3() , m4() , m5() {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data6(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5
- , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
- )
- : 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)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data6(
- vector_data6&& other)
- : 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)) {}
- # endif
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data6(
- 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)
- : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) {}
- BOOST_CONSTEXPR 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_CXX14_CONSTEXPR 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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data6
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data6
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct vector6
- : vector_data6<T0 , T1 , T2 , T3 , T4 , T5>
- , sequence_base<vector6<T0 , T1 , T2 , T3 , T4 , T5> >
- {
- typedef vector6<T0 , T1 , T2 , T3 , T4 , T5> this_type;
- typedef vector_data6<T0 , T1 , T2 , T3 , T4 , T5> base_type;
- typedef mpl::vector6<T0 , T1 , T2 , T3 , T4 , T5> 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_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector6() {}
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector6(
- 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)
- : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector6(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5)
- : 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)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector6(vector6&& rhs)
- : base_type(std::forward<base_type>(rhs)) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector6(vector6 const& rhs)
- : base_type(static_cast<base_type const&>(rhs)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector6&
- operator=(vector6 const& vec)
- {
- base_type::operator=(vec);
- return *this;
- }
- BOOST_CXX14_CONSTEXPR 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector6(
- vector6<U0 , U1 , U2 , U3 , U4 , U5> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector6(
- Sequence const& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector6(
- Sequence& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector6&
- operator=(vector6<U0 , U1 , U2 , U3 , U4 , U5> 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 <typename Sequence>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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_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; }
- template<typename I>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct vector_data7
- {
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data7()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data7(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6
- , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
- )
- : 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)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data7(
- vector_data7&& other)
- : 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)) {}
- # endif
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data7(
- 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)
- : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) {}
- BOOST_CONSTEXPR 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_CXX14_CONSTEXPR 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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data7
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data7
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct vector7
- : vector_data7<T0 , T1 , T2 , T3 , T4 , T5 , T6>
- , sequence_base<vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> >
- {
- typedef vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> this_type;
- typedef vector_data7<T0 , T1 , T2 , T3 , T4 , T5 , T6> base_type;
- typedef mpl::vector7<T0 , T1 , T2 , T3 , T4 , T5 , T6> 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_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector7() {}
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector7(
- 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)
- : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector7(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6)
- : 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)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector7(vector7&& rhs)
- : base_type(std::forward<base_type>(rhs)) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector7(vector7 const& rhs)
- : base_type(static_cast<base_type const&>(rhs)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector7&
- operator=(vector7 const& vec)
- {
- base_type::operator=(vec);
- return *this;
- }
- BOOST_CXX14_CONSTEXPR 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector7(
- vector7<U0 , U1 , U2 , U3 , U4 , U5 , U6> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector7(
- Sequence const& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector7(
- Sequence& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector7&
- operator=(vector7<U0 , U1 , U2 , U3 , U4 , U5 , U6> 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 <typename Sequence>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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_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; }
- template<typename I>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct vector_data8
- {
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data8()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data8(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7
- , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
- )
- : 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)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data8(
- vector_data8&& other)
- : 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)) {}
- # endif
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data8(
- 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)
- : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) {}
- BOOST_CONSTEXPR 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_CXX14_CONSTEXPR 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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data8
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data8
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct vector8
- : vector_data8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7>
- , sequence_base<vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> >
- {
- typedef vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> this_type;
- typedef vector_data8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> base_type;
- typedef mpl::vector8<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> 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_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector8() {}
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector8(
- 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)
- : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector8(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7)
- : 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)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector8(vector8&& rhs)
- : base_type(std::forward<base_type>(rhs)) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector8(vector8 const& rhs)
- : base_type(static_cast<base_type const&>(rhs)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector8&
- operator=(vector8 const& vec)
- {
- base_type::operator=(vec);
- return *this;
- }
- BOOST_CXX14_CONSTEXPR 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector8(
- vector8<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector8(
- Sequence const& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector8(
- Sequence& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector8&
- operator=(vector8<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7> 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 <typename Sequence>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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_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; }
- template<typename I>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct vector_data9
- {
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data9()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data9(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8
- , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
- )
- : 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)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data9(
- vector_data9&& other)
- : 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)) {}
- # endif
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data9(
- 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)
- : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) {}
- BOOST_CONSTEXPR 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_CXX14_CONSTEXPR 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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data9
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data9
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct vector9
- : vector_data9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8>
- , sequence_base<vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> >
- {
- typedef vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> this_type;
- typedef vector_data9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> base_type;
- typedef mpl::vector9<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> 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_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector9() {}
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector9(
- 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)
- : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector9(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8)
- : 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)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector9(vector9&& rhs)
- : base_type(std::forward<base_type>(rhs)) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector9(vector9 const& rhs)
- : base_type(static_cast<base_type const&>(rhs)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector9&
- operator=(vector9 const& vec)
- {
- base_type::operator=(vec);
- return *this;
- }
- BOOST_CXX14_CONSTEXPR 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector9(
- vector9<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> const& vec)
- : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector9(
- Sequence const& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector9(
- Sequence& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector9&
- operator=(vector9<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8> 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 <typename Sequence>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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_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; }
- template<typename I>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct vector_data10
- {
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data10()
- : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data10(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9
- , typename boost::enable_if<is_convertible<U0, T0> >::type* = 0
- )
- : 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)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector_data10(
- vector_data10&& other)
- : 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)) {}
- # endif
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector_data10(
- 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)
- : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) {}
- BOOST_CONSTEXPR 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_CXX14_CONSTEXPR 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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data10
- init_from_sequence(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- static vector_data10
- init_from_sequence(Sequence& seq)
- {
- typedef typename result_of::begin<Sequence>::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 <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct vector10
- : vector_data10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>
- , sequence_base<vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> >
- {
- typedef vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> this_type;
- typedef vector_data10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> base_type;
- typedef mpl::vector10<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> 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_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector10() {}
- # if !defined(BOOST_CLANG)
- BOOST_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector10(
- 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)
- : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
- # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector10(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9)
- : 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)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector10(vector10&& rhs)
- : base_type(std::forward<base_type>(rhs)) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector10(vector10 const& rhs)
- : base_type(static_cast<base_type const&>(rhs)) {}
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector10&
- operator=(vector10 const& vec)
- {
- base_type::operator=(vec);
- return *this;
- }
- BOOST_CXX14_CONSTEXPR 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 <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector10(
- vector10<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> 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 <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector10(
- Sequence const& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename Sequence>
- # if !defined(BOOST_CLANG)
- BOOST_CXX14_CONSTEXPR
- # endif
- BOOST_FUSION_GPU_ENABLED
- vector10(
- Sequence& seq
- , typename boost::enable_if<traits::is_sequence<Sequence> >::type* = 0
- )
- : base_type(base_type::init_from_sequence(seq)) {}
- template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- vector10&
- operator=(vector10<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9> 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 <typename Sequence>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename boost::disable_if<is_convertible<Sequence, T0>, this_type&>::type
- operator=(Sequence const& seq)
- {
- typedef typename result_of::begin<Sequence const>::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_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; }
- template<typename I>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- template<typename I>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- typename add_reference<typename add_const<typename mpl::at<types, I>::type>::type>::type
- at_impl(I) const
- {
- return this->at_impl(mpl::int_<I::value>());
- }
- };
- }}
|