1 /*============================================================================= 2 Copyright (c) 2001-2011 Joel de Guzman 3 4 Distributed under the Boost Software License, Version 1.0. (See accompanying 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 7 This is an auto-generated file. Do not edit! 8 ==============================================================================*/ 9 namespace boost { namespace fusion 10 { 11 struct void_; 12 struct fusion_sequence_tag; 13 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> 14 struct vector 15 : sequence_base<vector<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> > 16 { 17 private: 18 typedef typename detail::vector_n_chooser< 19 T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type 20 vector_n; 21 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19> 22 friend struct vector; 23 public: 24 typedef typename vector_n::types types; 25 typedef typename vector_n::fusion_tag fusion_tag; 26 typedef typename vector_n::tag tag; 27 typedef typename vector_n::size size; 28 typedef typename vector_n::category category; 29 typedef typename vector_n::is_view is_view; 30 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector31 vector() 32 : vec() {} 33 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19> 34 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector35 vector(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs) 36 : vec(rhs.vec) {} 37 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector38 vector(vector const& rhs) 39 : vec(rhs.vec) {} 40 template <typename Sequence> 41 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector42 vector(Sequence const& rhs, 43 typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler) 44 : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} 45 46 47 48 49 50 51 52 53 # if !defined(BOOST_CLANG) 54 BOOST_CONSTEXPR 55 # endif 56 BOOST_FUSION_GPU_ENABLED 57 explicit vectorboost::fusion::vector58 vector(typename detail::call_param<T0 >::type arg0) 59 : vec(arg0) {} 60 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 61 template <typename U0> 62 63 # if !defined(BOOST_CLANG) 64 BOOST_CXX14_CONSTEXPR 65 # endif 66 BOOST_FUSION_GPU_ENABLED 67 explicit vectorboost::fusion::vector68 vector(U0 && arg0 69 , typename boost::disable_if_c<boost::is_same<vector, typename boost::remove_cv_ref<U0>::type>::value, detail::enabler_>::type = detail::enabler 70 ) 71 : vec(std::forward<U0>( arg0)) {} 72 # endif 73 74 # if !defined(BOOST_CLANG) 75 BOOST_CONSTEXPR 76 # endif 77 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector78 vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1) 79 : vec(arg0 , arg1) {} 80 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 81 template <typename U0 , typename U1> 82 83 # if !defined(BOOST_CLANG) 84 BOOST_CXX14_CONSTEXPR 85 # endif 86 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector87 vector(U0 && arg0 , U1 && arg1 88 ) 89 : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1)) {} 90 # endif 91 92 # if !defined(BOOST_CLANG) 93 BOOST_CONSTEXPR 94 # endif 95 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector96 vector(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2) 97 : vec(arg0 , arg1 , arg2) {} 98 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 99 template <typename U0 , typename U1 , typename U2> 100 101 # if !defined(BOOST_CLANG) 102 BOOST_CXX14_CONSTEXPR 103 # endif 104 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector105 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 106 ) 107 : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2)) {} 108 # endif 109 110 # if !defined(BOOST_CLANG) 111 BOOST_CONSTEXPR 112 # endif 113 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector114 vector(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) 115 : vec(arg0 , arg1 , arg2 , arg3) {} 116 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 117 template <typename U0 , typename U1 , typename U2 , typename U3> 118 119 # if !defined(BOOST_CLANG) 120 BOOST_CXX14_CONSTEXPR 121 # endif 122 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector123 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 124 ) 125 : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3)) {} 126 # endif 127 128 # if !defined(BOOST_CLANG) 129 BOOST_CONSTEXPR 130 # endif 131 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector132 vector(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) 133 : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} 134 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 135 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4> 136 137 # if !defined(BOOST_CLANG) 138 BOOST_CXX14_CONSTEXPR 139 # endif 140 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector141 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 142 ) 143 : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4)) {} 144 # endif 145 146 # if !defined(BOOST_CLANG) 147 BOOST_CONSTEXPR 148 # endif 149 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector150 vector(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) 151 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} 152 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 153 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5> 154 155 # if !defined(BOOST_CLANG) 156 BOOST_CXX14_CONSTEXPR 157 # endif 158 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector159 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 160 ) 161 : vec(std::forward<U0>( arg0) , std::forward<U1>( arg1) , std::forward<U2>( arg2) , std::forward<U3>( arg3) , std::forward<U4>( arg4) , std::forward<U5>( arg5)) {} 162 # endif 163 164 # if !defined(BOOST_CLANG) 165 BOOST_CONSTEXPR 166 # endif 167 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector168 vector(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) 169 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} 170 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 171 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6> 172 173 # if !defined(BOOST_CLANG) 174 BOOST_CXX14_CONSTEXPR 175 # endif 176 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector177 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 178 ) 179 : vec(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)) {} 180 # endif 181 182 # if !defined(BOOST_CLANG) 183 BOOST_CONSTEXPR 184 # endif 185 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector186 vector(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) 187 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} 188 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 189 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7> 190 191 # if !defined(BOOST_CLANG) 192 BOOST_CXX14_CONSTEXPR 193 # endif 194 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector195 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 196 ) 197 : vec(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)) {} 198 # endif 199 200 # if !defined(BOOST_CLANG) 201 BOOST_CONSTEXPR 202 # endif 203 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector204 vector(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) 205 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} 206 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 207 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8> 208 209 # if !defined(BOOST_CLANG) 210 BOOST_CXX14_CONSTEXPR 211 # endif 212 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector213 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 214 ) 215 : vec(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)) {} 216 # endif 217 218 # if !defined(BOOST_CLANG) 219 BOOST_CONSTEXPR 220 # endif 221 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector222 vector(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) 223 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} 224 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 225 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9> 226 227 # if !defined(BOOST_CLANG) 228 BOOST_CXX14_CONSTEXPR 229 # endif 230 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector231 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 232 ) 233 : vec(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)) {} 234 # endif 235 236 # if !defined(BOOST_CLANG) 237 BOOST_CONSTEXPR 238 # endif 239 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector240 vector(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 , typename detail::call_param<T10 >::type arg10) 241 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} 242 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 243 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10> 244 245 # if !defined(BOOST_CLANG) 246 BOOST_CXX14_CONSTEXPR 247 # endif 248 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector249 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 250 ) 251 : vec(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) , std::forward<U10>( arg10)) {} 252 # endif 253 254 # if !defined(BOOST_CLANG) 255 BOOST_CONSTEXPR 256 # endif 257 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector258 vector(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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11) 259 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} 260 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 261 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11> 262 263 # if !defined(BOOST_CLANG) 264 BOOST_CXX14_CONSTEXPR 265 # endif 266 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector267 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 268 ) 269 : vec(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) , std::forward<U10>( arg10) , std::forward<U11>( arg11)) {} 270 # endif 271 272 # if !defined(BOOST_CLANG) 273 BOOST_CONSTEXPR 274 # endif 275 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector276 vector(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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12) 277 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} 278 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 279 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12> 280 281 # if !defined(BOOST_CLANG) 282 BOOST_CXX14_CONSTEXPR 283 # endif 284 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector285 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 286 ) 287 : vec(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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12)) {} 288 # endif 289 290 # if !defined(BOOST_CLANG) 291 BOOST_CONSTEXPR 292 # endif 293 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector294 vector(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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13) 295 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} 296 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 297 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13> 298 299 # if !defined(BOOST_CLANG) 300 BOOST_CXX14_CONSTEXPR 301 # endif 302 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector303 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 304 ) 305 : vec(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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13)) {} 306 # endif 307 308 # if !defined(BOOST_CLANG) 309 BOOST_CONSTEXPR 310 # endif 311 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector312 vector(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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14) 313 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} 314 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 315 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14> 316 317 # if !defined(BOOST_CLANG) 318 BOOST_CXX14_CONSTEXPR 319 # endif 320 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector321 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 322 ) 323 : vec(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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14)) {} 324 # endif 325 326 # if !defined(BOOST_CLANG) 327 BOOST_CONSTEXPR 328 # endif 329 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector330 vector(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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15) 331 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} 332 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 333 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15> 334 335 # if !defined(BOOST_CLANG) 336 BOOST_CXX14_CONSTEXPR 337 # endif 338 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector339 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 340 ) 341 : vec(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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15)) {} 342 # endif 343 344 # if !defined(BOOST_CLANG) 345 BOOST_CONSTEXPR 346 # endif 347 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector348 vector(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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16) 349 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} 350 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 351 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16> 352 353 # if !defined(BOOST_CLANG) 354 BOOST_CXX14_CONSTEXPR 355 # endif 356 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector357 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 358 ) 359 : vec(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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15) , std::forward<U16>( arg16)) {} 360 # endif 361 362 # if !defined(BOOST_CLANG) 363 BOOST_CONSTEXPR 364 # endif 365 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector366 vector(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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17) 367 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} 368 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 369 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17> 370 371 # if !defined(BOOST_CLANG) 372 BOOST_CXX14_CONSTEXPR 373 # endif 374 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector375 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 376 ) 377 : vec(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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15) , std::forward<U16>( arg16) , std::forward<U17>( arg17)) {} 378 # endif 379 380 # if !defined(BOOST_CLANG) 381 BOOST_CONSTEXPR 382 # endif 383 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector384 vector(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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18) 385 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} 386 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 387 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18> 388 389 # if !defined(BOOST_CLANG) 390 BOOST_CXX14_CONSTEXPR 391 # endif 392 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector393 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 394 ) 395 : vec(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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15) , std::forward<U16>( arg16) , std::forward<U17>( arg17) , std::forward<U18>( arg18)) {} 396 # endif 397 398 # if !defined(BOOST_CLANG) 399 BOOST_CONSTEXPR 400 # endif 401 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector402 vector(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 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19) 403 : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} 404 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 405 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19> 406 407 # if !defined(BOOST_CLANG) 408 BOOST_CXX14_CONSTEXPR 409 # endif 410 BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector411 vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 412 ) 413 : vec(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) , std::forward<U10>( arg10) , std::forward<U11>( arg11) , std::forward<U12>( arg12) , std::forward<U13>( arg13) , std::forward<U14>( arg14) , std::forward<U15>( arg15) , std::forward<U16>( arg16) , std::forward<U17>( arg17) , std::forward<U18>( arg18) , std::forward<U19>( arg19)) {} 414 # endif 415 template <typename U0 , typename U1 , typename U2 , typename U3 , typename U4 , typename U5 , typename U6 , typename U7 , typename U8 , typename U9 , typename U10 , typename U11 , typename U12 , typename U13 , typename U14 , typename U15 , typename U16 , typename U17 , typename U18 , typename U19> 416 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 417 vector& operator =boost::fusion::vector418 operator=(vector<U0 , U1 , U2 , U3 , U4 , U5 , U6 , U7 , U8 , U9 , U10 , U11 , U12 , U13 , U14 , U15 , U16 , U17 , U18 , U19> const& rhs) 419 { 420 vec = rhs.vec; 421 return *this; 422 } 423 template <typename T> 424 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 425 vector& operator =boost::fusion::vector426 operator=(T const& rhs) 427 { 428 vec = rhs; 429 return *this; 430 } 431 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 432 vector& operator =boost::fusion::vector433 operator=(vector const& rhs) 434 { 435 vec = rhs.vec; 436 return *this; 437 } 438 # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) 439 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vectorboost::fusion::vector440 vector(vector&& rhs) 441 : vec(std::forward<vector_n>(rhs.vec)) {} 442 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 443 vector& operator =boost::fusion::vector444 operator=(vector&& rhs) 445 { 446 vec = std::forward<vector_n>(rhs.vec); 447 return *this; 448 } 449 template <typename T> 450 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 451 typename boost::disable_if_c< 452 boost::is_same<vector, typename boost::remove_cv_ref<T>::type>::value 453 , vector& 454 >::type operator =boost::fusion::vector455 operator=(T&& rhs) 456 { 457 vec = std::forward<T>( rhs); 458 return *this; 459 } 460 # endif 461 template <int N> 462 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 463 typename add_reference< 464 typename mpl::at_c<types, N>::type 465 >::type at_implboost::fusion::vector466 at_impl(mpl::int_<N> index) 467 { 468 return vec.at_impl(index); 469 } 470 template <int N> 471 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 472 typename add_reference< 473 typename add_const< 474 typename mpl::at_c<types, N>::type 475 >::type 476 >::type at_implboost::fusion::vector477 at_impl(mpl::int_<N> index) const 478 { 479 return vec.at_impl(index); 480 } 481 template <typename I> 482 BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED 483 typename add_reference< 484 typename mpl::at<types, I>::type 485 >::type at_implboost::fusion::vector486 at_impl(I ) 487 { 488 return vec.at_impl(mpl::int_<I::value>()); 489 } 490 template<typename I> 491 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED 492 typename add_reference< 493 typename add_const< 494 typename mpl::at<types, I>::type 495 >::type 496 >::type at_implboost::fusion::vector497 at_impl(I ) const 498 { 499 return vec.at_impl(mpl::int_<I::value>()); 500 } 501 private: 502 BOOST_FUSION_VECTOR_CTOR_HELPER() 503 vector_n vec; 504 }; 505 }} 506