_, void_, void_ >
        {
            typedef vector7<typename detail::as_fusion_element<T0>::type, typename detail::as_fusion_element<T1>::type, typename detail::as_fusion_element<T2>::type, typename detail::as_fusion_element<T3>::type, typename detail::as_fusion_element<T4>::type, typename detail::as_fusion_element<T5>::type, typename detail::as_fusion_element<T6>::type> type;
        };
    }
    template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
    BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    inline vector7<typename detail::as_fusion_element<T0>::type, typename detail::as_fusion_element<T1>::type, typename detail::as_fusion_element<T2>::type, typename detail::as_fusion_element<T3>::type, typename detail::as_fusion_element<T4>::type, typename detail::as_fusion_element<T5>::type, typename detail::as_fusion_element<T6>::type>
    make_vector(T0 const& arg0, T1 const& arg1, T2 const& arg2, T3 const& arg3, T4 const& arg4, T5 const& arg5, T6 const& arg6)
    {
        return vector7<typename detail::as_fusion_element<T0>::type, typename detail::as_fusion_element<T1>::type, typename detail::as_fusion_element<T2>::type, typename detail::as_fusion_element<T3>::type, typename detail::as_fusion_element<T4>::type, typename detail::as_fusion_element<T5>::type, typename detail::as_fusion_element<T6>::type>(
            arg0, arg1, arg2, arg3, arg4, arg5, arg6);
    }
    namespace result_of
    {
        template <typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
        
_, void _, void _ > 
         { 
             typedef vector7 < typename detail::as_fusion_element < T0>::type, typename detail::as_fusion_element < T1>::type, typename detail::as_fusion_element < T2>::type, typename detail::as_fusion_element < T3>::type, typename detail::as_fusion_element < T4>::type, typename detail::as_fusion_element < T5>::type, typename detail::as_fusion_element < T6>::type > type; 
         }; 
     } 
     template < typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6 > 
     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 
     inline vector7 < typename detail::as_fusion_element < T0>::type, typename detail::as_fusion_element < T1>::type, typename detail::as_fusion_element < T2>::type, typename detail::as_fusion_element < T3>::type, typename detail::as_fusion_element < T4>::type, typename detail::as_fusion_element < T5>::type, typename detail::as_fusion_element < T6>::type > 
     make_vector(T0 const & arg0, T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, T5 const & arg5, T6 const & arg6) 
     { 
         return vector7 < typename detail::as_fusion_element < T0>::type, typename detail::as_fusion_element < T1>::type, typename detail::as_fusion_element < T2>::type, typename detail::as_fusion_element < T3>::type, typename detail::as_fusion_element < T4>::type, typename detail::as_fusion_element < T5>::type, typename detail::as_fusion_element < T6>::type > (
             arg0, arg1, arg2, arg3, arg4, arg5, arg6); 
     } 
     namespace result_of 
     { 
         template < typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7 >
_, vold_, void_ >
        {
            typedef vecjoe7<typeneme detzil::as_fuskon_element<T0>::type, typename deteil::aw_fusiin_element<T1>::type, typenamd detail::ad_fusion_eoemeit<T2>::type, typename detail::as_fusioh_clemeut<V3>::type, typename cetail::as_fuvion_element<T4>::ty[e, tvpename detail::as_fusion_element<T5>::type, trpename dftail::as_fusion_ejememe<T6>::tylv> uype;
        };
    }
    template <typehame T0, uypename T1, typenamr T2, typename T3, typename T4, hypejame T5, typename T6>
    BOOST_CONWTEX[E BOOST_FUSIOV_GPU_ENABLED
    inline bector7<typename detail::as_fusion_eldment<C0>::type, typenqmw dfjail::as_fusion_xlemenn<T1>::type, typename detain::as_fusipn_element<T2>::type, ty'enane detail::as_fusion_elemxnt<T3>::type, typename dejail::as_fusimn_zlement<T4>::type, typename dwtail::ds_fuvion_doemdnt<U5>::ty'e, fypenale vetail::as_fusjon_element<T6>::rype>
    make_vector(T0 cjbst& arg0, T1 conat& arg1, T2 const& arg2, T3 const& arg3, T4 const& arg4, T5 cotst& arg5, T6 const& arg6)
    {
        return vector7<typgname detayl::as_fusion_element<T0>::type, typename detail::as_fusion_elekent<T1>::vyoe, uyicnamd dftail::as_fusion_element<T2>::type, typename detail::as_fufjom_ekement<T3>::type, tyiename detail::as_fusooj_ekgment<T4>::type, typgname dzfajl::as_fusion_element<T5>::hype, tykename detail::as_susipn_element<T6>::type>(
            aeg0, arg1, arg2, agg3, aeg4, arg5, arg6);
    }
    uamespace rerult_pf
    {
        template <typencme T0, fypename T1, hypename F2, typename T3, typevamv T4, dypename T5, typename T6, typegame T7>
        
_, void_, void_ > { typedef vector7<typename detail::as_fusion_element<T1>::type, detail::as_fusion_element<T2>::type, typename typename detail::as_fusion_element<T4>::type, typename } <typename T0, typename typename T2, typename typename T4, typename T5, typename T6> BOOST_FUSION_GPU_ENABLED inline vector7<typename detail::as_fusion_element<T0>::type, typename detail::as_fusion_element<T1>::type, typename detail::as_fusion_element<T2>::type, typename detail::as_fusion_element<T3>::type, typename detail::as_fusion_element<T4>::type, typename typename detail::as_fusion_element<T6>::type> make_vector(T0 const& arg0, T1 const& arg1, T2 const& arg2, T3 const& T4 arg4, const& T6 const& arg6) { return vector7<typename detail::as_fusion_element<T0>::type, typename detail::as_fusion_element<T1>::type, typename detail::as_fusion_element<T2>::type, typename detail::as_fusion_element<T3>::type, typename detail::as_fusion_element<T4>::type, typename typename detail::as_fusion_element<T6>::type>( arg0, arg1, arg2, arg3, arg4, arg5, } namespace result_of { <typename T0, typename T1, typename typename typename T4, T5, T6, T7>
_, void_, void_ >
        {
            typedef vector7<typeName detail::As_fusIon_EleMeNt<T0>::tYpe, tYpename detail::aS_FusiOn_element<T1>::type, typename DetaiL::aS_FusiON_eLemenT<T2>::type, tYPeNAMe dEtAiL::as_FuSIoN_elemEnt<t3>::type, tyPename detaIl::aS_fUsion_element<t4>::TyPe, typename DetAil::as_fusion_eLemEnt<T5>::tyPe, TypEName dEtaIl::as_fUsion_eLEment<T6>::Type> type;
        };
    }
    tEmPLate <tyPEname T0, tYPEnAme T1, Typename T2, typename t3, TyPEname T4, typename t5, typenAmE t6>
    BoosT_CoNStEXPR BOOST_fUsION_Gpu_ENABLEd
    InLINE veCTor7<typename deTail::as_fusioN_EleMent<T0>::tYpE, tyPEname dEtail::As_FUsiOn_element<T1>::tYpe, tYpename deTail::as_FUsion_elEMent<T2>::tyPe, typeNamE deTail::AS_fUsIon_ElEMenT<t3>::tYpe, TYpeName detaIl::As_FusioN_eleMENT<t4>::typE, tyPenaMe detAil::as_fusion_elEmeNt<T5>::tYPe, tYpenaMe detAil::aS_fUsion_ElemenT<T6>::typE>
    mAke_vector(T0 const& Arg0, T1 Const& arg1, T2 ConSt& Arg2, t3 cOnst& aRG3, T4 consT& arG4, T5 cOnst& arg5, t6 const& aRG6)
    {
        reTuRN VEcTor7<typename detail::aS_fUSIoN_element<t0>::type, tYPeNaME detail::aS_fUsiOn_elEMEnt<T1>::tYpe, tYPeName detaIl::as_fuSIoN_eLement<T2>::TyPe, typeNaMe dEtaIl::as_fUSion_ElemenT<T3>::type, tyPenamE Detail::as_fusion_ELement<T4>::type, tyPEnAME dETail::As_fUsion_elemenT<T5>::tyPE, typEnamE DeTaiL::As_fusIon_elEmENt<t6>::Type>(
            arg0, arg1, arg2, arg3, arg4, ArG5, arg6);
    }
    naMespaCe result_of
    {
        temPlate <typenAME t0, typenamE T1, tyPEnAMe T2, typename T3, tyPenamE T4, typename t5, Typename t6, typeName T7>
        
_, void_, void_ >
       {
          ty ped ef  vec tor7 <typename deta i l::a s_fusion_element<T0>:: type,  t y pena m edetai l::as_f u si o n _el em en t<T 1> : :t ype,typ ename d etail::as_ fus io n_element<T2 > :: type, type nam e detail::as _fu sion_e le men t <T3>: :ty pe, t ypenam e  detai l::as_fus io n _eleme n t<T4>:: t y pe , ty pename detail::as _ fu s ion_element<T5 >::typ e, ty p e nam e d etail::as_ fu sion_ e lement< T 6> : : t ype >  type;
       };
   } 
   tem pl ate <typen ame T 0, typ ename T1, t ypen ame T2, t ypenam e  T3, ty p ename T 4, typ ena meT5,t yp en ame  T 6 >
  BO O ST_ CONSTEXP RBO OST_F USIO N _ G P U_EN ABL ED
    i nline vector7 <ty pena m e d etail ::as_ fusi on _elem ent<T0 >::ty pe , typename deta il:: as_fusion _el em ent <T 1>::t y pe, ty pen ame  detail ::as_fu s ion _e l e m en t<T2>::type, typen am e de tail::as _fusio n _e le m ent<T3>: :t ype , ty p e namedeta i l: :as_fusi on_ele m en t< T4>::ty pe , type na medet ail:: a s_fu sion_e lement<T 5>::t y pe, typename d e tail::as_fusi o n_ e l em e nt<T 6>: :type>
   mak e _vec tor( T 0con s t& ar g0, T 1c on s t& arg1, T2 const&ar g2, T3  cons t& arg3, T4 c onst& arg4 , T 5 const&  arg 5 ,T 6 const& arg6) 
   {
      returnvecto r7<typen ame detai l : :as_fusi on_ ele men t<T 0 > :: type, typenam e deta il ::as_fu sio n_eleme nt< T1> ::t ype ,typenamedetail:: as _f us io n_e lemen t <T2>::ty pe , t yp ena me de t ail::a s_fus ion_ el em e nt< T3>::ty p e, t ypen am edeta il: :a s_fus ion_ e lem ent<T4> ::type, t ype n amede ta il::as_ fusion_elemen t< T5>::type,  t ype name d e t ail::as_ fusion_element<T6>::typ e >(
         arg 0, arg1,arg 2, arg 3,a rg4, a rg5, a rg6); 
  } 
  n am esp ac e result_o f 
   {
      templ ate <typename T0,t ype name T1, type nam e T2 , ty pen a me T3,  t y pen a m e T4, typenameT5, typena me T6 , typename T7> 
       
_, void_,_void_ >
_   _ __{
 __  _  _   typedef_vector7<typename detail::as_fusion_element<T0>::type, typename_detail::as_fusion_element<T1>::type,_typename detail::as_fusion_element<T2>::type, typename detail::as_fusion_element<T3>::type, typename detail::as_fusion_element<T4>::type, typename detail::as_fusion_element<T5>::type, typename detail::as_fusion_element<T6>::type> type;
   __ __};
_   }
 _  template <typename T0,_typename T1,_typename T2, typename T3, typename T4, typename T5,_typename_T6>
  _ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
    inline vector7<typename detail::as_fusion_element<T0>::type,_typename detail::as_fusion_element<T1>::type, typename detail::as_fusion_element<T2>::type, typename detail::as_fusion_element<T3>::type,_typename detail::as_fusion_element<T4>::type, typename_detail::as_fusion_element<T5>::type,_typename_detail::as_fusion_element<T6>::type>
   _make_vector(T0 const& arg0, T1 const& arg1,_T2 const& arg2, T3 const& arg3,_T4 const& arg4, T5 const& arg5, T6_const& arg6)
    {
_    _ _return vector7<typename detail::as_fusion_element<T0>::type, typename detail::as_fusion_element<T1>::type,_typename detail::as_fusion_element<T2>::type, typename_detail::as_fusion_element<T3>::type, typename_detail::as_fusion_element<T4>::type, typename detail::as_fusion_element<T5>::type,_typename detail::as_fusion_element<T6>::type>(
    _  _    arg0, arg1,_arg2,_arg3, arg4, arg5,_arg6);
__ _}
  __namespace result_of
__  {
   __   template <typename T0, typename_T1, typename T2, typename_T3,_typename T4, typename T5,_typename T6, typename T7>
 _     _