1 /*============================================================================= 2 Copyright (c) 2001-2011 Joel de Guzman 3 Copyright (c) 2006 Dan Marsden 4 5 Distributed under the Boost Software License, Version 1.0. (See accompanying 6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 8 This is an auto-generated file. Do not edit! 9 ==============================================================================*/ 10 namespace boost { namespace fusion 11 { 12 struct void_; 13 namespace result_of 14 { 15 template<typename T0 = fusion::void_ , typename T1 = fusion::void_ , typename T2 = fusion::void_ , typename T3 = fusion::void_ , typename T4 = fusion::void_ , typename T5 = fusion::void_ , typename T6 = fusion::void_ , typename T7 = fusion::void_ , typename T8 = fusion::void_ , typename T9 = fusion::void_ , typename T10 = fusion::void_ , typename T11 = fusion::void_ , typename T12 = fusion::void_ , typename T13 = fusion::void_ , typename T14 = fusion::void_ , typename T15 = fusion::void_ , typename T16 = fusion::void_ , typename T17 = fusion::void_ , typename T18 = fusion::void_ , typename T19 = fusion::void_ , typename T20 = fusion::void_> 16 struct zip; 17 } 18 namespace result_of 19 { 20 template< typename T0 , typename T1 > 21 struct zip< T0 , T1 22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ 23 > 24 { 25 typedef mpl::vector< T0 , T1 > sequences; 26 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 27 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 28 }; 29 } 30 template<typename T0 , typename T1> 31 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 32 inline typename result_of::zip<const T0 , const T1>::type zip(T0 const & t0,T1 const & t1)33 zip(T0 const& t0 , T1 const& t1) 34 { 35 fusion::vector<const T0& , const T1&> seqs( 36 t0 , t1); 37 return typename result_of::zip<const T0 , const T1>::type( 38 seqs); 39 } 40 namespace result_of 41 { 42 template< typename T0 , typename T1 , typename T2 > 43 struct zip< T0 , T1 , T2 44 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ 45 > 46 { 47 typedef mpl::vector< T0 , T1 , T2 > sequences; 48 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 49 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 50 }; 51 } 52 template<typename T0 , typename T1 , typename T2> 53 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 54 inline typename result_of::zip<const T0 , const T1 , const T2>::type zip(T0 const & t0,T1 const & t1,T2 const & t2)55 zip(T0 const& t0 , T1 const& t1 , T2 const& t2) 56 { 57 fusion::vector<const T0& , const T1& , const T2&> seqs( 58 t0 , t1 , t2); 59 return typename result_of::zip<const T0 , const T1 , const T2>::type( 60 seqs); 61 } 62 namespace result_of 63 { 64 template< typename T0 , typename T1 , typename T2 , typename T3 > 65 struct zip< T0 , T1 , T2 , T3 66 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ 67 > 68 { 69 typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; 70 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 71 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 72 }; 73 } 74 template<typename T0 , typename T1 , typename T2 , typename T3> 75 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 76 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3)77 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) 78 { 79 fusion::vector<const T0& , const T1& , const T2& , const T3&> seqs( 80 t0 , t1 , t2 , t3); 81 return typename result_of::zip<const T0 , const T1 , const T2 , const T3>::type( 82 seqs); 83 } 84 namespace result_of 85 { 86 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > 87 struct zip< T0 , T1 , T2 , T3 , T4 88 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ 89 > 90 { 91 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; 92 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 93 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 94 }; 95 } 96 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4> 97 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 98 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4)99 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) 100 { 101 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4&> seqs( 102 t0 , t1 , t2 , t3 , t4); 103 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4>::type( 104 seqs); 105 } 106 namespace result_of 107 { 108 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > 109 struct zip< T0 , T1 , T2 , T3 , T4 , T5 110 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ 111 > 112 { 113 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; 114 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 115 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 116 }; 117 } 118 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5> 119 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 120 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5)121 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) 122 { 123 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5&> seqs( 124 t0 , t1 , t2 , t3 , t4 , t5); 125 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5>::type( 126 seqs); 127 } 128 namespace result_of 129 { 130 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > 131 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 132 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ 133 > 134 { 135 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; 136 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 137 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 138 }; 139 } 140 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6> 141 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 142 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6)143 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) 144 { 145 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6&> seqs( 146 t0 , t1 , t2 , t3 , t4 , t5 , t6); 147 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6>::type( 148 seqs); 149 } 150 namespace result_of 151 { 152 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > 153 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 154 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ 155 > 156 { 157 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; 158 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 159 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 160 }; 161 } 162 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7> 163 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 164 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7)165 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) 166 { 167 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7&> seqs( 168 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); 169 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7>::type( 170 seqs); 171 } 172 namespace result_of 173 { 174 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > 175 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 176 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ 177 > 178 { 179 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; 180 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 181 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 182 }; 183 } 184 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8> 185 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 186 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8)187 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) 188 { 189 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8&> seqs( 190 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); 191 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8>::type( 192 seqs); 193 } 194 namespace result_of 195 { 196 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > 197 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 198 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ 199 > 200 { 201 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; 202 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 203 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 204 }; 205 } 206 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9> 207 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 208 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8,T9 const & t9)209 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) 210 { 211 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9&> seqs( 212 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); 213 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9>::type( 214 seqs); 215 } 216 namespace result_of 217 { 218 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > 219 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 220 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ 221 > 222 { 223 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; 224 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 225 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 226 }; 227 } 228 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10> 229 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 230 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8,T9 const & t9,T10 const & t10)231 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) 232 { 233 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9& , const T10&> seqs( 234 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); 235 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10>::type( 236 seqs); 237 } 238 namespace result_of 239 { 240 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > 241 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 242 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ 243 > 244 { 245 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; 246 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 247 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 248 }; 249 } 250 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11> 251 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 252 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8,T9 const & t9,T10 const & t10,T11 const & t11)253 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) 254 { 255 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9& , const T10& , const T11&> seqs( 256 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); 257 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11>::type( 258 seqs); 259 } 260 namespace result_of 261 { 262 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > 263 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 264 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ 265 > 266 { 267 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; 268 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 269 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 270 }; 271 } 272 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12> 273 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 274 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8,T9 const & t9,T10 const & t10,T11 const & t11,T12 const & t12)275 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) 276 { 277 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9& , const T10& , const T11& , const T12&> seqs( 278 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); 279 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12>::type( 280 seqs); 281 } 282 namespace result_of 283 { 284 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > 285 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 286 , void_ , void_ , void_ , void_ , void_ , void_ , void_ 287 > 288 { 289 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; 290 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 291 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 292 }; 293 } 294 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13> 295 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 296 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8,T9 const & t9,T10 const & t10,T11 const & t11,T12 const & t12,T13 const & t13)297 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) 298 { 299 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9& , const T10& , const T11& , const T12& , const T13&> seqs( 300 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); 301 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13>::type( 302 seqs); 303 } 304 namespace result_of 305 { 306 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > 307 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 308 , void_ , void_ , void_ , void_ , void_ , void_ 309 > 310 { 311 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; 312 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 313 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 314 }; 315 } 316 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14> 317 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 318 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13 , const T14>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8,T9 const & t9,T10 const & t10,T11 const & t11,T12 const & t12,T13 const & t13,T14 const & t14)319 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) 320 { 321 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9& , const T10& , const T11& , const T12& , const T13& , const T14&> seqs( 322 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); 323 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13 , const T14>::type( 324 seqs); 325 } 326 namespace result_of 327 { 328 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > 329 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 330 , void_ , void_ , void_ , void_ , void_ 331 > 332 { 333 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; 334 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 335 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 336 }; 337 } 338 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15> 339 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 340 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13 , const T14 , const T15>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8,T9 const & t9,T10 const & t10,T11 const & t11,T12 const & t12,T13 const & t13,T14 const & t14,T15 const & t15)341 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) 342 { 343 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9& , const T10& , const T11& , const T12& , const T13& , const T14& , const T15&> seqs( 344 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); 345 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13 , const T14 , const T15>::type( 346 seqs); 347 } 348 namespace result_of 349 { 350 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > 351 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 352 , void_ , void_ , void_ , void_ 353 > 354 { 355 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; 356 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 357 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 358 }; 359 } 360 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16> 361 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 362 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13 , const T14 , const T15 , const T16>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8,T9 const & t9,T10 const & t10,T11 const & t11,T12 const & t12,T13 const & t13,T14 const & t14,T15 const & t15,T16 const & t16)363 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) 364 { 365 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9& , const T10& , const T11& , const T12& , const T13& , const T14& , const T15& , const T16&> seqs( 366 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); 367 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13 , const T14 , const T15 , const T16>::type( 368 seqs); 369 } 370 namespace result_of 371 { 372 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > 373 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 374 , void_ , void_ , void_ 375 > 376 { 377 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; 378 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 379 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 380 }; 381 } 382 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17> 383 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 384 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13 , const T14 , const T15 , const T16 , const T17>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8,T9 const & t9,T10 const & t10,T11 const & t11,T12 const & t12,T13 const & t13,T14 const & t14,T15 const & t15,T16 const & t16,T17 const & t17)385 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) 386 { 387 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9& , const T10& , const T11& , const T12& , const T13& , const T14& , const T15& , const T16& , const T17&> seqs( 388 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); 389 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13 , const T14 , const T15 , const T16 , const T17>::type( 390 seqs); 391 } 392 namespace result_of 393 { 394 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > 395 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 396 , void_ , void_ 397 > 398 { 399 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; 400 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 401 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 402 }; 403 } 404 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18> 405 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 406 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13 , const T14 , const T15 , const T16 , const T17 , const T18>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8,T9 const & t9,T10 const & t10,T11 const & t11,T12 const & t12,T13 const & t13,T14 const & t14,T15 const & t15,T16 const & t16,T17 const & t17,T18 const & t18)407 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) 408 { 409 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9& , const T10& , const T11& , const T12& , const T13& , const T14& , const T15& , const T16& , const T17& , const T18&> seqs( 410 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); 411 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13 , const T14 , const T15 , const T16 , const T17 , const T18>::type( 412 seqs); 413 } 414 namespace result_of 415 { 416 template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > 417 struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 418 , void_ 419 > 420 { 421 typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; 422 typedef typename mpl::transform<sequences, add_reference<mpl::_> >::type ref_params; 423 typedef zip_view<typename result_of::as_vector<ref_params>::type> type; 424 }; 425 } 426 template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19> 427 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 428 inline typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13 , const T14 , const T15 , const T16 , const T17 , const T18 , const T19>::type zip(T0 const & t0,T1 const & t1,T2 const & t2,T3 const & t3,T4 const & t4,T5 const & t5,T6 const & t6,T7 const & t7,T8 const & t8,T9 const & t9,T10 const & t10,T11 const & t11,T12 const & t12,T13 const & t13,T14 const & t14,T15 const & t15,T16 const & t16,T17 const & t17,T18 const & t18,T19 const & t19)429 zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) 430 { 431 fusion::vector<const T0& , const T1& , const T2& , const T3& , const T4& , const T5& , const T6& , const T7& , const T8& , const T9& , const T10& , const T11& , const T12& , const T13& , const T14& , const T15& , const T16& , const T17& , const T18& , const T19&> seqs( 432 t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); 433 return typename result_of::zip<const T0 , const T1 , const T2 , const T3 , const T4 , const T5 , const T6 , const T7 , const T8 , const T9 , const T10 , const T11 , const T12 , const T13 , const T14 , const T15 , const T16 , const T17 , const T18 , const T19>::type( 434 seqs); 435 } 436 }} 437