1 //Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
3 //Distributed under the Boost Software License, Version 1.0. (See accompanying
4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #ifndef BOOST_QVM_61CDD11E9D9C167272E61DF0844F4A77
7 #define BOOST_QVM_61CDD11E9D9C167272E61DF0844F4A77
9 //This file was generated by a program. Do not edit manually.
11 #include <boost/qvm/detail/swizzle_traits.hpp>
12 #include <boost/qvm/enable_if.hpp>
13 #include <boost/qvm/inline.hpp>
21 BOOST_QVM_INLINE_TRIVIAL
22 qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > const &
25 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > const *>(qvm_detail::get_null());
27 BOOST_QVM_INLINE_TRIVIAL
28 qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > const &
31 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > const *>(qvm_detail::get_null());
34 BOOST_QVM_INLINE_TRIVIAL
36 is_vec<V>::value && vec_traits<V>::dim>=4,
37 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > const &>::type
40 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > const &>(a);
43 BOOST_QVM_INLINE_TRIVIAL
45 is_vec<V>::value && vec_traits<V>::dim>=4,
46 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > &>::type
49 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > &>(a);
52 BOOST_QVM_INLINE_TRIVIAL
54 is_vec<V>::value && vec_traits<V>::dim>=3,
55 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > const &>::type
58 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > const &>(a);
61 BOOST_QVM_INLINE_TRIVIAL
63 is_vec<V>::value && vec_traits<V>::dim>=3,
64 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > &>::type
67 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > &>(a);
70 BOOST_QVM_INLINE_TRIVIAL
72 is_vec<V>::value && vec_traits<V>::dim>=2,
73 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > const &>::type
76 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > const &>(a);
79 BOOST_QVM_INLINE_TRIVIAL
81 is_vec<V>::value && vec_traits<V>::dim>=2,
82 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > &>::type
85 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > &>(a);
88 BOOST_QVM_INLINE_TRIVIAL
90 is_vec<V>::value && vec_traits<V>::dim>=1,
91 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>::type
94 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > const &>(a);
97 BOOST_QVM_INLINE_TRIVIAL
99 is_vec<V>::value && vec_traits<V>::dim>=1,
100 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>::type
103 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > &>(a);
105 BOOST_QVM_INLINE_TRIVIAL
106 qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > const &
109 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > const *>(qvm_detail::get_null());
111 BOOST_QVM_INLINE_TRIVIAL
112 qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > const &
115 return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > const *>(qvm_detail::get_null());
118 BOOST_QVM_INLINE_TRIVIAL
119 typename enable_if_c<
120 is_vec<V>::value && vec_traits<V>::dim>=4,
121 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > const &>::type
124 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > const &>(a);
127 BOOST_QVM_INLINE_TRIVIAL
128 typename enable_if_c<
129 is_vec<V>::value && vec_traits<V>::dim>=4,
130 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > &>::type
133 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > &>(a);
136 BOOST_QVM_INLINE_TRIVIAL
137 typename enable_if_c<
138 is_vec<V>::value && vec_traits<V>::dim>=3,
139 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > const &>::type
142 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > const &>(a);
145 BOOST_QVM_INLINE_TRIVIAL
146 typename enable_if_c<
147 is_vec<V>::value && vec_traits<V>::dim>=3,
148 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > &>::type
151 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > &>(a);
154 BOOST_QVM_INLINE_TRIVIAL
155 typename enable_if_c<
156 is_vec<V>::value && vec_traits<V>::dim>=2,
157 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > const &>::type
160 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > const &>(a);
163 BOOST_QVM_INLINE_TRIVIAL
164 typename enable_if_c<
165 is_vec<V>::value && vec_traits<V>::dim>=2,
166 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > &>::type
169 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > &>(a);
172 BOOST_QVM_INLINE_TRIVIAL
173 typename enable_if_c<
174 is_vec<V>::value && vec_traits<V>::dim>=1,
175 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>::type
178 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > const &>(a);
181 BOOST_QVM_INLINE_TRIVIAL
182 typename enable_if_c<
183 is_vec<V>::value && vec_traits<V>::dim>=1,
184 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>::type
187 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > &>(a);
190 BOOST_QVM_INLINE_TRIVIAL
191 typename enable_if_c<
192 is_vec<V>::value && vec_traits<V>::dim>=4,
193 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > const &>::type
196 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > const &>(a);
199 BOOST_QVM_INLINE_TRIVIAL
200 typename enable_if_c<
201 is_vec<V>::value && vec_traits<V>::dim>=4,
202 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > &>::type
205 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > &>(a);
208 BOOST_QVM_INLINE_TRIVIAL
209 typename enable_if_c<
210 is_vec<V>::value && vec_traits<V>::dim>=4,
211 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > const &>::type
214 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > const &>(a);
217 BOOST_QVM_INLINE_TRIVIAL
218 typename enable_if_c<
219 is_vec<V>::value && vec_traits<V>::dim>=4,
220 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > &>::type
223 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > &>(a);
226 BOOST_QVM_INLINE_TRIVIAL
227 typename enable_if_c<
228 is_vec<V>::value && vec_traits<V>::dim>=4,
229 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > const &>::type
232 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > const &>(a);
235 BOOST_QVM_INLINE_TRIVIAL
236 typename enable_if_c<
237 is_vec<V>::value && vec_traits<V>::dim>=4,
238 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > &>::type
241 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > &>(a);
244 BOOST_QVM_INLINE_TRIVIAL
245 typename enable_if_c<
246 is_vec<V>::value && vec_traits<V>::dim>=4,
247 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > const &>::type
250 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > const &>(a);
253 BOOST_QVM_INLINE_TRIVIAL
254 typename enable_if_c<
255 is_vec<V>::value && vec_traits<V>::dim>=4,
256 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > &>::type
259 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > &>(a);
262 BOOST_QVM_INLINE_TRIVIAL
263 typename enable_if_c<
264 is_vec<V>::value && vec_traits<V>::dim>=4,
265 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > const &>::type
268 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > const &>(a);
271 BOOST_QVM_INLINE_TRIVIAL
272 typename enable_if_c<
273 is_vec<V>::value && vec_traits<V>::dim>=4,
274 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > &>::type
277 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > &>(a);
280 BOOST_QVM_INLINE_TRIVIAL
281 typename enable_if_c<
282 is_vec<V>::value && vec_traits<V>::dim>=4,
283 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > const &>::type
286 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > const &>(a);
289 BOOST_QVM_INLINE_TRIVIAL
290 typename enable_if_c<
291 is_vec<V>::value && vec_traits<V>::dim>=4,
292 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > &>::type
295 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > &>(a);
298 BOOST_QVM_INLINE_TRIVIAL
299 typename enable_if_c<
300 is_vec<V>::value && vec_traits<V>::dim>=3,
301 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > const &>::type
304 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > const &>(a);
307 BOOST_QVM_INLINE_TRIVIAL
308 typename enable_if_c<
309 is_vec<V>::value && vec_traits<V>::dim>=3,
310 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > &>::type
313 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > &>(a);
316 BOOST_QVM_INLINE_TRIVIAL
317 typename enable_if_c<
318 is_vec<V>::value && vec_traits<V>::dim>=3,
319 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > const &>::type
322 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > const &>(a);
325 BOOST_QVM_INLINE_TRIVIAL
326 typename enable_if_c<
327 is_vec<V>::value && vec_traits<V>::dim>=3,
328 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > &>::type
331 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > &>(a);
334 BOOST_QVM_INLINE_TRIVIAL
335 typename enable_if_c<
336 is_vec<V>::value && vec_traits<V>::dim>=4,
337 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > const &>::type
340 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > const &>(a);
343 BOOST_QVM_INLINE_TRIVIAL
344 typename enable_if_c<
345 is_vec<V>::value && vec_traits<V>::dim>=4,
346 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > &>::type
349 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > &>(a);
352 BOOST_QVM_INLINE_TRIVIAL
353 typename enable_if_c<
354 is_vec<V>::value && vec_traits<V>::dim>=3,
355 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > const &>::type
358 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > const &>(a);
361 BOOST_QVM_INLINE_TRIVIAL
362 typename enable_if_c<
363 is_vec<V>::value && vec_traits<V>::dim>=3,
364 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > &>::type
367 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > &>(a);
370 BOOST_QVM_INLINE_TRIVIAL
371 typename enable_if_c<
372 is_vec<V>::value && vec_traits<V>::dim>=3,
373 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > const &>::type
376 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > const &>(a);
379 BOOST_QVM_INLINE_TRIVIAL
380 typename enable_if_c<
381 is_vec<V>::value && vec_traits<V>::dim>=3,
382 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > &>::type
385 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > &>(a);
388 BOOST_QVM_INLINE_TRIVIAL
389 typename enable_if_c<
390 is_vec<V>::value && vec_traits<V>::dim>=3,
391 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > const &>::type
394 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > const &>(a);
397 BOOST_QVM_INLINE_TRIVIAL
398 typename enable_if_c<
399 is_vec<V>::value && vec_traits<V>::dim>=3,
400 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > &>::type
403 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > &>(a);
406 BOOST_QVM_INLINE_TRIVIAL
407 typename enable_if_c<
408 is_vec<V>::value && vec_traits<V>::dim>=2,
409 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > const &>::type
412 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > const &>(a);
415 BOOST_QVM_INLINE_TRIVIAL
416 typename enable_if_c<
417 is_vec<V>::value && vec_traits<V>::dim>=2,
418 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > &>::type
421 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > &>(a);
424 BOOST_QVM_INLINE_TRIVIAL
425 typename enable_if_c<
426 is_vec<V>::value && vec_traits<V>::dim>=2,
427 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > const &>::type
430 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > const &>(a);
433 BOOST_QVM_INLINE_TRIVIAL
434 typename enable_if_c<
435 is_vec<V>::value && vec_traits<V>::dim>=2,
436 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > &>::type
439 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > &>(a);
442 BOOST_QVM_INLINE_TRIVIAL
443 typename enable_if_c<
444 is_vec<V>::value && vec_traits<V>::dim>=4,
445 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > const &>::type
448 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > const &>(a);
451 BOOST_QVM_INLINE_TRIVIAL
452 typename enable_if_c<
453 is_vec<V>::value && vec_traits<V>::dim>=4,
454 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > &>::type
457 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > &>(a);
460 BOOST_QVM_INLINE_TRIVIAL
461 typename enable_if_c<
462 is_vec<V>::value && vec_traits<V>::dim>=3,
463 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > const &>::type
466 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > const &>(a);
469 BOOST_QVM_INLINE_TRIVIAL
470 typename enable_if_c<
471 is_vec<V>::value && vec_traits<V>::dim>=3,
472 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > &>::type
475 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > &>(a);
478 BOOST_QVM_INLINE_TRIVIAL
479 typename enable_if_c<
480 is_vec<V>::value && vec_traits<V>::dim>=2,
481 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > const &>::type
484 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > const &>(a);
487 BOOST_QVM_INLINE_TRIVIAL
488 typename enable_if_c<
489 is_vec<V>::value && vec_traits<V>::dim>=2,
490 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > &>::type
493 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > &>(a);
496 BOOST_QVM_INLINE_TRIVIAL
497 typename enable_if_c<
498 is_vec<V>::value && vec_traits<V>::dim>=2,
499 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > const &>::type
502 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > const &>(a);
505 BOOST_QVM_INLINE_TRIVIAL
506 typename enable_if_c<
507 is_vec<V>::value && vec_traits<V>::dim>=2,
508 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > &>::type
511 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > &>(a);
514 BOOST_QVM_INLINE_TRIVIAL
515 typename enable_if_c<
516 is_vec<V>::value && vec_traits<V>::dim>=1,
517 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>::type
520 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > const &>(a);
523 BOOST_QVM_INLINE_TRIVIAL
524 typename enable_if_c<
525 is_vec<V>::value && vec_traits<V>::dim>=1,
526 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>::type
529 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > &>(a);
532 BOOST_QVM_INLINE_TRIVIAL
533 typename enable_if_c<
534 is_vec<V>::value && vec_traits<V>::dim>=1,
535 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>::type
538 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > const &>(a);
541 BOOST_QVM_INLINE_TRIVIAL
542 typename enable_if_c<
543 is_vec<V>::value && vec_traits<V>::dim>=1,
544 qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>::type
547 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > &>(a);
550 BOOST_QVM_INLINE_TRIVIAL
551 typename enable_if_c<
552 is_vec<V>::value && vec_traits<V>::dim>=4,
553 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > const &>::type
556 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > const &>(a);
559 BOOST_QVM_INLINE_TRIVIAL
560 typename enable_if_c<
561 is_vec<V>::value && vec_traits<V>::dim>=4,
562 qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > &>::type
565 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > &>(a);
568 BOOST_QVM_INLINE_TRIVIAL
569 typename enable_if_c<
570 is_vec<V>::value && vec_traits<V>::dim>=3,
571 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > const &>::type
574 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > const &>(a);
577 BOOST_QVM_INLINE_TRIVIAL
578 typename enable_if_c<
579 is_vec<V>::value && vec_traits<V>::dim>=3,
580 qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > &>::type
583 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > &>(a);
586 BOOST_QVM_INLINE_TRIVIAL
587 typename enable_if_c<
588 is_vec<V>::value && vec_traits<V>::dim>=2,
589 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > const &>::type
592 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > const &>(a);
595 BOOST_QVM_INLINE_TRIVIAL
596 typename enable_if_c<
597 is_vec<V>::value && vec_traits<V>::dim>=2,
598 qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > &>::type
601 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > &>(a);
604 BOOST_QVM_INLINE_TRIVIAL
605 typename enable_if_c<
606 is_vec<V>::value && vec_traits<V>::dim>=1,
607 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>::type
610 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > const &>(a);
613 BOOST_QVM_INLINE_TRIVIAL
614 typename enable_if_c<
615 is_vec<V>::value && vec_traits<V>::dim>=1,
616 qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>::type
619 return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > &>(a);