1 //Copyright (c) 2008-2017 Emil Dotchevski and Reverge Studios, Inc.
2 
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)
5 
6 #ifndef BOOST_QVM_F445D3D828CEBF5C560593D97278A59
7 #define BOOST_QVM_F445D3D828CEBF5C560593D97278A59
8 
9 //This file was generated by a program. Do not edit manually.
10 
11 #include <boost/qvm/detail/swizzle_traits.hpp>
12 #include <boost/qvm/enable_if.hpp>
13 #include <boost/qvm/inline.hpp>
14 
15 namespace
16 boost
17     {
18     namespace
19     qvm
20         {
21         BOOST_QVM_INLINE_TRIVIAL
22         qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
_1111()23         _1111()
24             {
25             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
26             }
27         BOOST_QVM_INLINE_TRIVIAL
28         qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
_0111()29         _0111()
30             {
31             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
32             }
33         template <class V>
34         BOOST_QVM_INLINE_TRIVIAL
35         typename enable_if_c<
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,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
38         W111( V const & a )
39             {
40             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
41             }
42         template <class V>
43         BOOST_QVM_INLINE_TRIVIAL
44         typename enable_if_c<
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,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
47         W111( V & a )
48             {
49             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
50             }
51         template <class V>
52         BOOST_QVM_INLINE_TRIVIAL
53         typename enable_if_c<
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,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
56         Z111( V const & a )
57             {
58             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
59             }
60         template <class V>
61         BOOST_QVM_INLINE_TRIVIAL
62         typename enable_if_c<
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,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
65         Z111( V & a )
66             {
67             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
68             }
69         template <class V>
70         BOOST_QVM_INLINE_TRIVIAL
71         typename enable_if_c<
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,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
74         Y111( V const & a )
75             {
76             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
77             }
78         template <class V>
79         BOOST_QVM_INLINE_TRIVIAL
80         typename enable_if_c<
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,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
83         Y111( V & a )
84             {
85             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
86             }
87         template <class V>
88         BOOST_QVM_INLINE_TRIVIAL
89         typename enable_if_c<
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,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
92         X111( V const & a )
93             {
94             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
95             }
96         template <class S>
97         BOOST_QVM_INLINE_TRIVIAL
98         typename enable_if_c<
99             is_scalar<S>::value,
100             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X111(S const & a)101         X111( S const & a )
102             {
103             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
104             }
105         template <class V>
106         BOOST_QVM_INLINE_TRIVIAL
107         typename enable_if_c<
108             is_vec<V>::value && vec_traits<V>::dim>=1,
109             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
110         X111( V & a )
111             {
112             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
113             }
114         template <class S>
115         BOOST_QVM_INLINE_TRIVIAL
116         typename enable_if_c<
117             is_scalar<S>::value,
118             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X111(S & a)119         X111( S & a )
120             {
121             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
122             }
123         BOOST_QVM_INLINE_TRIVIAL
124         qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
_1011()125         _1011()
126             {
127             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
128             }
129         BOOST_QVM_INLINE_TRIVIAL
130         qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &
_0011()131         _0011()
132             {
133             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
134             }
135         template <class V>
136         BOOST_QVM_INLINE_TRIVIAL
137         typename enable_if_c<
138             is_vec<V>::value && vec_traits<V>::dim>=4,
139             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
140         W011( V const & a )
141             {
142             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
143             }
144         template <class V>
145         BOOST_QVM_INLINE_TRIVIAL
146         typename enable_if_c<
147             is_vec<V>::value && vec_traits<V>::dim>=4,
148             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
149         W011( V & a )
150             {
151             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
152             }
153         template <class V>
154         BOOST_QVM_INLINE_TRIVIAL
155         typename enable_if_c<
156             is_vec<V>::value && vec_traits<V>::dim>=3,
157             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
158         Z011( V const & a )
159             {
160             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
161             }
162         template <class V>
163         BOOST_QVM_INLINE_TRIVIAL
164         typename enable_if_c<
165             is_vec<V>::value && vec_traits<V>::dim>=3,
166             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
167         Z011( V & a )
168             {
169             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
170             }
171         template <class V>
172         BOOST_QVM_INLINE_TRIVIAL
173         typename enable_if_c<
174             is_vec<V>::value && vec_traits<V>::dim>=2,
175             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
176         Y011( V const & a )
177             {
178             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
179             }
180         template <class V>
181         BOOST_QVM_INLINE_TRIVIAL
182         typename enable_if_c<
183             is_vec<V>::value && vec_traits<V>::dim>=2,
184             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
185         Y011( V & a )
186             {
187             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
188             }
189         template <class V>
190         BOOST_QVM_INLINE_TRIVIAL
191         typename enable_if_c<
192             is_vec<V>::value && vec_traits<V>::dim>=1,
193             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
194         X011( V const & a )
195             {
196             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
197             }
198         template <class S>
199         BOOST_QVM_INLINE_TRIVIAL
200         typename enable_if_c<
201             is_scalar<S>::value,
202             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X011(S const & a)203         X011( S const & a )
204             {
205             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
206             }
207         template <class V>
208         BOOST_QVM_INLINE_TRIVIAL
209         typename enable_if_c<
210             is_vec<V>::value && vec_traits<V>::dim>=1,
211             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
212         X011( V & a )
213             {
214             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
215             }
216         template <class S>
217         BOOST_QVM_INLINE_TRIVIAL
218         typename enable_if_c<
219             is_scalar<S>::value,
220             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X011(S & a)221         X011( S & a )
222             {
223             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
224             }
225         template <class V>
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<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
230         _1W11( V const & a )
231             {
232             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
233             }
234         template <class V>
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<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
239         _1W11( V & a )
240             {
241             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
242             }
243         template <class V>
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<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
248         _0W11( V const & a )
249             {
250             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
251             }
252         template <class V>
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<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
257         _0W11( V & a )
258             {
259             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
260             }
261         template <class V>
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<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
266         WW11( V const & a )
267             {
268             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
269             }
270         template <class V>
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<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
275         WW11( V & a )
276             {
277             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
278             }
279         template <class V>
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<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
284         ZW11( V const & a )
285             {
286             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
287             }
288         template <class V>
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<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
293         ZW11( V & a )
294             {
295             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
296             }
297         template <class V>
298         BOOST_QVM_INLINE_TRIVIAL
299         typename enable_if_c<
300             is_vec<V>::value && vec_traits<V>::dim>=4,
301             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
302         YW11( V const & a )
303             {
304             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
305             }
306         template <class V>
307         BOOST_QVM_INLINE_TRIVIAL
308         typename enable_if_c<
309             is_vec<V>::value && vec_traits<V>::dim>=4,
310             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
311         YW11( V & a )
312             {
313             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
314             }
315         template <class V>
316         BOOST_QVM_INLINE_TRIVIAL
317         typename enable_if_c<
318             is_vec<V>::value && vec_traits<V>::dim>=4,
319             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
320         XW11( V const & a )
321             {
322             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
323             }
324         template <class V>
325         BOOST_QVM_INLINE_TRIVIAL
326         typename enable_if_c<
327             is_vec<V>::value && vec_traits<V>::dim>=4,
328             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
329         XW11( V & a )
330             {
331             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
332             }
333         template <class V>
334         BOOST_QVM_INLINE_TRIVIAL
335         typename enable_if_c<
336             is_vec<V>::value && vec_traits<V>::dim>=3,
337             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
338         _1Z11( V const & a )
339             {
340             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
341             }
342         template <class V>
343         BOOST_QVM_INLINE_TRIVIAL
344         typename enable_if_c<
345             is_vec<V>::value && vec_traits<V>::dim>=3,
346             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
347         _1Z11( V & a )
348             {
349             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
350             }
351         template <class V>
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<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
356         _0Z11( V const & a )
357             {
358             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
359             }
360         template <class V>
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<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
365         _0Z11( V & a )
366             {
367             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
368             }
369         template <class V>
370         BOOST_QVM_INLINE_TRIVIAL
371         typename enable_if_c<
372             is_vec<V>::value && vec_traits<V>::dim>=4,
373             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
374         WZ11( V const & a )
375             {
376             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
377             }
378         template <class V>
379         BOOST_QVM_INLINE_TRIVIAL
380         typename enable_if_c<
381             is_vec<V>::value && vec_traits<V>::dim>=4,
382             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
383         WZ11( V & a )
384             {
385             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
386             }
387         template <class V>
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<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
392         ZZ11( V const & a )
393             {
394             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
395             }
396         template <class V>
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<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
401         ZZ11( V & a )
402             {
403             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
404             }
405         template <class V>
406         BOOST_QVM_INLINE_TRIVIAL
407         typename enable_if_c<
408             is_vec<V>::value && vec_traits<V>::dim>=3,
409             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
410         YZ11( V const & a )
411             {
412             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
413             }
414         template <class V>
415         BOOST_QVM_INLINE_TRIVIAL
416         typename enable_if_c<
417             is_vec<V>::value && vec_traits<V>::dim>=3,
418             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
419         YZ11( V & a )
420             {
421             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
422             }
423         template <class V>
424         BOOST_QVM_INLINE_TRIVIAL
425         typename enable_if_c<
426             is_vec<V>::value && vec_traits<V>::dim>=3,
427             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
428         XZ11( V const & a )
429             {
430             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
431             }
432         template <class V>
433         BOOST_QVM_INLINE_TRIVIAL
434         typename enable_if_c<
435             is_vec<V>::value && vec_traits<V>::dim>=3,
436             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
437         XZ11( V & a )
438             {
439             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
440             }
441         template <class V>
442         BOOST_QVM_INLINE_TRIVIAL
443         typename enable_if_c<
444             is_vec<V>::value && vec_traits<V>::dim>=2,
445             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
446         _1Y11( V const & a )
447             {
448             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
449             }
450         template <class V>
451         BOOST_QVM_INLINE_TRIVIAL
452         typename enable_if_c<
453             is_vec<V>::value && vec_traits<V>::dim>=2,
454             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
455         _1Y11( V & a )
456             {
457             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
458             }
459         template <class V>
460         BOOST_QVM_INLINE_TRIVIAL
461         typename enable_if_c<
462             is_vec<V>::value && vec_traits<V>::dim>=2,
463             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
464         _0Y11( V const & a )
465             {
466             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
467             }
468         template <class V>
469         BOOST_QVM_INLINE_TRIVIAL
470         typename enable_if_c<
471             is_vec<V>::value && vec_traits<V>::dim>=2,
472             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
473         _0Y11( V & a )
474             {
475             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
476             }
477         template <class V>
478         BOOST_QVM_INLINE_TRIVIAL
479         typename enable_if_c<
480             is_vec<V>::value && vec_traits<V>::dim>=4,
481             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
482         WY11( V const & a )
483             {
484             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
485             }
486         template <class V>
487         BOOST_QVM_INLINE_TRIVIAL
488         typename enable_if_c<
489             is_vec<V>::value && vec_traits<V>::dim>=4,
490             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
491         WY11( V & a )
492             {
493             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
494             }
495         template <class V>
496         BOOST_QVM_INLINE_TRIVIAL
497         typename enable_if_c<
498             is_vec<V>::value && vec_traits<V>::dim>=3,
499             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
500         ZY11( V const & a )
501             {
502             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
503             }
504         template <class V>
505         BOOST_QVM_INLINE_TRIVIAL
506         typename enable_if_c<
507             is_vec<V>::value && vec_traits<V>::dim>=3,
508             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
509         ZY11( V & a )
510             {
511             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
512             }
513         template <class V>
514         BOOST_QVM_INLINE_TRIVIAL
515         typename enable_if_c<
516             is_vec<V>::value && vec_traits<V>::dim>=2,
517             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
518         YY11( V const & a )
519             {
520             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
521             }
522         template <class V>
523         BOOST_QVM_INLINE_TRIVIAL
524         typename enable_if_c<
525             is_vec<V>::value && vec_traits<V>::dim>=2,
526             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
527         YY11( V & a )
528             {
529             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
530             }
531         template <class V>
532         BOOST_QVM_INLINE_TRIVIAL
533         typename enable_if_c<
534             is_vec<V>::value && vec_traits<V>::dim>=2,
535             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
536         XY11( V const & a )
537             {
538             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
539             }
540         template <class V>
541         BOOST_QVM_INLINE_TRIVIAL
542         typename enable_if_c<
543             is_vec<V>::value && vec_traits<V>::dim>=2,
544             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
545         XY11( V & a )
546             {
547             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
548             }
549         template <class V>
550         BOOST_QVM_INLINE_TRIVIAL
551         typename enable_if_c<
552             is_vec<V>::value && vec_traits<V>::dim>=1,
553             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
554         _1X11( V const & a )
555             {
556             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
557             }
558         template <class S>
559         BOOST_QVM_INLINE_TRIVIAL
560         typename enable_if_c<
561             is_scalar<S>::value,
562             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1X11(S const & a)563         _1X11( S const & a )
564             {
565             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
566             }
567         template <class V>
568         BOOST_QVM_INLINE_TRIVIAL
569         typename enable_if_c<
570             is_vec<V>::value && vec_traits<V>::dim>=1,
571             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
572         _1X11( V & a )
573             {
574             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
575             }
576         template <class S>
577         BOOST_QVM_INLINE_TRIVIAL
578         typename enable_if_c<
579             is_scalar<S>::value,
580             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1X11(S & a)581         _1X11( S & a )
582             {
583             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
584             }
585         template <class V>
586         BOOST_QVM_INLINE_TRIVIAL
587         typename enable_if_c<
588             is_vec<V>::value && vec_traits<V>::dim>=1,
589             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
590         _0X11( V const & a )
591             {
592             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
593             }
594         template <class S>
595         BOOST_QVM_INLINE_TRIVIAL
596         typename enable_if_c<
597             is_scalar<S>::value,
598             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0X11(S const & a)599         _0X11( S const & a )
600             {
601             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
602             }
603         template <class V>
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<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
608         _0X11( V & a )
609             {
610             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
611             }
612         template <class S>
613         BOOST_QVM_INLINE_TRIVIAL
614         typename enable_if_c<
615             is_scalar<S>::value,
616             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0X11(S & a)617         _0X11( S & a )
618             {
619             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
620             }
621         template <class V>
622         BOOST_QVM_INLINE_TRIVIAL
623         typename enable_if_c<
624             is_vec<V>::value && vec_traits<V>::dim>=4,
625             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
626         WX11( V const & a )
627             {
628             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
629             }
630         template <class V>
631         BOOST_QVM_INLINE_TRIVIAL
632         typename enable_if_c<
633             is_vec<V>::value && vec_traits<V>::dim>=4,
634             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
635         WX11( V & a )
636             {
637             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
638             }
639         template <class V>
640         BOOST_QVM_INLINE_TRIVIAL
641         typename enable_if_c<
642             is_vec<V>::value && vec_traits<V>::dim>=3,
643             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
644         ZX11( V const & a )
645             {
646             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
647             }
648         template <class V>
649         BOOST_QVM_INLINE_TRIVIAL
650         typename enable_if_c<
651             is_vec<V>::value && vec_traits<V>::dim>=3,
652             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
653         ZX11( V & a )
654             {
655             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
656             }
657         template <class V>
658         BOOST_QVM_INLINE_TRIVIAL
659         typename enable_if_c<
660             is_vec<V>::value && vec_traits<V>::dim>=2,
661             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
662         YX11( V const & a )
663             {
664             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
665             }
666         template <class V>
667         BOOST_QVM_INLINE_TRIVIAL
668         typename enable_if_c<
669             is_vec<V>::value && vec_traits<V>::dim>=2,
670             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
671         YX11( V & a )
672             {
673             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
674             }
675         template <class V>
676         BOOST_QVM_INLINE_TRIVIAL
677         typename enable_if_c<
678             is_vec<V>::value && vec_traits<V>::dim>=1,
679             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
680         XX11( V const & a )
681             {
682             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
683             }
684         template <class S>
685         BOOST_QVM_INLINE_TRIVIAL
686         typename enable_if_c<
687             is_scalar<S>::value,
688             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XX11(S const & a)689         XX11( S const & a )
690             {
691             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
692             }
693         template <class V>
694         BOOST_QVM_INLINE_TRIVIAL
695         typename enable_if_c<
696             is_vec<V>::value && vec_traits<V>::dim>=1,
697             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
698         XX11( V & a )
699             {
700             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
701             }
702         template <class S>
703         BOOST_QVM_INLINE_TRIVIAL
704         typename enable_if_c<
705             is_scalar<S>::value,
706             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XX11(S & a)707         XX11( S & a )
708             {
709             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
710             }
711         BOOST_QVM_INLINE_TRIVIAL
712         qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
_1101()713         _1101()
714             {
715             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
716             }
717         BOOST_QVM_INLINE_TRIVIAL
718         qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
_0101()719         _0101()
720             {
721             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
722             }
723         template <class V>
724         BOOST_QVM_INLINE_TRIVIAL
725         typename enable_if_c<
726             is_vec<V>::value && vec_traits<V>::dim>=4,
727             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
728         W101( V const & a )
729             {
730             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
731             }
732         template <class V>
733         BOOST_QVM_INLINE_TRIVIAL
734         typename enable_if_c<
735             is_vec<V>::value && vec_traits<V>::dim>=4,
736             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
737         W101( V & a )
738             {
739             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
740             }
741         template <class V>
742         BOOST_QVM_INLINE_TRIVIAL
743         typename enable_if_c<
744             is_vec<V>::value && vec_traits<V>::dim>=3,
745             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
746         Z101( V const & a )
747             {
748             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
749             }
750         template <class V>
751         BOOST_QVM_INLINE_TRIVIAL
752         typename enable_if_c<
753             is_vec<V>::value && vec_traits<V>::dim>=3,
754             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
755         Z101( V & a )
756             {
757             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
758             }
759         template <class V>
760         BOOST_QVM_INLINE_TRIVIAL
761         typename enable_if_c<
762             is_vec<V>::value && vec_traits<V>::dim>=2,
763             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
764         Y101( V const & a )
765             {
766             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
767             }
768         template <class V>
769         BOOST_QVM_INLINE_TRIVIAL
770         typename enable_if_c<
771             is_vec<V>::value && vec_traits<V>::dim>=2,
772             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
773         Y101( V & a )
774             {
775             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
776             }
777         template <class V>
778         BOOST_QVM_INLINE_TRIVIAL
779         typename enable_if_c<
780             is_vec<V>::value && vec_traits<V>::dim>=1,
781             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
782         X101( V const & a )
783             {
784             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
785             }
786         template <class S>
787         BOOST_QVM_INLINE_TRIVIAL
788         typename enable_if_c<
789             is_scalar<S>::value,
790             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X101(S const & a)791         X101( S const & a )
792             {
793             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
794             }
795         template <class V>
796         BOOST_QVM_INLINE_TRIVIAL
797         typename enable_if_c<
798             is_vec<V>::value && vec_traits<V>::dim>=1,
799             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
800         X101( V & a )
801             {
802             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
803             }
804         template <class S>
805         BOOST_QVM_INLINE_TRIVIAL
806         typename enable_if_c<
807             is_scalar<S>::value,
808             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X101(S & a)809         X101( S & a )
810             {
811             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
812             }
813         BOOST_QVM_INLINE_TRIVIAL
814         qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
_1001()815         _1001()
816             {
817             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
818             }
819         BOOST_QVM_INLINE_TRIVIAL
820         qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &
_0001()821         _0001()
822             {
823             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const *>(qvm_detail::get_null());
824             }
825         template <class V>
826         BOOST_QVM_INLINE_TRIVIAL
827         typename enable_if_c<
828             is_vec<V>::value && vec_traits<V>::dim>=4,
829             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
830         W001( V const & a )
831             {
832             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
833             }
834         template <class V>
835         BOOST_QVM_INLINE_TRIVIAL
836         typename enable_if_c<
837             is_vec<V>::value && vec_traits<V>::dim>=4,
838             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
839         W001( V & a )
840             {
841             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
842             }
843         template <class V>
844         BOOST_QVM_INLINE_TRIVIAL
845         typename enable_if_c<
846             is_vec<V>::value && vec_traits<V>::dim>=3,
847             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
848         Z001( V const & a )
849             {
850             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
851             }
852         template <class V>
853         BOOST_QVM_INLINE_TRIVIAL
854         typename enable_if_c<
855             is_vec<V>::value && vec_traits<V>::dim>=3,
856             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
857         Z001( V & a )
858             {
859             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
860             }
861         template <class V>
862         BOOST_QVM_INLINE_TRIVIAL
863         typename enable_if_c<
864             is_vec<V>::value && vec_traits<V>::dim>=2,
865             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
866         Y001( V const & a )
867             {
868             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
869             }
870         template <class V>
871         BOOST_QVM_INLINE_TRIVIAL
872         typename enable_if_c<
873             is_vec<V>::value && vec_traits<V>::dim>=2,
874             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
875         Y001( V & a )
876             {
877             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
878             }
879         template <class V>
880         BOOST_QVM_INLINE_TRIVIAL
881         typename enable_if_c<
882             is_vec<V>::value && vec_traits<V>::dim>=1,
883             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
884         X001( V const & a )
885             {
886             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
887             }
888         template <class S>
889         BOOST_QVM_INLINE_TRIVIAL
890         typename enable_if_c<
891             is_scalar<S>::value,
892             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X001(S const & a)893         X001( S const & a )
894             {
895             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
896             }
897         template <class V>
898         BOOST_QVM_INLINE_TRIVIAL
899         typename enable_if_c<
900             is_vec<V>::value && vec_traits<V>::dim>=1,
901             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
902         X001( V & a )
903             {
904             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
905             }
906         template <class S>
907         BOOST_QVM_INLINE_TRIVIAL
908         typename enable_if_c<
909             is_scalar<S>::value,
910             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X001(S & a)911         X001( S & a )
912             {
913             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
914             }
915         template <class V>
916         BOOST_QVM_INLINE_TRIVIAL
917         typename enable_if_c<
918             is_vec<V>::value && vec_traits<V>::dim>=4,
919             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
920         _1W01( V const & a )
921             {
922             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
923             }
924         template <class V>
925         BOOST_QVM_INLINE_TRIVIAL
926         typename enable_if_c<
927             is_vec<V>::value && vec_traits<V>::dim>=4,
928             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
929         _1W01( V & a )
930             {
931             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
932             }
933         template <class V>
934         BOOST_QVM_INLINE_TRIVIAL
935         typename enable_if_c<
936             is_vec<V>::value && vec_traits<V>::dim>=4,
937             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
938         _0W01( V const & a )
939             {
940             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
941             }
942         template <class V>
943         BOOST_QVM_INLINE_TRIVIAL
944         typename enable_if_c<
945             is_vec<V>::value && vec_traits<V>::dim>=4,
946             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
947         _0W01( V & a )
948             {
949             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
950             }
951         template <class V>
952         BOOST_QVM_INLINE_TRIVIAL
953         typename enable_if_c<
954             is_vec<V>::value && vec_traits<V>::dim>=4,
955             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
956         WW01( V const & a )
957             {
958             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
959             }
960         template <class V>
961         BOOST_QVM_INLINE_TRIVIAL
962         typename enable_if_c<
963             is_vec<V>::value && vec_traits<V>::dim>=4,
964             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
965         WW01( V & a )
966             {
967             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
968             }
969         template <class V>
970         BOOST_QVM_INLINE_TRIVIAL
971         typename enable_if_c<
972             is_vec<V>::value && vec_traits<V>::dim>=4,
973             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
974         ZW01( V const & a )
975             {
976             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
977             }
978         template <class V>
979         BOOST_QVM_INLINE_TRIVIAL
980         typename enable_if_c<
981             is_vec<V>::value && vec_traits<V>::dim>=4,
982             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
983         ZW01( V & a )
984             {
985             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
986             }
987         template <class V>
988         BOOST_QVM_INLINE_TRIVIAL
989         typename enable_if_c<
990             is_vec<V>::value && vec_traits<V>::dim>=4,
991             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
992         YW01( V const & a )
993             {
994             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
995             }
996         template <class V>
997         BOOST_QVM_INLINE_TRIVIAL
998         typename enable_if_c<
999             is_vec<V>::value && vec_traits<V>::dim>=4,
1000             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1001         YW01( V & a )
1002             {
1003             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1004             }
1005         template <class V>
1006         BOOST_QVM_INLINE_TRIVIAL
1007         typename enable_if_c<
1008             is_vec<V>::value && vec_traits<V>::dim>=4,
1009             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1010         XW01( V const & a )
1011             {
1012             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1013             }
1014         template <class V>
1015         BOOST_QVM_INLINE_TRIVIAL
1016         typename enable_if_c<
1017             is_vec<V>::value && vec_traits<V>::dim>=4,
1018             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1019         XW01( V & a )
1020             {
1021             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1022             }
1023         template <class V>
1024         BOOST_QVM_INLINE_TRIVIAL
1025         typename enable_if_c<
1026             is_vec<V>::value && vec_traits<V>::dim>=3,
1027             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1028         _1Z01( V const & a )
1029             {
1030             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1031             }
1032         template <class V>
1033         BOOST_QVM_INLINE_TRIVIAL
1034         typename enable_if_c<
1035             is_vec<V>::value && vec_traits<V>::dim>=3,
1036             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1037         _1Z01( V & a )
1038             {
1039             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1040             }
1041         template <class V>
1042         BOOST_QVM_INLINE_TRIVIAL
1043         typename enable_if_c<
1044             is_vec<V>::value && vec_traits<V>::dim>=3,
1045             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1046         _0Z01( V const & a )
1047             {
1048             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1049             }
1050         template <class V>
1051         BOOST_QVM_INLINE_TRIVIAL
1052         typename enable_if_c<
1053             is_vec<V>::value && vec_traits<V>::dim>=3,
1054             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1055         _0Z01( V & a )
1056             {
1057             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1058             }
1059         template <class V>
1060         BOOST_QVM_INLINE_TRIVIAL
1061         typename enable_if_c<
1062             is_vec<V>::value && vec_traits<V>::dim>=4,
1063             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1064         WZ01( V const & a )
1065             {
1066             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1067             }
1068         template <class V>
1069         BOOST_QVM_INLINE_TRIVIAL
1070         typename enable_if_c<
1071             is_vec<V>::value && vec_traits<V>::dim>=4,
1072             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1073         WZ01( V & a )
1074             {
1075             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1076             }
1077         template <class V>
1078         BOOST_QVM_INLINE_TRIVIAL
1079         typename enable_if_c<
1080             is_vec<V>::value && vec_traits<V>::dim>=3,
1081             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1082         ZZ01( V const & a )
1083             {
1084             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1085             }
1086         template <class V>
1087         BOOST_QVM_INLINE_TRIVIAL
1088         typename enable_if_c<
1089             is_vec<V>::value && vec_traits<V>::dim>=3,
1090             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1091         ZZ01( V & a )
1092             {
1093             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1094             }
1095         template <class V>
1096         BOOST_QVM_INLINE_TRIVIAL
1097         typename enable_if_c<
1098             is_vec<V>::value && vec_traits<V>::dim>=3,
1099             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1100         YZ01( V const & a )
1101             {
1102             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1103             }
1104         template <class V>
1105         BOOST_QVM_INLINE_TRIVIAL
1106         typename enable_if_c<
1107             is_vec<V>::value && vec_traits<V>::dim>=3,
1108             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1109         YZ01( V & a )
1110             {
1111             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1112             }
1113         template <class V>
1114         BOOST_QVM_INLINE_TRIVIAL
1115         typename enable_if_c<
1116             is_vec<V>::value && vec_traits<V>::dim>=3,
1117             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1118         XZ01( V const & a )
1119             {
1120             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1121             }
1122         template <class V>
1123         BOOST_QVM_INLINE_TRIVIAL
1124         typename enable_if_c<
1125             is_vec<V>::value && vec_traits<V>::dim>=3,
1126             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1127         XZ01( V & a )
1128             {
1129             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1130             }
1131         template <class V>
1132         BOOST_QVM_INLINE_TRIVIAL
1133         typename enable_if_c<
1134             is_vec<V>::value && vec_traits<V>::dim>=2,
1135             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1136         _1Y01( V const & a )
1137             {
1138             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1139             }
1140         template <class V>
1141         BOOST_QVM_INLINE_TRIVIAL
1142         typename enable_if_c<
1143             is_vec<V>::value && vec_traits<V>::dim>=2,
1144             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1145         _1Y01( V & a )
1146             {
1147             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1148             }
1149         template <class V>
1150         BOOST_QVM_INLINE_TRIVIAL
1151         typename enable_if_c<
1152             is_vec<V>::value && vec_traits<V>::dim>=2,
1153             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1154         _0Y01( V const & a )
1155             {
1156             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1157             }
1158         template <class V>
1159         BOOST_QVM_INLINE_TRIVIAL
1160         typename enable_if_c<
1161             is_vec<V>::value && vec_traits<V>::dim>=2,
1162             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1163         _0Y01( V & a )
1164             {
1165             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1166             }
1167         template <class V>
1168         BOOST_QVM_INLINE_TRIVIAL
1169         typename enable_if_c<
1170             is_vec<V>::value && vec_traits<V>::dim>=4,
1171             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1172         WY01( V const & a )
1173             {
1174             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1175             }
1176         template <class V>
1177         BOOST_QVM_INLINE_TRIVIAL
1178         typename enable_if_c<
1179             is_vec<V>::value && vec_traits<V>::dim>=4,
1180             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1181         WY01( V & a )
1182             {
1183             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1184             }
1185         template <class V>
1186         BOOST_QVM_INLINE_TRIVIAL
1187         typename enable_if_c<
1188             is_vec<V>::value && vec_traits<V>::dim>=3,
1189             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1190         ZY01( V const & a )
1191             {
1192             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1193             }
1194         template <class V>
1195         BOOST_QVM_INLINE_TRIVIAL
1196         typename enable_if_c<
1197             is_vec<V>::value && vec_traits<V>::dim>=3,
1198             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1199         ZY01( V & a )
1200             {
1201             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1202             }
1203         template <class V>
1204         BOOST_QVM_INLINE_TRIVIAL
1205         typename enable_if_c<
1206             is_vec<V>::value && vec_traits<V>::dim>=2,
1207             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1208         YY01( V const & a )
1209             {
1210             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1211             }
1212         template <class V>
1213         BOOST_QVM_INLINE_TRIVIAL
1214         typename enable_if_c<
1215             is_vec<V>::value && vec_traits<V>::dim>=2,
1216             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1217         YY01( V & a )
1218             {
1219             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1220             }
1221         template <class V>
1222         BOOST_QVM_INLINE_TRIVIAL
1223         typename enable_if_c<
1224             is_vec<V>::value && vec_traits<V>::dim>=2,
1225             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1226         XY01( V const & a )
1227             {
1228             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1229             }
1230         template <class V>
1231         BOOST_QVM_INLINE_TRIVIAL
1232         typename enable_if_c<
1233             is_vec<V>::value && vec_traits<V>::dim>=2,
1234             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1235         XY01( V & a )
1236             {
1237             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1238             }
1239         template <class V>
1240         BOOST_QVM_INLINE_TRIVIAL
1241         typename enable_if_c<
1242             is_vec<V>::value && vec_traits<V>::dim>=1,
1243             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1244         _1X01( V const & a )
1245             {
1246             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1247             }
1248         template <class S>
1249         BOOST_QVM_INLINE_TRIVIAL
1250         typename enable_if_c<
1251             is_scalar<S>::value,
1252             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1X01(S const & a)1253         _1X01( S const & a )
1254             {
1255             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1256             }
1257         template <class V>
1258         BOOST_QVM_INLINE_TRIVIAL
1259         typename enable_if_c<
1260             is_vec<V>::value && vec_traits<V>::dim>=1,
1261             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1262         _1X01( V & a )
1263             {
1264             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1265             }
1266         template <class S>
1267         BOOST_QVM_INLINE_TRIVIAL
1268         typename enable_if_c<
1269             is_scalar<S>::value,
1270             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1X01(S & a)1271         _1X01( S & a )
1272             {
1273             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1274             }
1275         template <class V>
1276         BOOST_QVM_INLINE_TRIVIAL
1277         typename enable_if_c<
1278             is_vec<V>::value && vec_traits<V>::dim>=1,
1279             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1280         _0X01( V const & a )
1281             {
1282             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1283             }
1284         template <class S>
1285         BOOST_QVM_INLINE_TRIVIAL
1286         typename enable_if_c<
1287             is_scalar<S>::value,
1288             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0X01(S const & a)1289         _0X01( S const & a )
1290             {
1291             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1292             }
1293         template <class V>
1294         BOOST_QVM_INLINE_TRIVIAL
1295         typename enable_if_c<
1296             is_vec<V>::value && vec_traits<V>::dim>=1,
1297             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1298         _0X01( V & a )
1299             {
1300             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1301             }
1302         template <class S>
1303         BOOST_QVM_INLINE_TRIVIAL
1304         typename enable_if_c<
1305             is_scalar<S>::value,
1306             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0X01(S & a)1307         _0X01( S & a )
1308             {
1309             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1310             }
1311         template <class V>
1312         BOOST_QVM_INLINE_TRIVIAL
1313         typename enable_if_c<
1314             is_vec<V>::value && vec_traits<V>::dim>=4,
1315             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1316         WX01( V const & a )
1317             {
1318             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1319             }
1320         template <class V>
1321         BOOST_QVM_INLINE_TRIVIAL
1322         typename enable_if_c<
1323             is_vec<V>::value && vec_traits<V>::dim>=4,
1324             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1325         WX01( V & a )
1326             {
1327             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1328             }
1329         template <class V>
1330         BOOST_QVM_INLINE_TRIVIAL
1331         typename enable_if_c<
1332             is_vec<V>::value && vec_traits<V>::dim>=3,
1333             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1334         ZX01( V const & a )
1335             {
1336             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1337             }
1338         template <class V>
1339         BOOST_QVM_INLINE_TRIVIAL
1340         typename enable_if_c<
1341             is_vec<V>::value && vec_traits<V>::dim>=3,
1342             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1343         ZX01( V & a )
1344             {
1345             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1346             }
1347         template <class V>
1348         BOOST_QVM_INLINE_TRIVIAL
1349         typename enable_if_c<
1350             is_vec<V>::value && vec_traits<V>::dim>=2,
1351             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1352         YX01( V const & a )
1353             {
1354             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1355             }
1356         template <class V>
1357         BOOST_QVM_INLINE_TRIVIAL
1358         typename enable_if_c<
1359             is_vec<V>::value && vec_traits<V>::dim>=2,
1360             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1361         YX01( V & a )
1362             {
1363             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1364             }
1365         template <class V>
1366         BOOST_QVM_INLINE_TRIVIAL
1367         typename enable_if_c<
1368             is_vec<V>::value && vec_traits<V>::dim>=1,
1369             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1370         XX01( V const & a )
1371             {
1372             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1373             }
1374         template <class S>
1375         BOOST_QVM_INLINE_TRIVIAL
1376         typename enable_if_c<
1377             is_scalar<S>::value,
1378             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XX01(S const & a)1379         XX01( S const & a )
1380             {
1381             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1382             }
1383         template <class V>
1384         BOOST_QVM_INLINE_TRIVIAL
1385         typename enable_if_c<
1386             is_vec<V>::value && vec_traits<V>::dim>=1,
1387             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1388         XX01( V & a )
1389             {
1390             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1391             }
1392         template <class S>
1393         BOOST_QVM_INLINE_TRIVIAL
1394         typename enable_if_c<
1395             is_scalar<S>::value,
1396             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XX01(S & a)1397         XX01( S & a )
1398             {
1399             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1400             }
1401         template <class V>
1402         BOOST_QVM_INLINE_TRIVIAL
1403         typename enable_if_c<
1404             is_vec<V>::value && vec_traits<V>::dim>=4,
1405             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1406         _11W1( V const & a )
1407             {
1408             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1409             }
1410         template <class V>
1411         BOOST_QVM_INLINE_TRIVIAL
1412         typename enable_if_c<
1413             is_vec<V>::value && vec_traits<V>::dim>=4,
1414             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1415         _11W1( V & a )
1416             {
1417             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1418             }
1419         template <class V>
1420         BOOST_QVM_INLINE_TRIVIAL
1421         typename enable_if_c<
1422             is_vec<V>::value && vec_traits<V>::dim>=4,
1423             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1424         _01W1( V const & a )
1425             {
1426             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1427             }
1428         template <class V>
1429         BOOST_QVM_INLINE_TRIVIAL
1430         typename enable_if_c<
1431             is_vec<V>::value && vec_traits<V>::dim>=4,
1432             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1433         _01W1( V & a )
1434             {
1435             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1436             }
1437         template <class V>
1438         BOOST_QVM_INLINE_TRIVIAL
1439         typename enable_if_c<
1440             is_vec<V>::value && vec_traits<V>::dim>=4,
1441             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1442         W1W1( V const & a )
1443             {
1444             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1445             }
1446         template <class V>
1447         BOOST_QVM_INLINE_TRIVIAL
1448         typename enable_if_c<
1449             is_vec<V>::value && vec_traits<V>::dim>=4,
1450             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1451         W1W1( V & a )
1452             {
1453             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1454             }
1455         template <class V>
1456         BOOST_QVM_INLINE_TRIVIAL
1457         typename enable_if_c<
1458             is_vec<V>::value && vec_traits<V>::dim>=4,
1459             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1460         Z1W1( V const & a )
1461             {
1462             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1463             }
1464         template <class V>
1465         BOOST_QVM_INLINE_TRIVIAL
1466         typename enable_if_c<
1467             is_vec<V>::value && vec_traits<V>::dim>=4,
1468             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1469         Z1W1( V & a )
1470             {
1471             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1472             }
1473         template <class V>
1474         BOOST_QVM_INLINE_TRIVIAL
1475         typename enable_if_c<
1476             is_vec<V>::value && vec_traits<V>::dim>=4,
1477             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1478         Y1W1( V const & a )
1479             {
1480             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1481             }
1482         template <class V>
1483         BOOST_QVM_INLINE_TRIVIAL
1484         typename enable_if_c<
1485             is_vec<V>::value && vec_traits<V>::dim>=4,
1486             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1487         Y1W1( V & a )
1488             {
1489             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1490             }
1491         template <class V>
1492         BOOST_QVM_INLINE_TRIVIAL
1493         typename enable_if_c<
1494             is_vec<V>::value && vec_traits<V>::dim>=4,
1495             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1496         X1W1( V const & a )
1497             {
1498             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1499             }
1500         template <class V>
1501         BOOST_QVM_INLINE_TRIVIAL
1502         typename enable_if_c<
1503             is_vec<V>::value && vec_traits<V>::dim>=4,
1504             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1505         X1W1( V & a )
1506             {
1507             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1508             }
1509         template <class V>
1510         BOOST_QVM_INLINE_TRIVIAL
1511         typename enable_if_c<
1512             is_vec<V>::value && vec_traits<V>::dim>=4,
1513             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1514         _10W1( V const & a )
1515             {
1516             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1517             }
1518         template <class V>
1519         BOOST_QVM_INLINE_TRIVIAL
1520         typename enable_if_c<
1521             is_vec<V>::value && vec_traits<V>::dim>=4,
1522             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1523         _10W1( V & a )
1524             {
1525             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1526             }
1527         template <class V>
1528         BOOST_QVM_INLINE_TRIVIAL
1529         typename enable_if_c<
1530             is_vec<V>::value && vec_traits<V>::dim>=4,
1531             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1532         _00W1( V const & a )
1533             {
1534             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1535             }
1536         template <class V>
1537         BOOST_QVM_INLINE_TRIVIAL
1538         typename enable_if_c<
1539             is_vec<V>::value && vec_traits<V>::dim>=4,
1540             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1541         _00W1( V & a )
1542             {
1543             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1544             }
1545         template <class V>
1546         BOOST_QVM_INLINE_TRIVIAL
1547         typename enable_if_c<
1548             is_vec<V>::value && vec_traits<V>::dim>=4,
1549             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1550         W0W1( V const & a )
1551             {
1552             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1553             }
1554         template <class V>
1555         BOOST_QVM_INLINE_TRIVIAL
1556         typename enable_if_c<
1557             is_vec<V>::value && vec_traits<V>::dim>=4,
1558             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1559         W0W1( V & a )
1560             {
1561             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1562             }
1563         template <class V>
1564         BOOST_QVM_INLINE_TRIVIAL
1565         typename enable_if_c<
1566             is_vec<V>::value && vec_traits<V>::dim>=4,
1567             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1568         Z0W1( V const & a )
1569             {
1570             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1571             }
1572         template <class V>
1573         BOOST_QVM_INLINE_TRIVIAL
1574         typename enable_if_c<
1575             is_vec<V>::value && vec_traits<V>::dim>=4,
1576             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1577         Z0W1( V & a )
1578             {
1579             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1580             }
1581         template <class V>
1582         BOOST_QVM_INLINE_TRIVIAL
1583         typename enable_if_c<
1584             is_vec<V>::value && vec_traits<V>::dim>=4,
1585             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1586         Y0W1( V const & a )
1587             {
1588             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1589             }
1590         template <class V>
1591         BOOST_QVM_INLINE_TRIVIAL
1592         typename enable_if_c<
1593             is_vec<V>::value && vec_traits<V>::dim>=4,
1594             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1595         Y0W1( V & a )
1596             {
1597             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1598             }
1599         template <class V>
1600         BOOST_QVM_INLINE_TRIVIAL
1601         typename enable_if_c<
1602             is_vec<V>::value && vec_traits<V>::dim>=4,
1603             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1604         X0W1( V const & a )
1605             {
1606             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1607             }
1608         template <class V>
1609         BOOST_QVM_INLINE_TRIVIAL
1610         typename enable_if_c<
1611             is_vec<V>::value && vec_traits<V>::dim>=4,
1612             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1613         X0W1( V & a )
1614             {
1615             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1616             }
1617         template <class V>
1618         BOOST_QVM_INLINE_TRIVIAL
1619         typename enable_if_c<
1620             is_vec<V>::value && vec_traits<V>::dim>=4,
1621             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1622         _1WW1( V const & a )
1623             {
1624             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1625             }
1626         template <class V>
1627         BOOST_QVM_INLINE_TRIVIAL
1628         typename enable_if_c<
1629             is_vec<V>::value && vec_traits<V>::dim>=4,
1630             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1631         _1WW1( V & a )
1632             {
1633             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1634             }
1635         template <class V>
1636         BOOST_QVM_INLINE_TRIVIAL
1637         typename enable_if_c<
1638             is_vec<V>::value && vec_traits<V>::dim>=4,
1639             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1640         _0WW1( V const & a )
1641             {
1642             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1643             }
1644         template <class V>
1645         BOOST_QVM_INLINE_TRIVIAL
1646         typename enable_if_c<
1647             is_vec<V>::value && vec_traits<V>::dim>=4,
1648             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1649         _0WW1( V & a )
1650             {
1651             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1652             }
1653         template <class V>
1654         BOOST_QVM_INLINE_TRIVIAL
1655         typename enable_if_c<
1656             is_vec<V>::value && vec_traits<V>::dim>=4,
1657             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1658         WWW1( V const & a )
1659             {
1660             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1661             }
1662         template <class V>
1663         BOOST_QVM_INLINE_TRIVIAL
1664         typename enable_if_c<
1665             is_vec<V>::value && vec_traits<V>::dim>=4,
1666             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1667         WWW1( V & a )
1668             {
1669             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1670             }
1671         template <class V>
1672         BOOST_QVM_INLINE_TRIVIAL
1673         typename enable_if_c<
1674             is_vec<V>::value && vec_traits<V>::dim>=4,
1675             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1676         ZWW1( V const & a )
1677             {
1678             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1679             }
1680         template <class V>
1681         BOOST_QVM_INLINE_TRIVIAL
1682         typename enable_if_c<
1683             is_vec<V>::value && vec_traits<V>::dim>=4,
1684             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1685         ZWW1( V & a )
1686             {
1687             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1688             }
1689         template <class V>
1690         BOOST_QVM_INLINE_TRIVIAL
1691         typename enable_if_c<
1692             is_vec<V>::value && vec_traits<V>::dim>=4,
1693             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1694         YWW1( V const & a )
1695             {
1696             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1697             }
1698         template <class V>
1699         BOOST_QVM_INLINE_TRIVIAL
1700         typename enable_if_c<
1701             is_vec<V>::value && vec_traits<V>::dim>=4,
1702             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1703         YWW1( V & a )
1704             {
1705             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1706             }
1707         template <class V>
1708         BOOST_QVM_INLINE_TRIVIAL
1709         typename enable_if_c<
1710             is_vec<V>::value && vec_traits<V>::dim>=4,
1711             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1712         XWW1( V const & a )
1713             {
1714             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1715             }
1716         template <class V>
1717         BOOST_QVM_INLINE_TRIVIAL
1718         typename enable_if_c<
1719             is_vec<V>::value && vec_traits<V>::dim>=4,
1720             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1721         XWW1( V & a )
1722             {
1723             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1724             }
1725         template <class V>
1726         BOOST_QVM_INLINE_TRIVIAL
1727         typename enable_if_c<
1728             is_vec<V>::value && vec_traits<V>::dim>=4,
1729             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1730         _1ZW1( V const & a )
1731             {
1732             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1733             }
1734         template <class V>
1735         BOOST_QVM_INLINE_TRIVIAL
1736         typename enable_if_c<
1737             is_vec<V>::value && vec_traits<V>::dim>=4,
1738             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1739         _1ZW1( V & a )
1740             {
1741             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1742             }
1743         template <class V>
1744         BOOST_QVM_INLINE_TRIVIAL
1745         typename enable_if_c<
1746             is_vec<V>::value && vec_traits<V>::dim>=4,
1747             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1748         _0ZW1( V const & a )
1749             {
1750             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1751             }
1752         template <class V>
1753         BOOST_QVM_INLINE_TRIVIAL
1754         typename enable_if_c<
1755             is_vec<V>::value && vec_traits<V>::dim>=4,
1756             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1757         _0ZW1( V & a )
1758             {
1759             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1760             }
1761         template <class V>
1762         BOOST_QVM_INLINE_TRIVIAL
1763         typename enable_if_c<
1764             is_vec<V>::value && vec_traits<V>::dim>=4,
1765             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1766         WZW1( V const & a )
1767             {
1768             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1769             }
1770         template <class V>
1771         BOOST_QVM_INLINE_TRIVIAL
1772         typename enable_if_c<
1773             is_vec<V>::value && vec_traits<V>::dim>=4,
1774             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1775         WZW1( V & a )
1776             {
1777             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1778             }
1779         template <class V>
1780         BOOST_QVM_INLINE_TRIVIAL
1781         typename enable_if_c<
1782             is_vec<V>::value && vec_traits<V>::dim>=4,
1783             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1784         ZZW1( V const & a )
1785             {
1786             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1787             }
1788         template <class V>
1789         BOOST_QVM_INLINE_TRIVIAL
1790         typename enable_if_c<
1791             is_vec<V>::value && vec_traits<V>::dim>=4,
1792             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1793         ZZW1( V & a )
1794             {
1795             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1796             }
1797         template <class V>
1798         BOOST_QVM_INLINE_TRIVIAL
1799         typename enable_if_c<
1800             is_vec<V>::value && vec_traits<V>::dim>=4,
1801             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1802         YZW1( V const & a )
1803             {
1804             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1805             }
1806         template <class V>
1807         BOOST_QVM_INLINE_TRIVIAL
1808         typename enable_if_c<
1809             is_vec<V>::value && vec_traits<V>::dim>=4,
1810             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1811         YZW1( V & a )
1812             {
1813             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1814             }
1815         template <class V>
1816         BOOST_QVM_INLINE_TRIVIAL
1817         typename enable_if_c<
1818             is_vec<V>::value && vec_traits<V>::dim>=4,
1819             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1820         XZW1( V const & a )
1821             {
1822             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1823             }
1824         template <class V>
1825         BOOST_QVM_INLINE_TRIVIAL
1826         typename enable_if_c<
1827             is_vec<V>::value && vec_traits<V>::dim>=4,
1828             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1829         XZW1( V & a )
1830             {
1831             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1832             }
1833         template <class V>
1834         BOOST_QVM_INLINE_TRIVIAL
1835         typename enable_if_c<
1836             is_vec<V>::value && vec_traits<V>::dim>=4,
1837             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1838         _1YW1( V const & a )
1839             {
1840             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1841             }
1842         template <class V>
1843         BOOST_QVM_INLINE_TRIVIAL
1844         typename enable_if_c<
1845             is_vec<V>::value && vec_traits<V>::dim>=4,
1846             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1847         _1YW1( V & a )
1848             {
1849             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1850             }
1851         template <class V>
1852         BOOST_QVM_INLINE_TRIVIAL
1853         typename enable_if_c<
1854             is_vec<V>::value && vec_traits<V>::dim>=4,
1855             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1856         _0YW1( V const & a )
1857             {
1858             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1859             }
1860         template <class V>
1861         BOOST_QVM_INLINE_TRIVIAL
1862         typename enable_if_c<
1863             is_vec<V>::value && vec_traits<V>::dim>=4,
1864             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1865         _0YW1( V & a )
1866             {
1867             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1868             }
1869         template <class V>
1870         BOOST_QVM_INLINE_TRIVIAL
1871         typename enable_if_c<
1872             is_vec<V>::value && vec_traits<V>::dim>=4,
1873             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1874         WYW1( V const & a )
1875             {
1876             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1877             }
1878         template <class V>
1879         BOOST_QVM_INLINE_TRIVIAL
1880         typename enable_if_c<
1881             is_vec<V>::value && vec_traits<V>::dim>=4,
1882             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1883         WYW1( V & a )
1884             {
1885             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1886             }
1887         template <class V>
1888         BOOST_QVM_INLINE_TRIVIAL
1889         typename enable_if_c<
1890             is_vec<V>::value && vec_traits<V>::dim>=4,
1891             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1892         ZYW1( V const & a )
1893             {
1894             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1895             }
1896         template <class V>
1897         BOOST_QVM_INLINE_TRIVIAL
1898         typename enable_if_c<
1899             is_vec<V>::value && vec_traits<V>::dim>=4,
1900             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1901         ZYW1( V & a )
1902             {
1903             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1904             }
1905         template <class V>
1906         BOOST_QVM_INLINE_TRIVIAL
1907         typename enable_if_c<
1908             is_vec<V>::value && vec_traits<V>::dim>=4,
1909             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1910         YYW1( V const & a )
1911             {
1912             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1913             }
1914         template <class V>
1915         BOOST_QVM_INLINE_TRIVIAL
1916         typename enable_if_c<
1917             is_vec<V>::value && vec_traits<V>::dim>=4,
1918             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1919         YYW1( V & a )
1920             {
1921             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1922             }
1923         template <class V>
1924         BOOST_QVM_INLINE_TRIVIAL
1925         typename enable_if_c<
1926             is_vec<V>::value && vec_traits<V>::dim>=4,
1927             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1928         XYW1( V const & a )
1929             {
1930             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1931             }
1932         template <class V>
1933         BOOST_QVM_INLINE_TRIVIAL
1934         typename enable_if_c<
1935             is_vec<V>::value && vec_traits<V>::dim>=4,
1936             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1937         XYW1( V & a )
1938             {
1939             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1940             }
1941         template <class V>
1942         BOOST_QVM_INLINE_TRIVIAL
1943         typename enable_if_c<
1944             is_vec<V>::value && vec_traits<V>::dim>=4,
1945             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1946         _1XW1( V const & a )
1947             {
1948             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1949             }
1950         template <class V>
1951         BOOST_QVM_INLINE_TRIVIAL
1952         typename enable_if_c<
1953             is_vec<V>::value && vec_traits<V>::dim>=4,
1954             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1955         _1XW1( V & a )
1956             {
1957             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1958             }
1959         template <class V>
1960         BOOST_QVM_INLINE_TRIVIAL
1961         typename enable_if_c<
1962             is_vec<V>::value && vec_traits<V>::dim>=4,
1963             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1964         _0XW1( V const & a )
1965             {
1966             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1967             }
1968         template <class V>
1969         BOOST_QVM_INLINE_TRIVIAL
1970         typename enable_if_c<
1971             is_vec<V>::value && vec_traits<V>::dim>=4,
1972             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1973         _0XW1( V & a )
1974             {
1975             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1976             }
1977         template <class V>
1978         BOOST_QVM_INLINE_TRIVIAL
1979         typename enable_if_c<
1980             is_vec<V>::value && vec_traits<V>::dim>=4,
1981             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
1982         WXW1( V const & a )
1983             {
1984             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
1985             }
1986         template <class V>
1987         BOOST_QVM_INLINE_TRIVIAL
1988         typename enable_if_c<
1989             is_vec<V>::value && vec_traits<V>::dim>=4,
1990             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
1991         WXW1( V & a )
1992             {
1993             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
1994             }
1995         template <class V>
1996         BOOST_QVM_INLINE_TRIVIAL
1997         typename enable_if_c<
1998             is_vec<V>::value && vec_traits<V>::dim>=4,
1999             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2000         ZXW1( V const & a )
2001             {
2002             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2003             }
2004         template <class V>
2005         BOOST_QVM_INLINE_TRIVIAL
2006         typename enable_if_c<
2007             is_vec<V>::value && vec_traits<V>::dim>=4,
2008             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2009         ZXW1( V & a )
2010             {
2011             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2012             }
2013         template <class V>
2014         BOOST_QVM_INLINE_TRIVIAL
2015         typename enable_if_c<
2016             is_vec<V>::value && vec_traits<V>::dim>=4,
2017             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2018         YXW1( V const & a )
2019             {
2020             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2021             }
2022         template <class V>
2023         BOOST_QVM_INLINE_TRIVIAL
2024         typename enable_if_c<
2025             is_vec<V>::value && vec_traits<V>::dim>=4,
2026             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2027         YXW1( V & a )
2028             {
2029             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2030             }
2031         template <class V>
2032         BOOST_QVM_INLINE_TRIVIAL
2033         typename enable_if_c<
2034             is_vec<V>::value && vec_traits<V>::dim>=4,
2035             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2036         XXW1( V const & a )
2037             {
2038             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2039             }
2040         template <class V>
2041         BOOST_QVM_INLINE_TRIVIAL
2042         typename enable_if_c<
2043             is_vec<V>::value && vec_traits<V>::dim>=4,
2044             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2045         XXW1( V & a )
2046             {
2047             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2048             }
2049         template <class V>
2050         BOOST_QVM_INLINE_TRIVIAL
2051         typename enable_if_c<
2052             is_vec<V>::value && vec_traits<V>::dim>=3,
2053             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2054         _11Z1( V const & a )
2055             {
2056             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2057             }
2058         template <class V>
2059         BOOST_QVM_INLINE_TRIVIAL
2060         typename enable_if_c<
2061             is_vec<V>::value && vec_traits<V>::dim>=3,
2062             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2063         _11Z1( V & a )
2064             {
2065             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2066             }
2067         template <class V>
2068         BOOST_QVM_INLINE_TRIVIAL
2069         typename enable_if_c<
2070             is_vec<V>::value && vec_traits<V>::dim>=3,
2071             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2072         _01Z1( V const & a )
2073             {
2074             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2075             }
2076         template <class V>
2077         BOOST_QVM_INLINE_TRIVIAL
2078         typename enable_if_c<
2079             is_vec<V>::value && vec_traits<V>::dim>=3,
2080             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2081         _01Z1( V & a )
2082             {
2083             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2084             }
2085         template <class V>
2086         BOOST_QVM_INLINE_TRIVIAL
2087         typename enable_if_c<
2088             is_vec<V>::value && vec_traits<V>::dim>=4,
2089             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2090         W1Z1( V const & a )
2091             {
2092             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2093             }
2094         template <class V>
2095         BOOST_QVM_INLINE_TRIVIAL
2096         typename enable_if_c<
2097             is_vec<V>::value && vec_traits<V>::dim>=4,
2098             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2099         W1Z1( V & a )
2100             {
2101             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2102             }
2103         template <class V>
2104         BOOST_QVM_INLINE_TRIVIAL
2105         typename enable_if_c<
2106             is_vec<V>::value && vec_traits<V>::dim>=3,
2107             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2108         Z1Z1( V const & a )
2109             {
2110             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2111             }
2112         template <class V>
2113         BOOST_QVM_INLINE_TRIVIAL
2114         typename enable_if_c<
2115             is_vec<V>::value && vec_traits<V>::dim>=3,
2116             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2117         Z1Z1( V & a )
2118             {
2119             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2120             }
2121         template <class V>
2122         BOOST_QVM_INLINE_TRIVIAL
2123         typename enable_if_c<
2124             is_vec<V>::value && vec_traits<V>::dim>=3,
2125             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2126         Y1Z1( V const & a )
2127             {
2128             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2129             }
2130         template <class V>
2131         BOOST_QVM_INLINE_TRIVIAL
2132         typename enable_if_c<
2133             is_vec<V>::value && vec_traits<V>::dim>=3,
2134             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2135         Y1Z1( V & a )
2136             {
2137             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2138             }
2139         template <class V>
2140         BOOST_QVM_INLINE_TRIVIAL
2141         typename enable_if_c<
2142             is_vec<V>::value && vec_traits<V>::dim>=3,
2143             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2144         X1Z1( V const & a )
2145             {
2146             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2147             }
2148         template <class V>
2149         BOOST_QVM_INLINE_TRIVIAL
2150         typename enable_if_c<
2151             is_vec<V>::value && vec_traits<V>::dim>=3,
2152             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2153         X1Z1( V & a )
2154             {
2155             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2156             }
2157         template <class V>
2158         BOOST_QVM_INLINE_TRIVIAL
2159         typename enable_if_c<
2160             is_vec<V>::value && vec_traits<V>::dim>=3,
2161             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2162         _10Z1( V const & a )
2163             {
2164             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2165             }
2166         template <class V>
2167         BOOST_QVM_INLINE_TRIVIAL
2168         typename enable_if_c<
2169             is_vec<V>::value && vec_traits<V>::dim>=3,
2170             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2171         _10Z1( V & a )
2172             {
2173             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2174             }
2175         template <class V>
2176         BOOST_QVM_INLINE_TRIVIAL
2177         typename enable_if_c<
2178             is_vec<V>::value && vec_traits<V>::dim>=3,
2179             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2180         _00Z1( V const & a )
2181             {
2182             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2183             }
2184         template <class V>
2185         BOOST_QVM_INLINE_TRIVIAL
2186         typename enable_if_c<
2187             is_vec<V>::value && vec_traits<V>::dim>=3,
2188             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2189         _00Z1( V & a )
2190             {
2191             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2192             }
2193         template <class V>
2194         BOOST_QVM_INLINE_TRIVIAL
2195         typename enable_if_c<
2196             is_vec<V>::value && vec_traits<V>::dim>=4,
2197             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2198         W0Z1( V const & a )
2199             {
2200             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2201             }
2202         template <class V>
2203         BOOST_QVM_INLINE_TRIVIAL
2204         typename enable_if_c<
2205             is_vec<V>::value && vec_traits<V>::dim>=4,
2206             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2207         W0Z1( V & a )
2208             {
2209             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2210             }
2211         template <class V>
2212         BOOST_QVM_INLINE_TRIVIAL
2213         typename enable_if_c<
2214             is_vec<V>::value && vec_traits<V>::dim>=3,
2215             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2216         Z0Z1( V const & a )
2217             {
2218             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2219             }
2220         template <class V>
2221         BOOST_QVM_INLINE_TRIVIAL
2222         typename enable_if_c<
2223             is_vec<V>::value && vec_traits<V>::dim>=3,
2224             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2225         Z0Z1( V & a )
2226             {
2227             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2228             }
2229         template <class V>
2230         BOOST_QVM_INLINE_TRIVIAL
2231         typename enable_if_c<
2232             is_vec<V>::value && vec_traits<V>::dim>=3,
2233             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2234         Y0Z1( V const & a )
2235             {
2236             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2237             }
2238         template <class V>
2239         BOOST_QVM_INLINE_TRIVIAL
2240         typename enable_if_c<
2241             is_vec<V>::value && vec_traits<V>::dim>=3,
2242             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2243         Y0Z1( V & a )
2244             {
2245             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2246             }
2247         template <class V>
2248         BOOST_QVM_INLINE_TRIVIAL
2249         typename enable_if_c<
2250             is_vec<V>::value && vec_traits<V>::dim>=3,
2251             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2252         X0Z1( V const & a )
2253             {
2254             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2255             }
2256         template <class V>
2257         BOOST_QVM_INLINE_TRIVIAL
2258         typename enable_if_c<
2259             is_vec<V>::value && vec_traits<V>::dim>=3,
2260             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2261         X0Z1( V & a )
2262             {
2263             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2264             }
2265         template <class V>
2266         BOOST_QVM_INLINE_TRIVIAL
2267         typename enable_if_c<
2268             is_vec<V>::value && vec_traits<V>::dim>=4,
2269             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2270         _1WZ1( V const & a )
2271             {
2272             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2273             }
2274         template <class V>
2275         BOOST_QVM_INLINE_TRIVIAL
2276         typename enable_if_c<
2277             is_vec<V>::value && vec_traits<V>::dim>=4,
2278             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2279         _1WZ1( V & a )
2280             {
2281             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2282             }
2283         template <class V>
2284         BOOST_QVM_INLINE_TRIVIAL
2285         typename enable_if_c<
2286             is_vec<V>::value && vec_traits<V>::dim>=4,
2287             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2288         _0WZ1( V const & a )
2289             {
2290             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2291             }
2292         template <class V>
2293         BOOST_QVM_INLINE_TRIVIAL
2294         typename enable_if_c<
2295             is_vec<V>::value && vec_traits<V>::dim>=4,
2296             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2297         _0WZ1( V & a )
2298             {
2299             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2300             }
2301         template <class V>
2302         BOOST_QVM_INLINE_TRIVIAL
2303         typename enable_if_c<
2304             is_vec<V>::value && vec_traits<V>::dim>=4,
2305             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2306         WWZ1( V const & a )
2307             {
2308             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2309             }
2310         template <class V>
2311         BOOST_QVM_INLINE_TRIVIAL
2312         typename enable_if_c<
2313             is_vec<V>::value && vec_traits<V>::dim>=4,
2314             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2315         WWZ1( V & a )
2316             {
2317             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2318             }
2319         template <class V>
2320         BOOST_QVM_INLINE_TRIVIAL
2321         typename enable_if_c<
2322             is_vec<V>::value && vec_traits<V>::dim>=4,
2323             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2324         ZWZ1( V const & a )
2325             {
2326             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2327             }
2328         template <class V>
2329         BOOST_QVM_INLINE_TRIVIAL
2330         typename enable_if_c<
2331             is_vec<V>::value && vec_traits<V>::dim>=4,
2332             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2333         ZWZ1( V & a )
2334             {
2335             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2336             }
2337         template <class V>
2338         BOOST_QVM_INLINE_TRIVIAL
2339         typename enable_if_c<
2340             is_vec<V>::value && vec_traits<V>::dim>=4,
2341             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2342         YWZ1( V const & a )
2343             {
2344             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2345             }
2346         template <class V>
2347         BOOST_QVM_INLINE_TRIVIAL
2348         typename enable_if_c<
2349             is_vec<V>::value && vec_traits<V>::dim>=4,
2350             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2351         YWZ1( V & a )
2352             {
2353             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2354             }
2355         template <class V>
2356         BOOST_QVM_INLINE_TRIVIAL
2357         typename enable_if_c<
2358             is_vec<V>::value && vec_traits<V>::dim>=4,
2359             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2360         XWZ1( V const & a )
2361             {
2362             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2363             }
2364         template <class V>
2365         BOOST_QVM_INLINE_TRIVIAL
2366         typename enable_if_c<
2367             is_vec<V>::value && vec_traits<V>::dim>=4,
2368             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2369         XWZ1( V & a )
2370             {
2371             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2372             }
2373         template <class V>
2374         BOOST_QVM_INLINE_TRIVIAL
2375         typename enable_if_c<
2376             is_vec<V>::value && vec_traits<V>::dim>=3,
2377             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2378         _1ZZ1( V const & a )
2379             {
2380             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2381             }
2382         template <class V>
2383         BOOST_QVM_INLINE_TRIVIAL
2384         typename enable_if_c<
2385             is_vec<V>::value && vec_traits<V>::dim>=3,
2386             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2387         _1ZZ1( V & a )
2388             {
2389             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2390             }
2391         template <class V>
2392         BOOST_QVM_INLINE_TRIVIAL
2393         typename enable_if_c<
2394             is_vec<V>::value && vec_traits<V>::dim>=3,
2395             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2396         _0ZZ1( V const & a )
2397             {
2398             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2399             }
2400         template <class V>
2401         BOOST_QVM_INLINE_TRIVIAL
2402         typename enable_if_c<
2403             is_vec<V>::value && vec_traits<V>::dim>=3,
2404             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2405         _0ZZ1( V & a )
2406             {
2407             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2408             }
2409         template <class V>
2410         BOOST_QVM_INLINE_TRIVIAL
2411         typename enable_if_c<
2412             is_vec<V>::value && vec_traits<V>::dim>=4,
2413             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2414         WZZ1( V const & a )
2415             {
2416             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2417             }
2418         template <class V>
2419         BOOST_QVM_INLINE_TRIVIAL
2420         typename enable_if_c<
2421             is_vec<V>::value && vec_traits<V>::dim>=4,
2422             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2423         WZZ1( V & a )
2424             {
2425             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2426             }
2427         template <class V>
2428         BOOST_QVM_INLINE_TRIVIAL
2429         typename enable_if_c<
2430             is_vec<V>::value && vec_traits<V>::dim>=3,
2431             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2432         ZZZ1( V const & a )
2433             {
2434             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2435             }
2436         template <class V>
2437         BOOST_QVM_INLINE_TRIVIAL
2438         typename enable_if_c<
2439             is_vec<V>::value && vec_traits<V>::dim>=3,
2440             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2441         ZZZ1( V & a )
2442             {
2443             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2444             }
2445         template <class V>
2446         BOOST_QVM_INLINE_TRIVIAL
2447         typename enable_if_c<
2448             is_vec<V>::value && vec_traits<V>::dim>=3,
2449             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2450         YZZ1( V const & a )
2451             {
2452             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2453             }
2454         template <class V>
2455         BOOST_QVM_INLINE_TRIVIAL
2456         typename enable_if_c<
2457             is_vec<V>::value && vec_traits<V>::dim>=3,
2458             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2459         YZZ1( V & a )
2460             {
2461             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2462             }
2463         template <class V>
2464         BOOST_QVM_INLINE_TRIVIAL
2465         typename enable_if_c<
2466             is_vec<V>::value && vec_traits<V>::dim>=3,
2467             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2468         XZZ1( V const & a )
2469             {
2470             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2471             }
2472         template <class V>
2473         BOOST_QVM_INLINE_TRIVIAL
2474         typename enable_if_c<
2475             is_vec<V>::value && vec_traits<V>::dim>=3,
2476             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2477         XZZ1( V & a )
2478             {
2479             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2480             }
2481         template <class V>
2482         BOOST_QVM_INLINE_TRIVIAL
2483         typename enable_if_c<
2484             is_vec<V>::value && vec_traits<V>::dim>=3,
2485             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2486         _1YZ1( V const & a )
2487             {
2488             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2489             }
2490         template <class V>
2491         BOOST_QVM_INLINE_TRIVIAL
2492         typename enable_if_c<
2493             is_vec<V>::value && vec_traits<V>::dim>=3,
2494             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2495         _1YZ1( V & a )
2496             {
2497             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2498             }
2499         template <class V>
2500         BOOST_QVM_INLINE_TRIVIAL
2501         typename enable_if_c<
2502             is_vec<V>::value && vec_traits<V>::dim>=3,
2503             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2504         _0YZ1( V const & a )
2505             {
2506             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2507             }
2508         template <class V>
2509         BOOST_QVM_INLINE_TRIVIAL
2510         typename enable_if_c<
2511             is_vec<V>::value && vec_traits<V>::dim>=3,
2512             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2513         _0YZ1( V & a )
2514             {
2515             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2516             }
2517         template <class V>
2518         BOOST_QVM_INLINE_TRIVIAL
2519         typename enable_if_c<
2520             is_vec<V>::value && vec_traits<V>::dim>=4,
2521             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2522         WYZ1( V const & a )
2523             {
2524             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2525             }
2526         template <class V>
2527         BOOST_QVM_INLINE_TRIVIAL
2528         typename enable_if_c<
2529             is_vec<V>::value && vec_traits<V>::dim>=4,
2530             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2531         WYZ1( V & a )
2532             {
2533             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2534             }
2535         template <class V>
2536         BOOST_QVM_INLINE_TRIVIAL
2537         typename enable_if_c<
2538             is_vec<V>::value && vec_traits<V>::dim>=3,
2539             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2540         ZYZ1( V const & a )
2541             {
2542             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2543             }
2544         template <class V>
2545         BOOST_QVM_INLINE_TRIVIAL
2546         typename enable_if_c<
2547             is_vec<V>::value && vec_traits<V>::dim>=3,
2548             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2549         ZYZ1( V & a )
2550             {
2551             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2552             }
2553         template <class V>
2554         BOOST_QVM_INLINE_TRIVIAL
2555         typename enable_if_c<
2556             is_vec<V>::value && vec_traits<V>::dim>=3,
2557             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2558         YYZ1( V const & a )
2559             {
2560             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2561             }
2562         template <class V>
2563         BOOST_QVM_INLINE_TRIVIAL
2564         typename enable_if_c<
2565             is_vec<V>::value && vec_traits<V>::dim>=3,
2566             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2567         YYZ1( V & a )
2568             {
2569             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2570             }
2571         template <class V>
2572         BOOST_QVM_INLINE_TRIVIAL
2573         typename enable_if_c<
2574             is_vec<V>::value && vec_traits<V>::dim>=3,
2575             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2576         XYZ1( V const & a )
2577             {
2578             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2579             }
2580         template <class V>
2581         BOOST_QVM_INLINE_TRIVIAL
2582         typename enable_if_c<
2583             is_vec<V>::value && vec_traits<V>::dim>=3,
2584             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2585         XYZ1( V & a )
2586             {
2587             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2588             }
2589         template <class V>
2590         BOOST_QVM_INLINE_TRIVIAL
2591         typename enable_if_c<
2592             is_vec<V>::value && vec_traits<V>::dim>=3,
2593             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2594         _1XZ1( V const & a )
2595             {
2596             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2597             }
2598         template <class V>
2599         BOOST_QVM_INLINE_TRIVIAL
2600         typename enable_if_c<
2601             is_vec<V>::value && vec_traits<V>::dim>=3,
2602             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2603         _1XZ1( V & a )
2604             {
2605             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2606             }
2607         template <class V>
2608         BOOST_QVM_INLINE_TRIVIAL
2609         typename enable_if_c<
2610             is_vec<V>::value && vec_traits<V>::dim>=3,
2611             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2612         _0XZ1( V const & a )
2613             {
2614             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2615             }
2616         template <class V>
2617         BOOST_QVM_INLINE_TRIVIAL
2618         typename enable_if_c<
2619             is_vec<V>::value && vec_traits<V>::dim>=3,
2620             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2621         _0XZ1( V & a )
2622             {
2623             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2624             }
2625         template <class V>
2626         BOOST_QVM_INLINE_TRIVIAL
2627         typename enable_if_c<
2628             is_vec<V>::value && vec_traits<V>::dim>=4,
2629             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2630         WXZ1( V const & a )
2631             {
2632             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2633             }
2634         template <class V>
2635         BOOST_QVM_INLINE_TRIVIAL
2636         typename enable_if_c<
2637             is_vec<V>::value && vec_traits<V>::dim>=4,
2638             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2639         WXZ1( V & a )
2640             {
2641             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2642             }
2643         template <class V>
2644         BOOST_QVM_INLINE_TRIVIAL
2645         typename enable_if_c<
2646             is_vec<V>::value && vec_traits<V>::dim>=3,
2647             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2648         ZXZ1( V const & a )
2649             {
2650             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2651             }
2652         template <class V>
2653         BOOST_QVM_INLINE_TRIVIAL
2654         typename enable_if_c<
2655             is_vec<V>::value && vec_traits<V>::dim>=3,
2656             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2657         ZXZ1( V & a )
2658             {
2659             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2660             }
2661         template <class V>
2662         BOOST_QVM_INLINE_TRIVIAL
2663         typename enable_if_c<
2664             is_vec<V>::value && vec_traits<V>::dim>=3,
2665             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2666         YXZ1( V const & a )
2667             {
2668             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2669             }
2670         template <class V>
2671         BOOST_QVM_INLINE_TRIVIAL
2672         typename enable_if_c<
2673             is_vec<V>::value && vec_traits<V>::dim>=3,
2674             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2675         YXZ1( V & a )
2676             {
2677             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2678             }
2679         template <class V>
2680         BOOST_QVM_INLINE_TRIVIAL
2681         typename enable_if_c<
2682             is_vec<V>::value && vec_traits<V>::dim>=3,
2683             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2684         XXZ1( V const & a )
2685             {
2686             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2687             }
2688         template <class V>
2689         BOOST_QVM_INLINE_TRIVIAL
2690         typename enable_if_c<
2691             is_vec<V>::value && vec_traits<V>::dim>=3,
2692             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2693         XXZ1( V & a )
2694             {
2695             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2696             }
2697         template <class V>
2698         BOOST_QVM_INLINE_TRIVIAL
2699         typename enable_if_c<
2700             is_vec<V>::value && vec_traits<V>::dim>=2,
2701             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2702         _11Y1( V const & a )
2703             {
2704             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2705             }
2706         template <class V>
2707         BOOST_QVM_INLINE_TRIVIAL
2708         typename enable_if_c<
2709             is_vec<V>::value && vec_traits<V>::dim>=2,
2710             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2711         _11Y1( V & a )
2712             {
2713             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2714             }
2715         template <class V>
2716         BOOST_QVM_INLINE_TRIVIAL
2717         typename enable_if_c<
2718             is_vec<V>::value && vec_traits<V>::dim>=2,
2719             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2720         _01Y1( V const & a )
2721             {
2722             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2723             }
2724         template <class V>
2725         BOOST_QVM_INLINE_TRIVIAL
2726         typename enable_if_c<
2727             is_vec<V>::value && vec_traits<V>::dim>=2,
2728             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2729         _01Y1( V & a )
2730             {
2731             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2732             }
2733         template <class V>
2734         BOOST_QVM_INLINE_TRIVIAL
2735         typename enable_if_c<
2736             is_vec<V>::value && vec_traits<V>::dim>=4,
2737             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2738         W1Y1( V const & a )
2739             {
2740             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2741             }
2742         template <class V>
2743         BOOST_QVM_INLINE_TRIVIAL
2744         typename enable_if_c<
2745             is_vec<V>::value && vec_traits<V>::dim>=4,
2746             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2747         W1Y1( V & a )
2748             {
2749             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2750             }
2751         template <class V>
2752         BOOST_QVM_INLINE_TRIVIAL
2753         typename enable_if_c<
2754             is_vec<V>::value && vec_traits<V>::dim>=3,
2755             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2756         Z1Y1( V const & a )
2757             {
2758             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2759             }
2760         template <class V>
2761         BOOST_QVM_INLINE_TRIVIAL
2762         typename enable_if_c<
2763             is_vec<V>::value && vec_traits<V>::dim>=3,
2764             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2765         Z1Y1( V & a )
2766             {
2767             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2768             }
2769         template <class V>
2770         BOOST_QVM_INLINE_TRIVIAL
2771         typename enable_if_c<
2772             is_vec<V>::value && vec_traits<V>::dim>=2,
2773             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2774         Y1Y1( V const & a )
2775             {
2776             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2777             }
2778         template <class V>
2779         BOOST_QVM_INLINE_TRIVIAL
2780         typename enable_if_c<
2781             is_vec<V>::value && vec_traits<V>::dim>=2,
2782             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2783         Y1Y1( V & a )
2784             {
2785             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2786             }
2787         template <class V>
2788         BOOST_QVM_INLINE_TRIVIAL
2789         typename enable_if_c<
2790             is_vec<V>::value && vec_traits<V>::dim>=2,
2791             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2792         X1Y1( V const & a )
2793             {
2794             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2795             }
2796         template <class V>
2797         BOOST_QVM_INLINE_TRIVIAL
2798         typename enable_if_c<
2799             is_vec<V>::value && vec_traits<V>::dim>=2,
2800             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2801         X1Y1( V & a )
2802             {
2803             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2804             }
2805         template <class V>
2806         BOOST_QVM_INLINE_TRIVIAL
2807         typename enable_if_c<
2808             is_vec<V>::value && vec_traits<V>::dim>=2,
2809             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2810         _10Y1( V const & a )
2811             {
2812             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2813             }
2814         template <class V>
2815         BOOST_QVM_INLINE_TRIVIAL
2816         typename enable_if_c<
2817             is_vec<V>::value && vec_traits<V>::dim>=2,
2818             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2819         _10Y1( V & a )
2820             {
2821             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2822             }
2823         template <class V>
2824         BOOST_QVM_INLINE_TRIVIAL
2825         typename enable_if_c<
2826             is_vec<V>::value && vec_traits<V>::dim>=2,
2827             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2828         _00Y1( V const & a )
2829             {
2830             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2831             }
2832         template <class V>
2833         BOOST_QVM_INLINE_TRIVIAL
2834         typename enable_if_c<
2835             is_vec<V>::value && vec_traits<V>::dim>=2,
2836             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2837         _00Y1( V & a )
2838             {
2839             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2840             }
2841         template <class V>
2842         BOOST_QVM_INLINE_TRIVIAL
2843         typename enable_if_c<
2844             is_vec<V>::value && vec_traits<V>::dim>=4,
2845             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2846         W0Y1( V const & a )
2847             {
2848             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2849             }
2850         template <class V>
2851         BOOST_QVM_INLINE_TRIVIAL
2852         typename enable_if_c<
2853             is_vec<V>::value && vec_traits<V>::dim>=4,
2854             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2855         W0Y1( V & a )
2856             {
2857             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2858             }
2859         template <class V>
2860         BOOST_QVM_INLINE_TRIVIAL
2861         typename enable_if_c<
2862             is_vec<V>::value && vec_traits<V>::dim>=3,
2863             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2864         Z0Y1( V const & a )
2865             {
2866             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2867             }
2868         template <class V>
2869         BOOST_QVM_INLINE_TRIVIAL
2870         typename enable_if_c<
2871             is_vec<V>::value && vec_traits<V>::dim>=3,
2872             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2873         Z0Y1( V & a )
2874             {
2875             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2876             }
2877         template <class V>
2878         BOOST_QVM_INLINE_TRIVIAL
2879         typename enable_if_c<
2880             is_vec<V>::value && vec_traits<V>::dim>=2,
2881             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2882         Y0Y1( V const & a )
2883             {
2884             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2885             }
2886         template <class V>
2887         BOOST_QVM_INLINE_TRIVIAL
2888         typename enable_if_c<
2889             is_vec<V>::value && vec_traits<V>::dim>=2,
2890             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2891         Y0Y1( V & a )
2892             {
2893             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2894             }
2895         template <class V>
2896         BOOST_QVM_INLINE_TRIVIAL
2897         typename enable_if_c<
2898             is_vec<V>::value && vec_traits<V>::dim>=2,
2899             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2900         X0Y1( V const & a )
2901             {
2902             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2903             }
2904         template <class V>
2905         BOOST_QVM_INLINE_TRIVIAL
2906         typename enable_if_c<
2907             is_vec<V>::value && vec_traits<V>::dim>=2,
2908             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2909         X0Y1( V & a )
2910             {
2911             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2912             }
2913         template <class V>
2914         BOOST_QVM_INLINE_TRIVIAL
2915         typename enable_if_c<
2916             is_vec<V>::value && vec_traits<V>::dim>=4,
2917             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2918         _1WY1( V const & a )
2919             {
2920             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2921             }
2922         template <class V>
2923         BOOST_QVM_INLINE_TRIVIAL
2924         typename enable_if_c<
2925             is_vec<V>::value && vec_traits<V>::dim>=4,
2926             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2927         _1WY1( V & a )
2928             {
2929             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2930             }
2931         template <class V>
2932         BOOST_QVM_INLINE_TRIVIAL
2933         typename enable_if_c<
2934             is_vec<V>::value && vec_traits<V>::dim>=4,
2935             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2936         _0WY1( V const & a )
2937             {
2938             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2939             }
2940         template <class V>
2941         BOOST_QVM_INLINE_TRIVIAL
2942         typename enable_if_c<
2943             is_vec<V>::value && vec_traits<V>::dim>=4,
2944             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2945         _0WY1( V & a )
2946             {
2947             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2948             }
2949         template <class V>
2950         BOOST_QVM_INLINE_TRIVIAL
2951         typename enable_if_c<
2952             is_vec<V>::value && vec_traits<V>::dim>=4,
2953             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2954         WWY1( V const & a )
2955             {
2956             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2957             }
2958         template <class V>
2959         BOOST_QVM_INLINE_TRIVIAL
2960         typename enable_if_c<
2961             is_vec<V>::value && vec_traits<V>::dim>=4,
2962             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2963         WWY1( V & a )
2964             {
2965             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2966             }
2967         template <class V>
2968         BOOST_QVM_INLINE_TRIVIAL
2969         typename enable_if_c<
2970             is_vec<V>::value && vec_traits<V>::dim>=4,
2971             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2972         ZWY1( V const & a )
2973             {
2974             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2975             }
2976         template <class V>
2977         BOOST_QVM_INLINE_TRIVIAL
2978         typename enable_if_c<
2979             is_vec<V>::value && vec_traits<V>::dim>=4,
2980             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2981         ZWY1( V & a )
2982             {
2983             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
2984             }
2985         template <class V>
2986         BOOST_QVM_INLINE_TRIVIAL
2987         typename enable_if_c<
2988             is_vec<V>::value && vec_traits<V>::dim>=4,
2989             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
2990         YWY1( V const & a )
2991             {
2992             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
2993             }
2994         template <class V>
2995         BOOST_QVM_INLINE_TRIVIAL
2996         typename enable_if_c<
2997             is_vec<V>::value && vec_traits<V>::dim>=4,
2998             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
2999         YWY1( V & a )
3000             {
3001             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3002             }
3003         template <class V>
3004         BOOST_QVM_INLINE_TRIVIAL
3005         typename enable_if_c<
3006             is_vec<V>::value && vec_traits<V>::dim>=4,
3007             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3008         XWY1( V const & a )
3009             {
3010             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3011             }
3012         template <class V>
3013         BOOST_QVM_INLINE_TRIVIAL
3014         typename enable_if_c<
3015             is_vec<V>::value && vec_traits<V>::dim>=4,
3016             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3017         XWY1( V & a )
3018             {
3019             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3020             }
3021         template <class V>
3022         BOOST_QVM_INLINE_TRIVIAL
3023         typename enable_if_c<
3024             is_vec<V>::value && vec_traits<V>::dim>=3,
3025             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3026         _1ZY1( V const & a )
3027             {
3028             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3029             }
3030         template <class V>
3031         BOOST_QVM_INLINE_TRIVIAL
3032         typename enable_if_c<
3033             is_vec<V>::value && vec_traits<V>::dim>=3,
3034             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3035         _1ZY1( V & a )
3036             {
3037             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3038             }
3039         template <class V>
3040         BOOST_QVM_INLINE_TRIVIAL
3041         typename enable_if_c<
3042             is_vec<V>::value && vec_traits<V>::dim>=3,
3043             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3044         _0ZY1( V const & a )
3045             {
3046             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3047             }
3048         template <class V>
3049         BOOST_QVM_INLINE_TRIVIAL
3050         typename enable_if_c<
3051             is_vec<V>::value && vec_traits<V>::dim>=3,
3052             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3053         _0ZY1( V & a )
3054             {
3055             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3056             }
3057         template <class V>
3058         BOOST_QVM_INLINE_TRIVIAL
3059         typename enable_if_c<
3060             is_vec<V>::value && vec_traits<V>::dim>=4,
3061             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3062         WZY1( V const & a )
3063             {
3064             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3065             }
3066         template <class V>
3067         BOOST_QVM_INLINE_TRIVIAL
3068         typename enable_if_c<
3069             is_vec<V>::value && vec_traits<V>::dim>=4,
3070             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3071         WZY1( V & a )
3072             {
3073             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3074             }
3075         template <class V>
3076         BOOST_QVM_INLINE_TRIVIAL
3077         typename enable_if_c<
3078             is_vec<V>::value && vec_traits<V>::dim>=3,
3079             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3080         ZZY1( V const & a )
3081             {
3082             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3083             }
3084         template <class V>
3085         BOOST_QVM_INLINE_TRIVIAL
3086         typename enable_if_c<
3087             is_vec<V>::value && vec_traits<V>::dim>=3,
3088             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3089         ZZY1( V & a )
3090             {
3091             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3092             }
3093         template <class V>
3094         BOOST_QVM_INLINE_TRIVIAL
3095         typename enable_if_c<
3096             is_vec<V>::value && vec_traits<V>::dim>=3,
3097             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3098         YZY1( V const & a )
3099             {
3100             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3101             }
3102         template <class V>
3103         BOOST_QVM_INLINE_TRIVIAL
3104         typename enable_if_c<
3105             is_vec<V>::value && vec_traits<V>::dim>=3,
3106             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3107         YZY1( V & a )
3108             {
3109             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3110             }
3111         template <class V>
3112         BOOST_QVM_INLINE_TRIVIAL
3113         typename enable_if_c<
3114             is_vec<V>::value && vec_traits<V>::dim>=3,
3115             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3116         XZY1( V const & a )
3117             {
3118             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3119             }
3120         template <class V>
3121         BOOST_QVM_INLINE_TRIVIAL
3122         typename enable_if_c<
3123             is_vec<V>::value && vec_traits<V>::dim>=3,
3124             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3125         XZY1( V & a )
3126             {
3127             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3128             }
3129         template <class V>
3130         BOOST_QVM_INLINE_TRIVIAL
3131         typename enable_if_c<
3132             is_vec<V>::value && vec_traits<V>::dim>=2,
3133             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3134         _1YY1( V const & a )
3135             {
3136             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3137             }
3138         template <class V>
3139         BOOST_QVM_INLINE_TRIVIAL
3140         typename enable_if_c<
3141             is_vec<V>::value && vec_traits<V>::dim>=2,
3142             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3143         _1YY1( V & a )
3144             {
3145             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3146             }
3147         template <class V>
3148         BOOST_QVM_INLINE_TRIVIAL
3149         typename enable_if_c<
3150             is_vec<V>::value && vec_traits<V>::dim>=2,
3151             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3152         _0YY1( V const & a )
3153             {
3154             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3155             }
3156         template <class V>
3157         BOOST_QVM_INLINE_TRIVIAL
3158         typename enable_if_c<
3159             is_vec<V>::value && vec_traits<V>::dim>=2,
3160             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3161         _0YY1( V & a )
3162             {
3163             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3164             }
3165         template <class V>
3166         BOOST_QVM_INLINE_TRIVIAL
3167         typename enable_if_c<
3168             is_vec<V>::value && vec_traits<V>::dim>=4,
3169             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3170         WYY1( V const & a )
3171             {
3172             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3173             }
3174         template <class V>
3175         BOOST_QVM_INLINE_TRIVIAL
3176         typename enable_if_c<
3177             is_vec<V>::value && vec_traits<V>::dim>=4,
3178             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3179         WYY1( V & a )
3180             {
3181             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3182             }
3183         template <class V>
3184         BOOST_QVM_INLINE_TRIVIAL
3185         typename enable_if_c<
3186             is_vec<V>::value && vec_traits<V>::dim>=3,
3187             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3188         ZYY1( V const & a )
3189             {
3190             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3191             }
3192         template <class V>
3193         BOOST_QVM_INLINE_TRIVIAL
3194         typename enable_if_c<
3195             is_vec<V>::value && vec_traits<V>::dim>=3,
3196             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3197         ZYY1( V & a )
3198             {
3199             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3200             }
3201         template <class V>
3202         BOOST_QVM_INLINE_TRIVIAL
3203         typename enable_if_c<
3204             is_vec<V>::value && vec_traits<V>::dim>=2,
3205             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3206         YYY1( V const & a )
3207             {
3208             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3209             }
3210         template <class V>
3211         BOOST_QVM_INLINE_TRIVIAL
3212         typename enable_if_c<
3213             is_vec<V>::value && vec_traits<V>::dim>=2,
3214             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3215         YYY1( V & a )
3216             {
3217             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3218             }
3219         template <class V>
3220         BOOST_QVM_INLINE_TRIVIAL
3221         typename enable_if_c<
3222             is_vec<V>::value && vec_traits<V>::dim>=2,
3223             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3224         XYY1( V const & a )
3225             {
3226             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3227             }
3228         template <class V>
3229         BOOST_QVM_INLINE_TRIVIAL
3230         typename enable_if_c<
3231             is_vec<V>::value && vec_traits<V>::dim>=2,
3232             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3233         XYY1( V & a )
3234             {
3235             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3236             }
3237         template <class V>
3238         BOOST_QVM_INLINE_TRIVIAL
3239         typename enable_if_c<
3240             is_vec<V>::value && vec_traits<V>::dim>=2,
3241             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3242         _1XY1( V const & a )
3243             {
3244             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3245             }
3246         template <class V>
3247         BOOST_QVM_INLINE_TRIVIAL
3248         typename enable_if_c<
3249             is_vec<V>::value && vec_traits<V>::dim>=2,
3250             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3251         _1XY1( V & a )
3252             {
3253             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3254             }
3255         template <class V>
3256         BOOST_QVM_INLINE_TRIVIAL
3257         typename enable_if_c<
3258             is_vec<V>::value && vec_traits<V>::dim>=2,
3259             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3260         _0XY1( V const & a )
3261             {
3262             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3263             }
3264         template <class V>
3265         BOOST_QVM_INLINE_TRIVIAL
3266         typename enable_if_c<
3267             is_vec<V>::value && vec_traits<V>::dim>=2,
3268             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3269         _0XY1( V & a )
3270             {
3271             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3272             }
3273         template <class V>
3274         BOOST_QVM_INLINE_TRIVIAL
3275         typename enable_if_c<
3276             is_vec<V>::value && vec_traits<V>::dim>=4,
3277             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3278         WXY1( V const & a )
3279             {
3280             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3281             }
3282         template <class V>
3283         BOOST_QVM_INLINE_TRIVIAL
3284         typename enable_if_c<
3285             is_vec<V>::value && vec_traits<V>::dim>=4,
3286             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3287         WXY1( V & a )
3288             {
3289             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3290             }
3291         template <class V>
3292         BOOST_QVM_INLINE_TRIVIAL
3293         typename enable_if_c<
3294             is_vec<V>::value && vec_traits<V>::dim>=3,
3295             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3296         ZXY1( V const & a )
3297             {
3298             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3299             }
3300         template <class V>
3301         BOOST_QVM_INLINE_TRIVIAL
3302         typename enable_if_c<
3303             is_vec<V>::value && vec_traits<V>::dim>=3,
3304             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3305         ZXY1( V & a )
3306             {
3307             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3308             }
3309         template <class V>
3310         BOOST_QVM_INLINE_TRIVIAL
3311         typename enable_if_c<
3312             is_vec<V>::value && vec_traits<V>::dim>=2,
3313             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3314         YXY1( V const & a )
3315             {
3316             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3317             }
3318         template <class V>
3319         BOOST_QVM_INLINE_TRIVIAL
3320         typename enable_if_c<
3321             is_vec<V>::value && vec_traits<V>::dim>=2,
3322             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3323         YXY1( V & a )
3324             {
3325             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3326             }
3327         template <class V>
3328         BOOST_QVM_INLINE_TRIVIAL
3329         typename enable_if_c<
3330             is_vec<V>::value && vec_traits<V>::dim>=2,
3331             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3332         XXY1( V const & a )
3333             {
3334             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3335             }
3336         template <class V>
3337         BOOST_QVM_INLINE_TRIVIAL
3338         typename enable_if_c<
3339             is_vec<V>::value && vec_traits<V>::dim>=2,
3340             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3341         XXY1( V & a )
3342             {
3343             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3344             }
3345         template <class V>
3346         BOOST_QVM_INLINE_TRIVIAL
3347         typename enable_if_c<
3348             is_vec<V>::value && vec_traits<V>::dim>=1,
3349             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3350         _11X1( V const & a )
3351             {
3352             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3353             }
3354         template <class S>
3355         BOOST_QVM_INLINE_TRIVIAL
3356         typename enable_if_c<
3357             is_scalar<S>::value,
3358             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_11X1(S const & a)3359         _11X1( S const & a )
3360             {
3361             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3362             }
3363         template <class V>
3364         BOOST_QVM_INLINE_TRIVIAL
3365         typename enable_if_c<
3366             is_vec<V>::value && vec_traits<V>::dim>=1,
3367             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3368         _11X1( V & a )
3369             {
3370             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3371             }
3372         template <class S>
3373         BOOST_QVM_INLINE_TRIVIAL
3374         typename enable_if_c<
3375             is_scalar<S>::value,
3376             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_11X1(S & a)3377         _11X1( S & a )
3378             {
3379             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3380             }
3381         template <class V>
3382         BOOST_QVM_INLINE_TRIVIAL
3383         typename enable_if_c<
3384             is_vec<V>::value && vec_traits<V>::dim>=1,
3385             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3386         _01X1( V const & a )
3387             {
3388             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3389             }
3390         template <class S>
3391         BOOST_QVM_INLINE_TRIVIAL
3392         typename enable_if_c<
3393             is_scalar<S>::value,
3394             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_01X1(S const & a)3395         _01X1( S const & a )
3396             {
3397             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3398             }
3399         template <class V>
3400         BOOST_QVM_INLINE_TRIVIAL
3401         typename enable_if_c<
3402             is_vec<V>::value && vec_traits<V>::dim>=1,
3403             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3404         _01X1( V & a )
3405             {
3406             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3407             }
3408         template <class S>
3409         BOOST_QVM_INLINE_TRIVIAL
3410         typename enable_if_c<
3411             is_scalar<S>::value,
3412             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_01X1(S & a)3413         _01X1( S & a )
3414             {
3415             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3416             }
3417         template <class V>
3418         BOOST_QVM_INLINE_TRIVIAL
3419         typename enable_if_c<
3420             is_vec<V>::value && vec_traits<V>::dim>=4,
3421             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3422         W1X1( V const & a )
3423             {
3424             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3425             }
3426         template <class V>
3427         BOOST_QVM_INLINE_TRIVIAL
3428         typename enable_if_c<
3429             is_vec<V>::value && vec_traits<V>::dim>=4,
3430             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3431         W1X1( V & a )
3432             {
3433             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3434             }
3435         template <class V>
3436         BOOST_QVM_INLINE_TRIVIAL
3437         typename enable_if_c<
3438             is_vec<V>::value && vec_traits<V>::dim>=3,
3439             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3440         Z1X1( V const & a )
3441             {
3442             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3443             }
3444         template <class V>
3445         BOOST_QVM_INLINE_TRIVIAL
3446         typename enable_if_c<
3447             is_vec<V>::value && vec_traits<V>::dim>=3,
3448             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3449         Z1X1( V & a )
3450             {
3451             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3452             }
3453         template <class V>
3454         BOOST_QVM_INLINE_TRIVIAL
3455         typename enable_if_c<
3456             is_vec<V>::value && vec_traits<V>::dim>=2,
3457             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3458         Y1X1( V const & a )
3459             {
3460             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3461             }
3462         template <class V>
3463         BOOST_QVM_INLINE_TRIVIAL
3464         typename enable_if_c<
3465             is_vec<V>::value && vec_traits<V>::dim>=2,
3466             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3467         Y1X1( V & a )
3468             {
3469             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3470             }
3471         template <class V>
3472         BOOST_QVM_INLINE_TRIVIAL
3473         typename enable_if_c<
3474             is_vec<V>::value && vec_traits<V>::dim>=1,
3475             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3476         X1X1( V const & a )
3477             {
3478             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3479             }
3480         template <class S>
3481         BOOST_QVM_INLINE_TRIVIAL
3482         typename enable_if_c<
3483             is_scalar<S>::value,
3484             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X1X1(S const & a)3485         X1X1( S const & a )
3486             {
3487             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3488             }
3489         template <class V>
3490         BOOST_QVM_INLINE_TRIVIAL
3491         typename enable_if_c<
3492             is_vec<V>::value && vec_traits<V>::dim>=1,
3493             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3494         X1X1( V & a )
3495             {
3496             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3497             }
3498         template <class S>
3499         BOOST_QVM_INLINE_TRIVIAL
3500         typename enable_if_c<
3501             is_scalar<S>::value,
3502             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X1X1(S & a)3503         X1X1( S & a )
3504             {
3505             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3506             }
3507         template <class V>
3508         BOOST_QVM_INLINE_TRIVIAL
3509         typename enable_if_c<
3510             is_vec<V>::value && vec_traits<V>::dim>=1,
3511             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3512         _10X1( V const & a )
3513             {
3514             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3515             }
3516         template <class S>
3517         BOOST_QVM_INLINE_TRIVIAL
3518         typename enable_if_c<
3519             is_scalar<S>::value,
3520             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_10X1(S const & a)3521         _10X1( S const & a )
3522             {
3523             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3524             }
3525         template <class V>
3526         BOOST_QVM_INLINE_TRIVIAL
3527         typename enable_if_c<
3528             is_vec<V>::value && vec_traits<V>::dim>=1,
3529             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3530         _10X1( V & a )
3531             {
3532             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3533             }
3534         template <class S>
3535         BOOST_QVM_INLINE_TRIVIAL
3536         typename enable_if_c<
3537             is_scalar<S>::value,
3538             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_10X1(S & a)3539         _10X1( S & a )
3540             {
3541             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3542             }
3543         template <class V>
3544         BOOST_QVM_INLINE_TRIVIAL
3545         typename enable_if_c<
3546             is_vec<V>::value && vec_traits<V>::dim>=1,
3547             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3548         _00X1( V const & a )
3549             {
3550             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3551             }
3552         template <class S>
3553         BOOST_QVM_INLINE_TRIVIAL
3554         typename enable_if_c<
3555             is_scalar<S>::value,
3556             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_00X1(S const & a)3557         _00X1( S const & a )
3558             {
3559             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3560             }
3561         template <class V>
3562         BOOST_QVM_INLINE_TRIVIAL
3563         typename enable_if_c<
3564             is_vec<V>::value && vec_traits<V>::dim>=1,
3565             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3566         _00X1( V & a )
3567             {
3568             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3569             }
3570         template <class S>
3571         BOOST_QVM_INLINE_TRIVIAL
3572         typename enable_if_c<
3573             is_scalar<S>::value,
3574             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_00X1(S & a)3575         _00X1( S & a )
3576             {
3577             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3578             }
3579         template <class V>
3580         BOOST_QVM_INLINE_TRIVIAL
3581         typename enable_if_c<
3582             is_vec<V>::value && vec_traits<V>::dim>=4,
3583             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3584         W0X1( V const & a )
3585             {
3586             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3587             }
3588         template <class V>
3589         BOOST_QVM_INLINE_TRIVIAL
3590         typename enable_if_c<
3591             is_vec<V>::value && vec_traits<V>::dim>=4,
3592             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3593         W0X1( V & a )
3594             {
3595             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3596             }
3597         template <class V>
3598         BOOST_QVM_INLINE_TRIVIAL
3599         typename enable_if_c<
3600             is_vec<V>::value && vec_traits<V>::dim>=3,
3601             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3602         Z0X1( V const & a )
3603             {
3604             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3605             }
3606         template <class V>
3607         BOOST_QVM_INLINE_TRIVIAL
3608         typename enable_if_c<
3609             is_vec<V>::value && vec_traits<V>::dim>=3,
3610             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3611         Z0X1( V & a )
3612             {
3613             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3614             }
3615         template <class V>
3616         BOOST_QVM_INLINE_TRIVIAL
3617         typename enable_if_c<
3618             is_vec<V>::value && vec_traits<V>::dim>=2,
3619             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3620         Y0X1( V const & a )
3621             {
3622             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3623             }
3624         template <class V>
3625         BOOST_QVM_INLINE_TRIVIAL
3626         typename enable_if_c<
3627             is_vec<V>::value && vec_traits<V>::dim>=2,
3628             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3629         Y0X1( V & a )
3630             {
3631             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3632             }
3633         template <class V>
3634         BOOST_QVM_INLINE_TRIVIAL
3635         typename enable_if_c<
3636             is_vec<V>::value && vec_traits<V>::dim>=1,
3637             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3638         X0X1( V const & a )
3639             {
3640             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3641             }
3642         template <class S>
3643         BOOST_QVM_INLINE_TRIVIAL
3644         typename enable_if_c<
3645             is_scalar<S>::value,
3646             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
X0X1(S const & a)3647         X0X1( S const & a )
3648             {
3649             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3650             }
3651         template <class V>
3652         BOOST_QVM_INLINE_TRIVIAL
3653         typename enable_if_c<
3654             is_vec<V>::value && vec_traits<V>::dim>=1,
3655             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3656         X0X1( V & a )
3657             {
3658             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3659             }
3660         template <class S>
3661         BOOST_QVM_INLINE_TRIVIAL
3662         typename enable_if_c<
3663             is_scalar<S>::value,
3664             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
X0X1(S & a)3665         X0X1( S & a )
3666             {
3667             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3668             }
3669         template <class V>
3670         BOOST_QVM_INLINE_TRIVIAL
3671         typename enable_if_c<
3672             is_vec<V>::value && vec_traits<V>::dim>=4,
3673             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3674         _1WX1( V const & a )
3675             {
3676             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3677             }
3678         template <class V>
3679         BOOST_QVM_INLINE_TRIVIAL
3680         typename enable_if_c<
3681             is_vec<V>::value && vec_traits<V>::dim>=4,
3682             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3683         _1WX1( V & a )
3684             {
3685             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3686             }
3687         template <class V>
3688         BOOST_QVM_INLINE_TRIVIAL
3689         typename enable_if_c<
3690             is_vec<V>::value && vec_traits<V>::dim>=4,
3691             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3692         _0WX1( V const & a )
3693             {
3694             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3695             }
3696         template <class V>
3697         BOOST_QVM_INLINE_TRIVIAL
3698         typename enable_if_c<
3699             is_vec<V>::value && vec_traits<V>::dim>=4,
3700             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3701         _0WX1( V & a )
3702             {
3703             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3704             }
3705         template <class V>
3706         BOOST_QVM_INLINE_TRIVIAL
3707         typename enable_if_c<
3708             is_vec<V>::value && vec_traits<V>::dim>=4,
3709             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3710         WWX1( V const & a )
3711             {
3712             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3713             }
3714         template <class V>
3715         BOOST_QVM_INLINE_TRIVIAL
3716         typename enable_if_c<
3717             is_vec<V>::value && vec_traits<V>::dim>=4,
3718             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3719         WWX1( V & a )
3720             {
3721             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3722             }
3723         template <class V>
3724         BOOST_QVM_INLINE_TRIVIAL
3725         typename enable_if_c<
3726             is_vec<V>::value && vec_traits<V>::dim>=4,
3727             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3728         ZWX1( V const & a )
3729             {
3730             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3731             }
3732         template <class V>
3733         BOOST_QVM_INLINE_TRIVIAL
3734         typename enable_if_c<
3735             is_vec<V>::value && vec_traits<V>::dim>=4,
3736             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3737         ZWX1( V & a )
3738             {
3739             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3740             }
3741         template <class V>
3742         BOOST_QVM_INLINE_TRIVIAL
3743         typename enable_if_c<
3744             is_vec<V>::value && vec_traits<V>::dim>=4,
3745             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3746         YWX1( V const & a )
3747             {
3748             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3749             }
3750         template <class V>
3751         BOOST_QVM_INLINE_TRIVIAL
3752         typename enable_if_c<
3753             is_vec<V>::value && vec_traits<V>::dim>=4,
3754             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3755         YWX1( V & a )
3756             {
3757             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3758             }
3759         template <class V>
3760         BOOST_QVM_INLINE_TRIVIAL
3761         typename enable_if_c<
3762             is_vec<V>::value && vec_traits<V>::dim>=4,
3763             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3764         XWX1( V const & a )
3765             {
3766             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3767             }
3768         template <class V>
3769         BOOST_QVM_INLINE_TRIVIAL
3770         typename enable_if_c<
3771             is_vec<V>::value && vec_traits<V>::dim>=4,
3772             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3773         XWX1( V & a )
3774             {
3775             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3776             }
3777         template <class V>
3778         BOOST_QVM_INLINE_TRIVIAL
3779         typename enable_if_c<
3780             is_vec<V>::value && vec_traits<V>::dim>=3,
3781             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3782         _1ZX1( V const & a )
3783             {
3784             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3785             }
3786         template <class V>
3787         BOOST_QVM_INLINE_TRIVIAL
3788         typename enable_if_c<
3789             is_vec<V>::value && vec_traits<V>::dim>=3,
3790             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3791         _1ZX1( V & a )
3792             {
3793             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3794             }
3795         template <class V>
3796         BOOST_QVM_INLINE_TRIVIAL
3797         typename enable_if_c<
3798             is_vec<V>::value && vec_traits<V>::dim>=3,
3799             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3800         _0ZX1( V const & a )
3801             {
3802             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3803             }
3804         template <class V>
3805         BOOST_QVM_INLINE_TRIVIAL
3806         typename enable_if_c<
3807             is_vec<V>::value && vec_traits<V>::dim>=3,
3808             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3809         _0ZX1( V & a )
3810             {
3811             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3812             }
3813         template <class V>
3814         BOOST_QVM_INLINE_TRIVIAL
3815         typename enable_if_c<
3816             is_vec<V>::value && vec_traits<V>::dim>=4,
3817             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3818         WZX1( V const & a )
3819             {
3820             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3821             }
3822         template <class V>
3823         BOOST_QVM_INLINE_TRIVIAL
3824         typename enable_if_c<
3825             is_vec<V>::value && vec_traits<V>::dim>=4,
3826             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3827         WZX1( V & a )
3828             {
3829             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3830             }
3831         template <class V>
3832         BOOST_QVM_INLINE_TRIVIAL
3833         typename enable_if_c<
3834             is_vec<V>::value && vec_traits<V>::dim>=3,
3835             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3836         ZZX1( V const & a )
3837             {
3838             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3839             }
3840         template <class V>
3841         BOOST_QVM_INLINE_TRIVIAL
3842         typename enable_if_c<
3843             is_vec<V>::value && vec_traits<V>::dim>=3,
3844             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3845         ZZX1( V & a )
3846             {
3847             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3848             }
3849         template <class V>
3850         BOOST_QVM_INLINE_TRIVIAL
3851         typename enable_if_c<
3852             is_vec<V>::value && vec_traits<V>::dim>=3,
3853             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3854         YZX1( V const & a )
3855             {
3856             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3857             }
3858         template <class V>
3859         BOOST_QVM_INLINE_TRIVIAL
3860         typename enable_if_c<
3861             is_vec<V>::value && vec_traits<V>::dim>=3,
3862             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3863         YZX1( V & a )
3864             {
3865             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3866             }
3867         template <class V>
3868         BOOST_QVM_INLINE_TRIVIAL
3869         typename enable_if_c<
3870             is_vec<V>::value && vec_traits<V>::dim>=3,
3871             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3872         XZX1( V const & a )
3873             {
3874             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3875             }
3876         template <class V>
3877         BOOST_QVM_INLINE_TRIVIAL
3878         typename enable_if_c<
3879             is_vec<V>::value && vec_traits<V>::dim>=3,
3880             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3881         XZX1( V & a )
3882             {
3883             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3884             }
3885         template <class V>
3886         BOOST_QVM_INLINE_TRIVIAL
3887         typename enable_if_c<
3888             is_vec<V>::value && vec_traits<V>::dim>=2,
3889             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3890         _1YX1( V const & a )
3891             {
3892             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3893             }
3894         template <class V>
3895         BOOST_QVM_INLINE_TRIVIAL
3896         typename enable_if_c<
3897             is_vec<V>::value && vec_traits<V>::dim>=2,
3898             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3899         _1YX1( V & a )
3900             {
3901             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3902             }
3903         template <class V>
3904         BOOST_QVM_INLINE_TRIVIAL
3905         typename enable_if_c<
3906             is_vec<V>::value && vec_traits<V>::dim>=2,
3907             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3908         _0YX1( V const & a )
3909             {
3910             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3911             }
3912         template <class V>
3913         BOOST_QVM_INLINE_TRIVIAL
3914         typename enable_if_c<
3915             is_vec<V>::value && vec_traits<V>::dim>=2,
3916             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3917         _0YX1( V & a )
3918             {
3919             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3920             }
3921         template <class V>
3922         BOOST_QVM_INLINE_TRIVIAL
3923         typename enable_if_c<
3924             is_vec<V>::value && vec_traits<V>::dim>=4,
3925             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3926         WYX1( V const & a )
3927             {
3928             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3929             }
3930         template <class V>
3931         BOOST_QVM_INLINE_TRIVIAL
3932         typename enable_if_c<
3933             is_vec<V>::value && vec_traits<V>::dim>=4,
3934             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3935         WYX1( V & a )
3936             {
3937             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3938             }
3939         template <class V>
3940         BOOST_QVM_INLINE_TRIVIAL
3941         typename enable_if_c<
3942             is_vec<V>::value && vec_traits<V>::dim>=3,
3943             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3944         ZYX1( V const & a )
3945             {
3946             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3947             }
3948         template <class V>
3949         BOOST_QVM_INLINE_TRIVIAL
3950         typename enable_if_c<
3951             is_vec<V>::value && vec_traits<V>::dim>=3,
3952             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3953         ZYX1( V & a )
3954             {
3955             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3956             }
3957         template <class V>
3958         BOOST_QVM_INLINE_TRIVIAL
3959         typename enable_if_c<
3960             is_vec<V>::value && vec_traits<V>::dim>=2,
3961             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3962         YYX1( V const & a )
3963             {
3964             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3965             }
3966         template <class V>
3967         BOOST_QVM_INLINE_TRIVIAL
3968         typename enable_if_c<
3969             is_vec<V>::value && vec_traits<V>::dim>=2,
3970             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3971         YYX1( V & a )
3972             {
3973             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3974             }
3975         template <class V>
3976         BOOST_QVM_INLINE_TRIVIAL
3977         typename enable_if_c<
3978             is_vec<V>::value && vec_traits<V>::dim>=2,
3979             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3980         XYX1( V const & a )
3981             {
3982             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
3983             }
3984         template <class V>
3985         BOOST_QVM_INLINE_TRIVIAL
3986         typename enable_if_c<
3987             is_vec<V>::value && vec_traits<V>::dim>=2,
3988             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
3989         XYX1( V & a )
3990             {
3991             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
3992             }
3993         template <class V>
3994         BOOST_QVM_INLINE_TRIVIAL
3995         typename enable_if_c<
3996             is_vec<V>::value && vec_traits<V>::dim>=1,
3997             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
3998         _1XX1( V const & a )
3999             {
4000             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
4001             }
4002         template <class S>
4003         BOOST_QVM_INLINE_TRIVIAL
4004         typename enable_if_c<
4005             is_scalar<S>::value,
4006             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_1XX1(S const & a)4007         _1XX1( S const & a )
4008             {
4009             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
4010             }
4011         template <class V>
4012         BOOST_QVM_INLINE_TRIVIAL
4013         typename enable_if_c<
4014             is_vec<V>::value && vec_traits<V>::dim>=1,
4015             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
4016         _1XX1( V & a )
4017             {
4018             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
4019             }
4020         template <class S>
4021         BOOST_QVM_INLINE_TRIVIAL
4022         typename enable_if_c<
4023             is_scalar<S>::value,
4024             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_1XX1(S & a)4025         _1XX1( S & a )
4026             {
4027             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
4028             }
4029         template <class V>
4030         BOOST_QVM_INLINE_TRIVIAL
4031         typename enable_if_c<
4032             is_vec<V>::value && vec_traits<V>::dim>=1,
4033             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
4034         _0XX1( V const & a )
4035             {
4036             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
4037             }
4038         template <class S>
4039         BOOST_QVM_INLINE_TRIVIAL
4040         typename enable_if_c<
4041             is_scalar<S>::value,
4042             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
_0XX1(S const & a)4043         _0XX1( S const & a )
4044             {
4045             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
4046             }
4047         template <class V>
4048         BOOST_QVM_INLINE_TRIVIAL
4049         typename enable_if_c<
4050             is_vec<V>::value && vec_traits<V>::dim>=1,
4051             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
4052         _0XX1( V & a )
4053             {
4054             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
4055             }
4056         template <class S>
4057         BOOST_QVM_INLINE_TRIVIAL
4058         typename enable_if_c<
4059             is_scalar<S>::value,
4060             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
_0XX1(S & a)4061         _0XX1( S & a )
4062             {
4063             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
4064             }
4065         template <class V>
4066         BOOST_QVM_INLINE_TRIVIAL
4067         typename enable_if_c<
4068             is_vec<V>::value && vec_traits<V>::dim>=4,
4069             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
4070         WXX1( V const & a )
4071             {
4072             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
4073             }
4074         template <class V>
4075         BOOST_QVM_INLINE_TRIVIAL
4076         typename enable_if_c<
4077             is_vec<V>::value && vec_traits<V>::dim>=4,
4078             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
4079         WXX1( V & a )
4080             {
4081             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
4082             }
4083         template <class V>
4084         BOOST_QVM_INLINE_TRIVIAL
4085         typename enable_if_c<
4086             is_vec<V>::value && vec_traits<V>::dim>=3,
4087             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
4088         ZXX1( V const & a )
4089             {
4090             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
4091             }
4092         template <class V>
4093         BOOST_QVM_INLINE_TRIVIAL
4094         typename enable_if_c<
4095             is_vec<V>::value && vec_traits<V>::dim>=3,
4096             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
4097         ZXX1( V & a )
4098             {
4099             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
4100             }
4101         template <class V>
4102         BOOST_QVM_INLINE_TRIVIAL
4103         typename enable_if_c<
4104             is_vec<V>::value && vec_traits<V>::dim>=2,
4105             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
4106         YXX1( V const & a )
4107             {
4108             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
4109             }
4110         template <class V>
4111         BOOST_QVM_INLINE_TRIVIAL
4112         typename enable_if_c<
4113             is_vec<V>::value && vec_traits<V>::dim>=2,
4114             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
4115         YXX1( V & a )
4116             {
4117             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
4118             }
4119         template <class V>
4120         BOOST_QVM_INLINE_TRIVIAL
4121         typename enable_if_c<
4122             is_vec<V>::value && vec_traits<V>::dim>=1,
4123             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
4124         XXX1( V const & a )
4125             {
4126             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
4127             }
4128         template <class S>
4129         BOOST_QVM_INLINE_TRIVIAL
4130         typename enable_if_c<
4131             is_scalar<S>::value,
4132             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>::type
XXX1(S const & a)4133         XXX1( S const & a )
4134             {
4135             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > const &>(a);
4136             }
4137         template <class V>
4138         BOOST_QVM_INLINE_TRIVIAL
4139         typename enable_if_c<
4140             is_vec<V>::value && vec_traits<V>::dim>=1,
4141             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
4142         XXX1( V & a )
4143             {
4144             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
4145             }
4146         template <class S>
4147         BOOST_QVM_INLINE_TRIVIAL
4148         typename enable_if_c<
4149             is_scalar<S>::value,
4150             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>::type
XXX1(S & a)4151         XXX1( S & a )
4152             {
4153             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2 > > > > > &>(a);
4154             }
4155         BOOST_QVM_INLINE_TRIVIAL
4156         qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
_1110()4157         _1110()
4158             {
4159             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
4160             }
4161         BOOST_QVM_INLINE_TRIVIAL
4162         qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
_0110()4163         _0110()
4164             {
4165             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
4166             }
4167         template <class V>
4168         BOOST_QVM_INLINE_TRIVIAL
4169         typename enable_if_c<
4170             is_vec<V>::value && vec_traits<V>::dim>=4,
4171             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4172         W110( V const & a )
4173             {
4174             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4175             }
4176         template <class V>
4177         BOOST_QVM_INLINE_TRIVIAL
4178         typename enable_if_c<
4179             is_vec<V>::value && vec_traits<V>::dim>=4,
4180             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4181         W110( V & a )
4182             {
4183             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4184             }
4185         template <class V>
4186         BOOST_QVM_INLINE_TRIVIAL
4187         typename enable_if_c<
4188             is_vec<V>::value && vec_traits<V>::dim>=3,
4189             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4190         Z110( V const & a )
4191             {
4192             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4193             }
4194         template <class V>
4195         BOOST_QVM_INLINE_TRIVIAL
4196         typename enable_if_c<
4197             is_vec<V>::value && vec_traits<V>::dim>=3,
4198             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4199         Z110( V & a )
4200             {
4201             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4202             }
4203         template <class V>
4204         BOOST_QVM_INLINE_TRIVIAL
4205         typename enable_if_c<
4206             is_vec<V>::value && vec_traits<V>::dim>=2,
4207             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4208         Y110( V const & a )
4209             {
4210             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4211             }
4212         template <class V>
4213         BOOST_QVM_INLINE_TRIVIAL
4214         typename enable_if_c<
4215             is_vec<V>::value && vec_traits<V>::dim>=2,
4216             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4217         Y110( V & a )
4218             {
4219             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4220             }
4221         template <class V>
4222         BOOST_QVM_INLINE_TRIVIAL
4223         typename enable_if_c<
4224             is_vec<V>::value && vec_traits<V>::dim>=1,
4225             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4226         X110( V const & a )
4227             {
4228             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4229             }
4230         template <class S>
4231         BOOST_QVM_INLINE_TRIVIAL
4232         typename enable_if_c<
4233             is_scalar<S>::value,
4234             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X110(S const & a)4235         X110( S const & a )
4236             {
4237             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4238             }
4239         template <class V>
4240         BOOST_QVM_INLINE_TRIVIAL
4241         typename enable_if_c<
4242             is_vec<V>::value && vec_traits<V>::dim>=1,
4243             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4244         X110( V & a )
4245             {
4246             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4247             }
4248         template <class S>
4249         BOOST_QVM_INLINE_TRIVIAL
4250         typename enable_if_c<
4251             is_scalar<S>::value,
4252             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X110(S & a)4253         X110( S & a )
4254             {
4255             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4256             }
4257         BOOST_QVM_INLINE_TRIVIAL
4258         qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
_1010()4259         _1010()
4260             {
4261             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
4262             }
4263         BOOST_QVM_INLINE_TRIVIAL
4264         qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &
_0010()4265         _0010()
4266             {
4267             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
4268             }
4269         template <class V>
4270         BOOST_QVM_INLINE_TRIVIAL
4271         typename enable_if_c<
4272             is_vec<V>::value && vec_traits<V>::dim>=4,
4273             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4274         W010( V const & a )
4275             {
4276             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4277             }
4278         template <class V>
4279         BOOST_QVM_INLINE_TRIVIAL
4280         typename enable_if_c<
4281             is_vec<V>::value && vec_traits<V>::dim>=4,
4282             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4283         W010( V & a )
4284             {
4285             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4286             }
4287         template <class V>
4288         BOOST_QVM_INLINE_TRIVIAL
4289         typename enable_if_c<
4290             is_vec<V>::value && vec_traits<V>::dim>=3,
4291             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4292         Z010( V const & a )
4293             {
4294             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4295             }
4296         template <class V>
4297         BOOST_QVM_INLINE_TRIVIAL
4298         typename enable_if_c<
4299             is_vec<V>::value && vec_traits<V>::dim>=3,
4300             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4301         Z010( V & a )
4302             {
4303             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4304             }
4305         template <class V>
4306         BOOST_QVM_INLINE_TRIVIAL
4307         typename enable_if_c<
4308             is_vec<V>::value && vec_traits<V>::dim>=2,
4309             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4310         Y010( V const & a )
4311             {
4312             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4313             }
4314         template <class V>
4315         BOOST_QVM_INLINE_TRIVIAL
4316         typename enable_if_c<
4317             is_vec<V>::value && vec_traits<V>::dim>=2,
4318             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4319         Y010( V & a )
4320             {
4321             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4322             }
4323         template <class V>
4324         BOOST_QVM_INLINE_TRIVIAL
4325         typename enable_if_c<
4326             is_vec<V>::value && vec_traits<V>::dim>=1,
4327             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4328         X010( V const & a )
4329             {
4330             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4331             }
4332         template <class S>
4333         BOOST_QVM_INLINE_TRIVIAL
4334         typename enable_if_c<
4335             is_scalar<S>::value,
4336             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X010(S const & a)4337         X010( S const & a )
4338             {
4339             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4340             }
4341         template <class V>
4342         BOOST_QVM_INLINE_TRIVIAL
4343         typename enable_if_c<
4344             is_vec<V>::value && vec_traits<V>::dim>=1,
4345             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4346         X010( V & a )
4347             {
4348             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4349             }
4350         template <class S>
4351         BOOST_QVM_INLINE_TRIVIAL
4352         typename enable_if_c<
4353             is_scalar<S>::value,
4354             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X010(S & a)4355         X010( S & a )
4356             {
4357             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4358             }
4359         template <class V>
4360         BOOST_QVM_INLINE_TRIVIAL
4361         typename enable_if_c<
4362             is_vec<V>::value && vec_traits<V>::dim>=4,
4363             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4364         _1W10( V const & a )
4365             {
4366             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4367             }
4368         template <class V>
4369         BOOST_QVM_INLINE_TRIVIAL
4370         typename enable_if_c<
4371             is_vec<V>::value && vec_traits<V>::dim>=4,
4372             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4373         _1W10( V & a )
4374             {
4375             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4376             }
4377         template <class V>
4378         BOOST_QVM_INLINE_TRIVIAL
4379         typename enable_if_c<
4380             is_vec<V>::value && vec_traits<V>::dim>=4,
4381             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4382         _0W10( V const & a )
4383             {
4384             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4385             }
4386         template <class V>
4387         BOOST_QVM_INLINE_TRIVIAL
4388         typename enable_if_c<
4389             is_vec<V>::value && vec_traits<V>::dim>=4,
4390             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4391         _0W10( V & a )
4392             {
4393             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4394             }
4395         template <class V>
4396         BOOST_QVM_INLINE_TRIVIAL
4397         typename enable_if_c<
4398             is_vec<V>::value && vec_traits<V>::dim>=4,
4399             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4400         WW10( V const & a )
4401             {
4402             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4403             }
4404         template <class V>
4405         BOOST_QVM_INLINE_TRIVIAL
4406         typename enable_if_c<
4407             is_vec<V>::value && vec_traits<V>::dim>=4,
4408             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4409         WW10( V & a )
4410             {
4411             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4412             }
4413         template <class V>
4414         BOOST_QVM_INLINE_TRIVIAL
4415         typename enable_if_c<
4416             is_vec<V>::value && vec_traits<V>::dim>=4,
4417             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4418         ZW10( V const & a )
4419             {
4420             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4421             }
4422         template <class V>
4423         BOOST_QVM_INLINE_TRIVIAL
4424         typename enable_if_c<
4425             is_vec<V>::value && vec_traits<V>::dim>=4,
4426             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4427         ZW10( V & a )
4428             {
4429             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4430             }
4431         template <class V>
4432         BOOST_QVM_INLINE_TRIVIAL
4433         typename enable_if_c<
4434             is_vec<V>::value && vec_traits<V>::dim>=4,
4435             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4436         YW10( V const & a )
4437             {
4438             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4439             }
4440         template <class V>
4441         BOOST_QVM_INLINE_TRIVIAL
4442         typename enable_if_c<
4443             is_vec<V>::value && vec_traits<V>::dim>=4,
4444             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4445         YW10( V & a )
4446             {
4447             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4448             }
4449         template <class V>
4450         BOOST_QVM_INLINE_TRIVIAL
4451         typename enable_if_c<
4452             is_vec<V>::value && vec_traits<V>::dim>=4,
4453             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4454         XW10( V const & a )
4455             {
4456             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4457             }
4458         template <class V>
4459         BOOST_QVM_INLINE_TRIVIAL
4460         typename enable_if_c<
4461             is_vec<V>::value && vec_traits<V>::dim>=4,
4462             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4463         XW10( V & a )
4464             {
4465             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4466             }
4467         template <class V>
4468         BOOST_QVM_INLINE_TRIVIAL
4469         typename enable_if_c<
4470             is_vec<V>::value && vec_traits<V>::dim>=3,
4471             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4472         _1Z10( V const & a )
4473             {
4474             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4475             }
4476         template <class V>
4477         BOOST_QVM_INLINE_TRIVIAL
4478         typename enable_if_c<
4479             is_vec<V>::value && vec_traits<V>::dim>=3,
4480             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4481         _1Z10( V & a )
4482             {
4483             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4484             }
4485         template <class V>
4486         BOOST_QVM_INLINE_TRIVIAL
4487         typename enable_if_c<
4488             is_vec<V>::value && vec_traits<V>::dim>=3,
4489             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4490         _0Z10( V const & a )
4491             {
4492             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4493             }
4494         template <class V>
4495         BOOST_QVM_INLINE_TRIVIAL
4496         typename enable_if_c<
4497             is_vec<V>::value && vec_traits<V>::dim>=3,
4498             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4499         _0Z10( V & a )
4500             {
4501             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4502             }
4503         template <class V>
4504         BOOST_QVM_INLINE_TRIVIAL
4505         typename enable_if_c<
4506             is_vec<V>::value && vec_traits<V>::dim>=4,
4507             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4508         WZ10( V const & a )
4509             {
4510             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4511             }
4512         template <class V>
4513         BOOST_QVM_INLINE_TRIVIAL
4514         typename enable_if_c<
4515             is_vec<V>::value && vec_traits<V>::dim>=4,
4516             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4517         WZ10( V & a )
4518             {
4519             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4520             }
4521         template <class V>
4522         BOOST_QVM_INLINE_TRIVIAL
4523         typename enable_if_c<
4524             is_vec<V>::value && vec_traits<V>::dim>=3,
4525             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4526         ZZ10( V const & a )
4527             {
4528             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4529             }
4530         template <class V>
4531         BOOST_QVM_INLINE_TRIVIAL
4532         typename enable_if_c<
4533             is_vec<V>::value && vec_traits<V>::dim>=3,
4534             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4535         ZZ10( V & a )
4536             {
4537             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4538             }
4539         template <class V>
4540         BOOST_QVM_INLINE_TRIVIAL
4541         typename enable_if_c<
4542             is_vec<V>::value && vec_traits<V>::dim>=3,
4543             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4544         YZ10( V const & a )
4545             {
4546             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4547             }
4548         template <class V>
4549         BOOST_QVM_INLINE_TRIVIAL
4550         typename enable_if_c<
4551             is_vec<V>::value && vec_traits<V>::dim>=3,
4552             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4553         YZ10( V & a )
4554             {
4555             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4556             }
4557         template <class V>
4558         BOOST_QVM_INLINE_TRIVIAL
4559         typename enable_if_c<
4560             is_vec<V>::value && vec_traits<V>::dim>=3,
4561             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4562         XZ10( V const & a )
4563             {
4564             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4565             }
4566         template <class V>
4567         BOOST_QVM_INLINE_TRIVIAL
4568         typename enable_if_c<
4569             is_vec<V>::value && vec_traits<V>::dim>=3,
4570             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4571         XZ10( V & a )
4572             {
4573             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4574             }
4575         template <class V>
4576         BOOST_QVM_INLINE_TRIVIAL
4577         typename enable_if_c<
4578             is_vec<V>::value && vec_traits<V>::dim>=2,
4579             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4580         _1Y10( V const & a )
4581             {
4582             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4583             }
4584         template <class V>
4585         BOOST_QVM_INLINE_TRIVIAL
4586         typename enable_if_c<
4587             is_vec<V>::value && vec_traits<V>::dim>=2,
4588             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4589         _1Y10( V & a )
4590             {
4591             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4592             }
4593         template <class V>
4594         BOOST_QVM_INLINE_TRIVIAL
4595         typename enable_if_c<
4596             is_vec<V>::value && vec_traits<V>::dim>=2,
4597             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4598         _0Y10( V const & a )
4599             {
4600             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4601             }
4602         template <class V>
4603         BOOST_QVM_INLINE_TRIVIAL
4604         typename enable_if_c<
4605             is_vec<V>::value && vec_traits<V>::dim>=2,
4606             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4607         _0Y10( V & a )
4608             {
4609             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4610             }
4611         template <class V>
4612         BOOST_QVM_INLINE_TRIVIAL
4613         typename enable_if_c<
4614             is_vec<V>::value && vec_traits<V>::dim>=4,
4615             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4616         WY10( V const & a )
4617             {
4618             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4619             }
4620         template <class V>
4621         BOOST_QVM_INLINE_TRIVIAL
4622         typename enable_if_c<
4623             is_vec<V>::value && vec_traits<V>::dim>=4,
4624             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4625         WY10( V & a )
4626             {
4627             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4628             }
4629         template <class V>
4630         BOOST_QVM_INLINE_TRIVIAL
4631         typename enable_if_c<
4632             is_vec<V>::value && vec_traits<V>::dim>=3,
4633             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4634         ZY10( V const & a )
4635             {
4636             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4637             }
4638         template <class V>
4639         BOOST_QVM_INLINE_TRIVIAL
4640         typename enable_if_c<
4641             is_vec<V>::value && vec_traits<V>::dim>=3,
4642             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4643         ZY10( V & a )
4644             {
4645             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4646             }
4647         template <class V>
4648         BOOST_QVM_INLINE_TRIVIAL
4649         typename enable_if_c<
4650             is_vec<V>::value && vec_traits<V>::dim>=2,
4651             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4652         YY10( V const & a )
4653             {
4654             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4655             }
4656         template <class V>
4657         BOOST_QVM_INLINE_TRIVIAL
4658         typename enable_if_c<
4659             is_vec<V>::value && vec_traits<V>::dim>=2,
4660             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4661         YY10( V & a )
4662             {
4663             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4664             }
4665         template <class V>
4666         BOOST_QVM_INLINE_TRIVIAL
4667         typename enable_if_c<
4668             is_vec<V>::value && vec_traits<V>::dim>=2,
4669             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4670         XY10( V const & a )
4671             {
4672             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4673             }
4674         template <class V>
4675         BOOST_QVM_INLINE_TRIVIAL
4676         typename enable_if_c<
4677             is_vec<V>::value && vec_traits<V>::dim>=2,
4678             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4679         XY10( V & a )
4680             {
4681             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4682             }
4683         template <class V>
4684         BOOST_QVM_INLINE_TRIVIAL
4685         typename enable_if_c<
4686             is_vec<V>::value && vec_traits<V>::dim>=1,
4687             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4688         _1X10( V const & a )
4689             {
4690             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4691             }
4692         template <class S>
4693         BOOST_QVM_INLINE_TRIVIAL
4694         typename enable_if_c<
4695             is_scalar<S>::value,
4696             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1X10(S const & a)4697         _1X10( S const & a )
4698             {
4699             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4700             }
4701         template <class V>
4702         BOOST_QVM_INLINE_TRIVIAL
4703         typename enable_if_c<
4704             is_vec<V>::value && vec_traits<V>::dim>=1,
4705             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4706         _1X10( V & a )
4707             {
4708             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4709             }
4710         template <class S>
4711         BOOST_QVM_INLINE_TRIVIAL
4712         typename enable_if_c<
4713             is_scalar<S>::value,
4714             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1X10(S & a)4715         _1X10( S & a )
4716             {
4717             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4718             }
4719         template <class V>
4720         BOOST_QVM_INLINE_TRIVIAL
4721         typename enable_if_c<
4722             is_vec<V>::value && vec_traits<V>::dim>=1,
4723             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4724         _0X10( V const & a )
4725             {
4726             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4727             }
4728         template <class S>
4729         BOOST_QVM_INLINE_TRIVIAL
4730         typename enable_if_c<
4731             is_scalar<S>::value,
4732             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0X10(S const & a)4733         _0X10( S const & a )
4734             {
4735             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4736             }
4737         template <class V>
4738         BOOST_QVM_INLINE_TRIVIAL
4739         typename enable_if_c<
4740             is_vec<V>::value && vec_traits<V>::dim>=1,
4741             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4742         _0X10( V & a )
4743             {
4744             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4745             }
4746         template <class S>
4747         BOOST_QVM_INLINE_TRIVIAL
4748         typename enable_if_c<
4749             is_scalar<S>::value,
4750             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0X10(S & a)4751         _0X10( S & a )
4752             {
4753             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4754             }
4755         template <class V>
4756         BOOST_QVM_INLINE_TRIVIAL
4757         typename enable_if_c<
4758             is_vec<V>::value && vec_traits<V>::dim>=4,
4759             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4760         WX10( V const & a )
4761             {
4762             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4763             }
4764         template <class V>
4765         BOOST_QVM_INLINE_TRIVIAL
4766         typename enable_if_c<
4767             is_vec<V>::value && vec_traits<V>::dim>=4,
4768             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4769         WX10( V & a )
4770             {
4771             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4772             }
4773         template <class V>
4774         BOOST_QVM_INLINE_TRIVIAL
4775         typename enable_if_c<
4776             is_vec<V>::value && vec_traits<V>::dim>=3,
4777             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4778         ZX10( V const & a )
4779             {
4780             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4781             }
4782         template <class V>
4783         BOOST_QVM_INLINE_TRIVIAL
4784         typename enable_if_c<
4785             is_vec<V>::value && vec_traits<V>::dim>=3,
4786             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4787         ZX10( V & a )
4788             {
4789             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4790             }
4791         template <class V>
4792         BOOST_QVM_INLINE_TRIVIAL
4793         typename enable_if_c<
4794             is_vec<V>::value && vec_traits<V>::dim>=2,
4795             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4796         YX10( V const & a )
4797             {
4798             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4799             }
4800         template <class V>
4801         BOOST_QVM_INLINE_TRIVIAL
4802         typename enable_if_c<
4803             is_vec<V>::value && vec_traits<V>::dim>=2,
4804             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4805         YX10( V & a )
4806             {
4807             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4808             }
4809         template <class V>
4810         BOOST_QVM_INLINE_TRIVIAL
4811         typename enable_if_c<
4812             is_vec<V>::value && vec_traits<V>::dim>=1,
4813             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4814         XX10( V const & a )
4815             {
4816             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4817             }
4818         template <class S>
4819         BOOST_QVM_INLINE_TRIVIAL
4820         typename enable_if_c<
4821             is_scalar<S>::value,
4822             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XX10(S const & a)4823         XX10( S const & a )
4824             {
4825             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4826             }
4827         template <class V>
4828         BOOST_QVM_INLINE_TRIVIAL
4829         typename enable_if_c<
4830             is_vec<V>::value && vec_traits<V>::dim>=1,
4831             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4832         XX10( V & a )
4833             {
4834             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4835             }
4836         template <class S>
4837         BOOST_QVM_INLINE_TRIVIAL
4838         typename enable_if_c<
4839             is_scalar<S>::value,
4840             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XX10(S & a)4841         XX10( S & a )
4842             {
4843             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4844             }
4845         BOOST_QVM_INLINE_TRIVIAL
4846         qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
_1100()4847         _1100()
4848             {
4849             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
4850             }
4851         BOOST_QVM_INLINE_TRIVIAL
4852         qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
_0100()4853         _0100()
4854             {
4855             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
4856             }
4857         template <class V>
4858         BOOST_QVM_INLINE_TRIVIAL
4859         typename enable_if_c<
4860             is_vec<V>::value && vec_traits<V>::dim>=4,
4861             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4862         W100( V const & a )
4863             {
4864             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4865             }
4866         template <class V>
4867         BOOST_QVM_INLINE_TRIVIAL
4868         typename enable_if_c<
4869             is_vec<V>::value && vec_traits<V>::dim>=4,
4870             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4871         W100( V & a )
4872             {
4873             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4874             }
4875         template <class V>
4876         BOOST_QVM_INLINE_TRIVIAL
4877         typename enable_if_c<
4878             is_vec<V>::value && vec_traits<V>::dim>=3,
4879             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4880         Z100( V const & a )
4881             {
4882             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4883             }
4884         template <class V>
4885         BOOST_QVM_INLINE_TRIVIAL
4886         typename enable_if_c<
4887             is_vec<V>::value && vec_traits<V>::dim>=3,
4888             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4889         Z100( V & a )
4890             {
4891             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4892             }
4893         template <class V>
4894         BOOST_QVM_INLINE_TRIVIAL
4895         typename enable_if_c<
4896             is_vec<V>::value && vec_traits<V>::dim>=2,
4897             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4898         Y100( V const & a )
4899             {
4900             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4901             }
4902         template <class V>
4903         BOOST_QVM_INLINE_TRIVIAL
4904         typename enable_if_c<
4905             is_vec<V>::value && vec_traits<V>::dim>=2,
4906             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4907         Y100( V & a )
4908             {
4909             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4910             }
4911         template <class V>
4912         BOOST_QVM_INLINE_TRIVIAL
4913         typename enable_if_c<
4914             is_vec<V>::value && vec_traits<V>::dim>=1,
4915             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4916         X100( V const & a )
4917             {
4918             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4919             }
4920         template <class S>
4921         BOOST_QVM_INLINE_TRIVIAL
4922         typename enable_if_c<
4923             is_scalar<S>::value,
4924             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X100(S const & a)4925         X100( S const & a )
4926             {
4927             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4928             }
4929         template <class V>
4930         BOOST_QVM_INLINE_TRIVIAL
4931         typename enable_if_c<
4932             is_vec<V>::value && vec_traits<V>::dim>=1,
4933             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4934         X100( V & a )
4935             {
4936             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4937             }
4938         template <class S>
4939         BOOST_QVM_INLINE_TRIVIAL
4940         typename enable_if_c<
4941             is_scalar<S>::value,
4942             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X100(S & a)4943         X100( S & a )
4944             {
4945             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4946             }
4947         BOOST_QVM_INLINE_TRIVIAL
4948         qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
_1000()4949         _1000()
4950             {
4951             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
4952             }
4953         BOOST_QVM_INLINE_TRIVIAL
4954         qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &
_0000()4955         _0000()
4956             {
4957             return *reinterpret_cast<qvm_detail::sw01_<qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const *>(qvm_detail::get_null());
4958             }
4959         template <class V>
4960         BOOST_QVM_INLINE_TRIVIAL
4961         typename enable_if_c<
4962             is_vec<V>::value && vec_traits<V>::dim>=4,
4963             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4964         W000( V const & a )
4965             {
4966             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4967             }
4968         template <class V>
4969         BOOST_QVM_INLINE_TRIVIAL
4970         typename enable_if_c<
4971             is_vec<V>::value && vec_traits<V>::dim>=4,
4972             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4973         W000( V & a )
4974             {
4975             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4976             }
4977         template <class V>
4978         BOOST_QVM_INLINE_TRIVIAL
4979         typename enable_if_c<
4980             is_vec<V>::value && vec_traits<V>::dim>=3,
4981             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
4982         Z000( V const & a )
4983             {
4984             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
4985             }
4986         template <class V>
4987         BOOST_QVM_INLINE_TRIVIAL
4988         typename enable_if_c<
4989             is_vec<V>::value && vec_traits<V>::dim>=3,
4990             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
4991         Z000( V & a )
4992             {
4993             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
4994             }
4995         template <class V>
4996         BOOST_QVM_INLINE_TRIVIAL
4997         typename enable_if_c<
4998             is_vec<V>::value && vec_traits<V>::dim>=2,
4999             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5000         Y000( V const & a )
5001             {
5002             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5003             }
5004         template <class V>
5005         BOOST_QVM_INLINE_TRIVIAL
5006         typename enable_if_c<
5007             is_vec<V>::value && vec_traits<V>::dim>=2,
5008             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5009         Y000( V & a )
5010             {
5011             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5012             }
5013         template <class V>
5014         BOOST_QVM_INLINE_TRIVIAL
5015         typename enable_if_c<
5016             is_vec<V>::value && vec_traits<V>::dim>=1,
5017             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5018         X000( V const & a )
5019             {
5020             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5021             }
5022         template <class S>
5023         BOOST_QVM_INLINE_TRIVIAL
5024         typename enable_if_c<
5025             is_scalar<S>::value,
5026             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X000(S const & a)5027         X000( S const & a )
5028             {
5029             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5030             }
5031         template <class V>
5032         BOOST_QVM_INLINE_TRIVIAL
5033         typename enable_if_c<
5034             is_vec<V>::value && vec_traits<V>::dim>=1,
5035             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5036         X000( V & a )
5037             {
5038             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5039             }
5040         template <class S>
5041         BOOST_QVM_INLINE_TRIVIAL
5042         typename enable_if_c<
5043             is_scalar<S>::value,
5044             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X000(S & a)5045         X000( S & a )
5046             {
5047             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5048             }
5049         template <class V>
5050         BOOST_QVM_INLINE_TRIVIAL
5051         typename enable_if_c<
5052             is_vec<V>::value && vec_traits<V>::dim>=4,
5053             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5054         _1W00( V const & a )
5055             {
5056             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5057             }
5058         template <class V>
5059         BOOST_QVM_INLINE_TRIVIAL
5060         typename enable_if_c<
5061             is_vec<V>::value && vec_traits<V>::dim>=4,
5062             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5063         _1W00( V & a )
5064             {
5065             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5066             }
5067         template <class V>
5068         BOOST_QVM_INLINE_TRIVIAL
5069         typename enable_if_c<
5070             is_vec<V>::value && vec_traits<V>::dim>=4,
5071             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5072         _0W00( V const & a )
5073             {
5074             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5075             }
5076         template <class V>
5077         BOOST_QVM_INLINE_TRIVIAL
5078         typename enable_if_c<
5079             is_vec<V>::value && vec_traits<V>::dim>=4,
5080             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5081         _0W00( V & a )
5082             {
5083             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5084             }
5085         template <class V>
5086         BOOST_QVM_INLINE_TRIVIAL
5087         typename enable_if_c<
5088             is_vec<V>::value && vec_traits<V>::dim>=4,
5089             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5090         WW00( V const & a )
5091             {
5092             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5093             }
5094         template <class V>
5095         BOOST_QVM_INLINE_TRIVIAL
5096         typename enable_if_c<
5097             is_vec<V>::value && vec_traits<V>::dim>=4,
5098             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5099         WW00( V & a )
5100             {
5101             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5102             }
5103         template <class V>
5104         BOOST_QVM_INLINE_TRIVIAL
5105         typename enable_if_c<
5106             is_vec<V>::value && vec_traits<V>::dim>=4,
5107             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5108         ZW00( V const & a )
5109             {
5110             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5111             }
5112         template <class V>
5113         BOOST_QVM_INLINE_TRIVIAL
5114         typename enable_if_c<
5115             is_vec<V>::value && vec_traits<V>::dim>=4,
5116             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5117         ZW00( V & a )
5118             {
5119             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5120             }
5121         template <class V>
5122         BOOST_QVM_INLINE_TRIVIAL
5123         typename enable_if_c<
5124             is_vec<V>::value && vec_traits<V>::dim>=4,
5125             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5126         YW00( V const & a )
5127             {
5128             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5129             }
5130         template <class V>
5131         BOOST_QVM_INLINE_TRIVIAL
5132         typename enable_if_c<
5133             is_vec<V>::value && vec_traits<V>::dim>=4,
5134             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5135         YW00( V & a )
5136             {
5137             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5138             }
5139         template <class V>
5140         BOOST_QVM_INLINE_TRIVIAL
5141         typename enable_if_c<
5142             is_vec<V>::value && vec_traits<V>::dim>=4,
5143             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5144         XW00( V const & a )
5145             {
5146             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5147             }
5148         template <class V>
5149         BOOST_QVM_INLINE_TRIVIAL
5150         typename enable_if_c<
5151             is_vec<V>::value && vec_traits<V>::dim>=4,
5152             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5153         XW00( V & a )
5154             {
5155             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5156             }
5157         template <class V>
5158         BOOST_QVM_INLINE_TRIVIAL
5159         typename enable_if_c<
5160             is_vec<V>::value && vec_traits<V>::dim>=3,
5161             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5162         _1Z00( V const & a )
5163             {
5164             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5165             }
5166         template <class V>
5167         BOOST_QVM_INLINE_TRIVIAL
5168         typename enable_if_c<
5169             is_vec<V>::value && vec_traits<V>::dim>=3,
5170             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5171         _1Z00( V & a )
5172             {
5173             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5174             }
5175         template <class V>
5176         BOOST_QVM_INLINE_TRIVIAL
5177         typename enable_if_c<
5178             is_vec<V>::value && vec_traits<V>::dim>=3,
5179             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5180         _0Z00( V const & a )
5181             {
5182             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5183             }
5184         template <class V>
5185         BOOST_QVM_INLINE_TRIVIAL
5186         typename enable_if_c<
5187             is_vec<V>::value && vec_traits<V>::dim>=3,
5188             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5189         _0Z00( V & a )
5190             {
5191             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5192             }
5193         template <class V>
5194         BOOST_QVM_INLINE_TRIVIAL
5195         typename enable_if_c<
5196             is_vec<V>::value && vec_traits<V>::dim>=4,
5197             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5198         WZ00( V const & a )
5199             {
5200             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5201             }
5202         template <class V>
5203         BOOST_QVM_INLINE_TRIVIAL
5204         typename enable_if_c<
5205             is_vec<V>::value && vec_traits<V>::dim>=4,
5206             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5207         WZ00( V & a )
5208             {
5209             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5210             }
5211         template <class V>
5212         BOOST_QVM_INLINE_TRIVIAL
5213         typename enable_if_c<
5214             is_vec<V>::value && vec_traits<V>::dim>=3,
5215             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5216         ZZ00( V const & a )
5217             {
5218             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5219             }
5220         template <class V>
5221         BOOST_QVM_INLINE_TRIVIAL
5222         typename enable_if_c<
5223             is_vec<V>::value && vec_traits<V>::dim>=3,
5224             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5225         ZZ00( V & a )
5226             {
5227             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5228             }
5229         template <class V>
5230         BOOST_QVM_INLINE_TRIVIAL
5231         typename enable_if_c<
5232             is_vec<V>::value && vec_traits<V>::dim>=3,
5233             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5234         YZ00( V const & a )
5235             {
5236             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5237             }
5238         template <class V>
5239         BOOST_QVM_INLINE_TRIVIAL
5240         typename enable_if_c<
5241             is_vec<V>::value && vec_traits<V>::dim>=3,
5242             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5243         YZ00( V & a )
5244             {
5245             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5246             }
5247         template <class V>
5248         BOOST_QVM_INLINE_TRIVIAL
5249         typename enable_if_c<
5250             is_vec<V>::value && vec_traits<V>::dim>=3,
5251             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5252         XZ00( V const & a )
5253             {
5254             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5255             }
5256         template <class V>
5257         BOOST_QVM_INLINE_TRIVIAL
5258         typename enable_if_c<
5259             is_vec<V>::value && vec_traits<V>::dim>=3,
5260             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5261         XZ00( V & a )
5262             {
5263             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5264             }
5265         template <class V>
5266         BOOST_QVM_INLINE_TRIVIAL
5267         typename enable_if_c<
5268             is_vec<V>::value && vec_traits<V>::dim>=2,
5269             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5270         _1Y00( V const & a )
5271             {
5272             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5273             }
5274         template <class V>
5275         BOOST_QVM_INLINE_TRIVIAL
5276         typename enable_if_c<
5277             is_vec<V>::value && vec_traits<V>::dim>=2,
5278             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5279         _1Y00( V & a )
5280             {
5281             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5282             }
5283         template <class V>
5284         BOOST_QVM_INLINE_TRIVIAL
5285         typename enable_if_c<
5286             is_vec<V>::value && vec_traits<V>::dim>=2,
5287             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5288         _0Y00( V const & a )
5289             {
5290             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5291             }
5292         template <class V>
5293         BOOST_QVM_INLINE_TRIVIAL
5294         typename enable_if_c<
5295             is_vec<V>::value && vec_traits<V>::dim>=2,
5296             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5297         _0Y00( V & a )
5298             {
5299             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5300             }
5301         template <class V>
5302         BOOST_QVM_INLINE_TRIVIAL
5303         typename enable_if_c<
5304             is_vec<V>::value && vec_traits<V>::dim>=4,
5305             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5306         WY00( V const & a )
5307             {
5308             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5309             }
5310         template <class V>
5311         BOOST_QVM_INLINE_TRIVIAL
5312         typename enable_if_c<
5313             is_vec<V>::value && vec_traits<V>::dim>=4,
5314             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5315         WY00( V & a )
5316             {
5317             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5318             }
5319         template <class V>
5320         BOOST_QVM_INLINE_TRIVIAL
5321         typename enable_if_c<
5322             is_vec<V>::value && vec_traits<V>::dim>=3,
5323             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5324         ZY00( V const & a )
5325             {
5326             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5327             }
5328         template <class V>
5329         BOOST_QVM_INLINE_TRIVIAL
5330         typename enable_if_c<
5331             is_vec<V>::value && vec_traits<V>::dim>=3,
5332             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5333         ZY00( V & a )
5334             {
5335             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5336             }
5337         template <class V>
5338         BOOST_QVM_INLINE_TRIVIAL
5339         typename enable_if_c<
5340             is_vec<V>::value && vec_traits<V>::dim>=2,
5341             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5342         YY00( V const & a )
5343             {
5344             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5345             }
5346         template <class V>
5347         BOOST_QVM_INLINE_TRIVIAL
5348         typename enable_if_c<
5349             is_vec<V>::value && vec_traits<V>::dim>=2,
5350             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5351         YY00( V & a )
5352             {
5353             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5354             }
5355         template <class V>
5356         BOOST_QVM_INLINE_TRIVIAL
5357         typename enable_if_c<
5358             is_vec<V>::value && vec_traits<V>::dim>=2,
5359             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5360         XY00( V const & a )
5361             {
5362             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5363             }
5364         template <class V>
5365         BOOST_QVM_INLINE_TRIVIAL
5366         typename enable_if_c<
5367             is_vec<V>::value && vec_traits<V>::dim>=2,
5368             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5369         XY00( V & a )
5370             {
5371             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5372             }
5373         template <class V>
5374         BOOST_QVM_INLINE_TRIVIAL
5375         typename enable_if_c<
5376             is_vec<V>::value && vec_traits<V>::dim>=1,
5377             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5378         _1X00( V const & a )
5379             {
5380             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5381             }
5382         template <class S>
5383         BOOST_QVM_INLINE_TRIVIAL
5384         typename enable_if_c<
5385             is_scalar<S>::value,
5386             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1X00(S const & a)5387         _1X00( S const & a )
5388             {
5389             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5390             }
5391         template <class V>
5392         BOOST_QVM_INLINE_TRIVIAL
5393         typename enable_if_c<
5394             is_vec<V>::value && vec_traits<V>::dim>=1,
5395             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5396         _1X00( V & a )
5397             {
5398             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5399             }
5400         template <class S>
5401         BOOST_QVM_INLINE_TRIVIAL
5402         typename enable_if_c<
5403             is_scalar<S>::value,
5404             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1X00(S & a)5405         _1X00( S & a )
5406             {
5407             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5408             }
5409         template <class V>
5410         BOOST_QVM_INLINE_TRIVIAL
5411         typename enable_if_c<
5412             is_vec<V>::value && vec_traits<V>::dim>=1,
5413             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5414         _0X00( V const & a )
5415             {
5416             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5417             }
5418         template <class S>
5419         BOOST_QVM_INLINE_TRIVIAL
5420         typename enable_if_c<
5421             is_scalar<S>::value,
5422             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0X00(S const & a)5423         _0X00( S const & a )
5424             {
5425             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5426             }
5427         template <class V>
5428         BOOST_QVM_INLINE_TRIVIAL
5429         typename enable_if_c<
5430             is_vec<V>::value && vec_traits<V>::dim>=1,
5431             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5432         _0X00( V & a )
5433             {
5434             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5435             }
5436         template <class S>
5437         BOOST_QVM_INLINE_TRIVIAL
5438         typename enable_if_c<
5439             is_scalar<S>::value,
5440             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0X00(S & a)5441         _0X00( S & a )
5442             {
5443             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5444             }
5445         template <class V>
5446         BOOST_QVM_INLINE_TRIVIAL
5447         typename enable_if_c<
5448             is_vec<V>::value && vec_traits<V>::dim>=4,
5449             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5450         WX00( V const & a )
5451             {
5452             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5453             }
5454         template <class V>
5455         BOOST_QVM_INLINE_TRIVIAL
5456         typename enable_if_c<
5457             is_vec<V>::value && vec_traits<V>::dim>=4,
5458             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5459         WX00( V & a )
5460             {
5461             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5462             }
5463         template <class V>
5464         BOOST_QVM_INLINE_TRIVIAL
5465         typename enable_if_c<
5466             is_vec<V>::value && vec_traits<V>::dim>=3,
5467             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5468         ZX00( V const & a )
5469             {
5470             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5471             }
5472         template <class V>
5473         BOOST_QVM_INLINE_TRIVIAL
5474         typename enable_if_c<
5475             is_vec<V>::value && vec_traits<V>::dim>=3,
5476             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5477         ZX00( V & a )
5478             {
5479             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5480             }
5481         template <class V>
5482         BOOST_QVM_INLINE_TRIVIAL
5483         typename enable_if_c<
5484             is_vec<V>::value && vec_traits<V>::dim>=2,
5485             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5486         YX00( V const & a )
5487             {
5488             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5489             }
5490         template <class V>
5491         BOOST_QVM_INLINE_TRIVIAL
5492         typename enable_if_c<
5493             is_vec<V>::value && vec_traits<V>::dim>=2,
5494             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5495         YX00( V & a )
5496             {
5497             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5498             }
5499         template <class V>
5500         BOOST_QVM_INLINE_TRIVIAL
5501         typename enable_if_c<
5502             is_vec<V>::value && vec_traits<V>::dim>=1,
5503             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5504         XX00( V const & a )
5505             {
5506             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5507             }
5508         template <class S>
5509         BOOST_QVM_INLINE_TRIVIAL
5510         typename enable_if_c<
5511             is_scalar<S>::value,
5512             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XX00(S const & a)5513         XX00( S const & a )
5514             {
5515             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5516             }
5517         template <class V>
5518         BOOST_QVM_INLINE_TRIVIAL
5519         typename enable_if_c<
5520             is_vec<V>::value && vec_traits<V>::dim>=1,
5521             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5522         XX00( V & a )
5523             {
5524             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5525             }
5526         template <class S>
5527         BOOST_QVM_INLINE_TRIVIAL
5528         typename enable_if_c<
5529             is_scalar<S>::value,
5530             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XX00(S & a)5531         XX00( S & a )
5532             {
5533             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5534             }
5535         template <class V>
5536         BOOST_QVM_INLINE_TRIVIAL
5537         typename enable_if_c<
5538             is_vec<V>::value && vec_traits<V>::dim>=4,
5539             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5540         _11W0( V const & a )
5541             {
5542             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5543             }
5544         template <class V>
5545         BOOST_QVM_INLINE_TRIVIAL
5546         typename enable_if_c<
5547             is_vec<V>::value && vec_traits<V>::dim>=4,
5548             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5549         _11W0( V & a )
5550             {
5551             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5552             }
5553         template <class V>
5554         BOOST_QVM_INLINE_TRIVIAL
5555         typename enable_if_c<
5556             is_vec<V>::value && vec_traits<V>::dim>=4,
5557             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5558         _01W0( V const & a )
5559             {
5560             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5561             }
5562         template <class V>
5563         BOOST_QVM_INLINE_TRIVIAL
5564         typename enable_if_c<
5565             is_vec<V>::value && vec_traits<V>::dim>=4,
5566             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5567         _01W0( V & a )
5568             {
5569             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5570             }
5571         template <class V>
5572         BOOST_QVM_INLINE_TRIVIAL
5573         typename enable_if_c<
5574             is_vec<V>::value && vec_traits<V>::dim>=4,
5575             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5576         W1W0( V const & a )
5577             {
5578             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5579             }
5580         template <class V>
5581         BOOST_QVM_INLINE_TRIVIAL
5582         typename enable_if_c<
5583             is_vec<V>::value && vec_traits<V>::dim>=4,
5584             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5585         W1W0( V & a )
5586             {
5587             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5588             }
5589         template <class V>
5590         BOOST_QVM_INLINE_TRIVIAL
5591         typename enable_if_c<
5592             is_vec<V>::value && vec_traits<V>::dim>=4,
5593             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5594         Z1W0( V const & a )
5595             {
5596             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5597             }
5598         template <class V>
5599         BOOST_QVM_INLINE_TRIVIAL
5600         typename enable_if_c<
5601             is_vec<V>::value && vec_traits<V>::dim>=4,
5602             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5603         Z1W0( V & a )
5604             {
5605             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5606             }
5607         template <class V>
5608         BOOST_QVM_INLINE_TRIVIAL
5609         typename enable_if_c<
5610             is_vec<V>::value && vec_traits<V>::dim>=4,
5611             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5612         Y1W0( V const & a )
5613             {
5614             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5615             }
5616         template <class V>
5617         BOOST_QVM_INLINE_TRIVIAL
5618         typename enable_if_c<
5619             is_vec<V>::value && vec_traits<V>::dim>=4,
5620             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5621         Y1W0( V & a )
5622             {
5623             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5624             }
5625         template <class V>
5626         BOOST_QVM_INLINE_TRIVIAL
5627         typename enable_if_c<
5628             is_vec<V>::value && vec_traits<V>::dim>=4,
5629             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5630         X1W0( V const & a )
5631             {
5632             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5633             }
5634         template <class V>
5635         BOOST_QVM_INLINE_TRIVIAL
5636         typename enable_if_c<
5637             is_vec<V>::value && vec_traits<V>::dim>=4,
5638             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5639         X1W0( V & a )
5640             {
5641             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5642             }
5643         template <class V>
5644         BOOST_QVM_INLINE_TRIVIAL
5645         typename enable_if_c<
5646             is_vec<V>::value && vec_traits<V>::dim>=4,
5647             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5648         _10W0( V const & a )
5649             {
5650             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5651             }
5652         template <class V>
5653         BOOST_QVM_INLINE_TRIVIAL
5654         typename enable_if_c<
5655             is_vec<V>::value && vec_traits<V>::dim>=4,
5656             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5657         _10W0( V & a )
5658             {
5659             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5660             }
5661         template <class V>
5662         BOOST_QVM_INLINE_TRIVIAL
5663         typename enable_if_c<
5664             is_vec<V>::value && vec_traits<V>::dim>=4,
5665             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5666         _00W0( V const & a )
5667             {
5668             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5669             }
5670         template <class V>
5671         BOOST_QVM_INLINE_TRIVIAL
5672         typename enable_if_c<
5673             is_vec<V>::value && vec_traits<V>::dim>=4,
5674             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5675         _00W0( V & a )
5676             {
5677             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5678             }
5679         template <class V>
5680         BOOST_QVM_INLINE_TRIVIAL
5681         typename enable_if_c<
5682             is_vec<V>::value && vec_traits<V>::dim>=4,
5683             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5684         W0W0( V const & a )
5685             {
5686             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5687             }
5688         template <class V>
5689         BOOST_QVM_INLINE_TRIVIAL
5690         typename enable_if_c<
5691             is_vec<V>::value && vec_traits<V>::dim>=4,
5692             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5693         W0W0( V & a )
5694             {
5695             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5696             }
5697         template <class V>
5698         BOOST_QVM_INLINE_TRIVIAL
5699         typename enable_if_c<
5700             is_vec<V>::value && vec_traits<V>::dim>=4,
5701             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5702         Z0W0( V const & a )
5703             {
5704             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5705             }
5706         template <class V>
5707         BOOST_QVM_INLINE_TRIVIAL
5708         typename enable_if_c<
5709             is_vec<V>::value && vec_traits<V>::dim>=4,
5710             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5711         Z0W0( V & a )
5712             {
5713             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5714             }
5715         template <class V>
5716         BOOST_QVM_INLINE_TRIVIAL
5717         typename enable_if_c<
5718             is_vec<V>::value && vec_traits<V>::dim>=4,
5719             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5720         Y0W0( V const & a )
5721             {
5722             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5723             }
5724         template <class V>
5725         BOOST_QVM_INLINE_TRIVIAL
5726         typename enable_if_c<
5727             is_vec<V>::value && vec_traits<V>::dim>=4,
5728             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5729         Y0W0( V & a )
5730             {
5731             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5732             }
5733         template <class V>
5734         BOOST_QVM_INLINE_TRIVIAL
5735         typename enable_if_c<
5736             is_vec<V>::value && vec_traits<V>::dim>=4,
5737             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5738         X0W0( V const & a )
5739             {
5740             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5741             }
5742         template <class V>
5743         BOOST_QVM_INLINE_TRIVIAL
5744         typename enable_if_c<
5745             is_vec<V>::value && vec_traits<V>::dim>=4,
5746             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5747         X0W0( V & a )
5748             {
5749             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5750             }
5751         template <class V>
5752         BOOST_QVM_INLINE_TRIVIAL
5753         typename enable_if_c<
5754             is_vec<V>::value && vec_traits<V>::dim>=4,
5755             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5756         _1WW0( V const & a )
5757             {
5758             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5759             }
5760         template <class V>
5761         BOOST_QVM_INLINE_TRIVIAL
5762         typename enable_if_c<
5763             is_vec<V>::value && vec_traits<V>::dim>=4,
5764             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5765         _1WW0( V & a )
5766             {
5767             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5768             }
5769         template <class V>
5770         BOOST_QVM_INLINE_TRIVIAL
5771         typename enable_if_c<
5772             is_vec<V>::value && vec_traits<V>::dim>=4,
5773             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5774         _0WW0( V const & a )
5775             {
5776             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5777             }
5778         template <class V>
5779         BOOST_QVM_INLINE_TRIVIAL
5780         typename enable_if_c<
5781             is_vec<V>::value && vec_traits<V>::dim>=4,
5782             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5783         _0WW0( V & a )
5784             {
5785             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5786             }
5787         template <class V>
5788         BOOST_QVM_INLINE_TRIVIAL
5789         typename enable_if_c<
5790             is_vec<V>::value && vec_traits<V>::dim>=4,
5791             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5792         WWW0( V const & a )
5793             {
5794             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5795             }
5796         template <class V>
5797         BOOST_QVM_INLINE_TRIVIAL
5798         typename enable_if_c<
5799             is_vec<V>::value && vec_traits<V>::dim>=4,
5800             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5801         WWW0( V & a )
5802             {
5803             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5804             }
5805         template <class V>
5806         BOOST_QVM_INLINE_TRIVIAL
5807         typename enable_if_c<
5808             is_vec<V>::value && vec_traits<V>::dim>=4,
5809             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5810         ZWW0( V const & a )
5811             {
5812             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5813             }
5814         template <class V>
5815         BOOST_QVM_INLINE_TRIVIAL
5816         typename enable_if_c<
5817             is_vec<V>::value && vec_traits<V>::dim>=4,
5818             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5819         ZWW0( V & a )
5820             {
5821             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5822             }
5823         template <class V>
5824         BOOST_QVM_INLINE_TRIVIAL
5825         typename enable_if_c<
5826             is_vec<V>::value && vec_traits<V>::dim>=4,
5827             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5828         YWW0( V const & a )
5829             {
5830             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5831             }
5832         template <class V>
5833         BOOST_QVM_INLINE_TRIVIAL
5834         typename enable_if_c<
5835             is_vec<V>::value && vec_traits<V>::dim>=4,
5836             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5837         YWW0( V & a )
5838             {
5839             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5840             }
5841         template <class V>
5842         BOOST_QVM_INLINE_TRIVIAL
5843         typename enable_if_c<
5844             is_vec<V>::value && vec_traits<V>::dim>=4,
5845             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5846         XWW0( V const & a )
5847             {
5848             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5849             }
5850         template <class V>
5851         BOOST_QVM_INLINE_TRIVIAL
5852         typename enable_if_c<
5853             is_vec<V>::value && vec_traits<V>::dim>=4,
5854             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5855         XWW0( V & a )
5856             {
5857             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5858             }
5859         template <class V>
5860         BOOST_QVM_INLINE_TRIVIAL
5861         typename enable_if_c<
5862             is_vec<V>::value && vec_traits<V>::dim>=4,
5863             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5864         _1ZW0( V const & a )
5865             {
5866             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5867             }
5868         template <class V>
5869         BOOST_QVM_INLINE_TRIVIAL
5870         typename enable_if_c<
5871             is_vec<V>::value && vec_traits<V>::dim>=4,
5872             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5873         _1ZW0( V & a )
5874             {
5875             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5876             }
5877         template <class V>
5878         BOOST_QVM_INLINE_TRIVIAL
5879         typename enable_if_c<
5880             is_vec<V>::value && vec_traits<V>::dim>=4,
5881             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5882         _0ZW0( V const & a )
5883             {
5884             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5885             }
5886         template <class V>
5887         BOOST_QVM_INLINE_TRIVIAL
5888         typename enable_if_c<
5889             is_vec<V>::value && vec_traits<V>::dim>=4,
5890             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5891         _0ZW0( V & a )
5892             {
5893             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5894             }
5895         template <class V>
5896         BOOST_QVM_INLINE_TRIVIAL
5897         typename enable_if_c<
5898             is_vec<V>::value && vec_traits<V>::dim>=4,
5899             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5900         WZW0( V const & a )
5901             {
5902             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5903             }
5904         template <class V>
5905         BOOST_QVM_INLINE_TRIVIAL
5906         typename enable_if_c<
5907             is_vec<V>::value && vec_traits<V>::dim>=4,
5908             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5909         WZW0( V & a )
5910             {
5911             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5912             }
5913         template <class V>
5914         BOOST_QVM_INLINE_TRIVIAL
5915         typename enable_if_c<
5916             is_vec<V>::value && vec_traits<V>::dim>=4,
5917             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5918         ZZW0( V const & a )
5919             {
5920             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5921             }
5922         template <class V>
5923         BOOST_QVM_INLINE_TRIVIAL
5924         typename enable_if_c<
5925             is_vec<V>::value && vec_traits<V>::dim>=4,
5926             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5927         ZZW0( V & a )
5928             {
5929             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5930             }
5931         template <class V>
5932         BOOST_QVM_INLINE_TRIVIAL
5933         typename enable_if_c<
5934             is_vec<V>::value && vec_traits<V>::dim>=4,
5935             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5936         YZW0( V const & a )
5937             {
5938             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5939             }
5940         template <class V>
5941         BOOST_QVM_INLINE_TRIVIAL
5942         typename enable_if_c<
5943             is_vec<V>::value && vec_traits<V>::dim>=4,
5944             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5945         YZW0( V & a )
5946             {
5947             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5948             }
5949         template <class V>
5950         BOOST_QVM_INLINE_TRIVIAL
5951         typename enable_if_c<
5952             is_vec<V>::value && vec_traits<V>::dim>=4,
5953             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5954         XZW0( V const & a )
5955             {
5956             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5957             }
5958         template <class V>
5959         BOOST_QVM_INLINE_TRIVIAL
5960         typename enable_if_c<
5961             is_vec<V>::value && vec_traits<V>::dim>=4,
5962             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5963         XZW0( V & a )
5964             {
5965             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5966             }
5967         template <class V>
5968         BOOST_QVM_INLINE_TRIVIAL
5969         typename enable_if_c<
5970             is_vec<V>::value && vec_traits<V>::dim>=4,
5971             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5972         _1YW0( V const & a )
5973             {
5974             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5975             }
5976         template <class V>
5977         BOOST_QVM_INLINE_TRIVIAL
5978         typename enable_if_c<
5979             is_vec<V>::value && vec_traits<V>::dim>=4,
5980             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5981         _1YW0( V & a )
5982             {
5983             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
5984             }
5985         template <class V>
5986         BOOST_QVM_INLINE_TRIVIAL
5987         typename enable_if_c<
5988             is_vec<V>::value && vec_traits<V>::dim>=4,
5989             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
5990         _0YW0( V const & a )
5991             {
5992             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
5993             }
5994         template <class V>
5995         BOOST_QVM_INLINE_TRIVIAL
5996         typename enable_if_c<
5997             is_vec<V>::value && vec_traits<V>::dim>=4,
5998             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
5999         _0YW0( V & a )
6000             {
6001             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6002             }
6003         template <class V>
6004         BOOST_QVM_INLINE_TRIVIAL
6005         typename enable_if_c<
6006             is_vec<V>::value && vec_traits<V>::dim>=4,
6007             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6008         WYW0( V const & a )
6009             {
6010             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6011             }
6012         template <class V>
6013         BOOST_QVM_INLINE_TRIVIAL
6014         typename enable_if_c<
6015             is_vec<V>::value && vec_traits<V>::dim>=4,
6016             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6017         WYW0( V & a )
6018             {
6019             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6020             }
6021         template <class V>
6022         BOOST_QVM_INLINE_TRIVIAL
6023         typename enable_if_c<
6024             is_vec<V>::value && vec_traits<V>::dim>=4,
6025             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6026         ZYW0( V const & a )
6027             {
6028             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6029             }
6030         template <class V>
6031         BOOST_QVM_INLINE_TRIVIAL
6032         typename enable_if_c<
6033             is_vec<V>::value && vec_traits<V>::dim>=4,
6034             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6035         ZYW0( V & a )
6036             {
6037             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6038             }
6039         template <class V>
6040         BOOST_QVM_INLINE_TRIVIAL
6041         typename enable_if_c<
6042             is_vec<V>::value && vec_traits<V>::dim>=4,
6043             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6044         YYW0( V const & a )
6045             {
6046             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6047             }
6048         template <class V>
6049         BOOST_QVM_INLINE_TRIVIAL
6050         typename enable_if_c<
6051             is_vec<V>::value && vec_traits<V>::dim>=4,
6052             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6053         YYW0( V & a )
6054             {
6055             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6056             }
6057         template <class V>
6058         BOOST_QVM_INLINE_TRIVIAL
6059         typename enable_if_c<
6060             is_vec<V>::value && vec_traits<V>::dim>=4,
6061             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6062         XYW0( V const & a )
6063             {
6064             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6065             }
6066         template <class V>
6067         BOOST_QVM_INLINE_TRIVIAL
6068         typename enable_if_c<
6069             is_vec<V>::value && vec_traits<V>::dim>=4,
6070             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6071         XYW0( V & a )
6072             {
6073             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6074             }
6075         template <class V>
6076         BOOST_QVM_INLINE_TRIVIAL
6077         typename enable_if_c<
6078             is_vec<V>::value && vec_traits<V>::dim>=4,
6079             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6080         _1XW0( V const & a )
6081             {
6082             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6083             }
6084         template <class V>
6085         BOOST_QVM_INLINE_TRIVIAL
6086         typename enable_if_c<
6087             is_vec<V>::value && vec_traits<V>::dim>=4,
6088             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6089         _1XW0( V & a )
6090             {
6091             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6092             }
6093         template <class V>
6094         BOOST_QVM_INLINE_TRIVIAL
6095         typename enable_if_c<
6096             is_vec<V>::value && vec_traits<V>::dim>=4,
6097             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6098         _0XW0( V const & a )
6099             {
6100             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6101             }
6102         template <class V>
6103         BOOST_QVM_INLINE_TRIVIAL
6104         typename enable_if_c<
6105             is_vec<V>::value && vec_traits<V>::dim>=4,
6106             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6107         _0XW0( V & a )
6108             {
6109             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6110             }
6111         template <class V>
6112         BOOST_QVM_INLINE_TRIVIAL
6113         typename enable_if_c<
6114             is_vec<V>::value && vec_traits<V>::dim>=4,
6115             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6116         WXW0( V const & a )
6117             {
6118             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6119             }
6120         template <class V>
6121         BOOST_QVM_INLINE_TRIVIAL
6122         typename enable_if_c<
6123             is_vec<V>::value && vec_traits<V>::dim>=4,
6124             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6125         WXW0( V & a )
6126             {
6127             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6128             }
6129         template <class V>
6130         BOOST_QVM_INLINE_TRIVIAL
6131         typename enable_if_c<
6132             is_vec<V>::value && vec_traits<V>::dim>=4,
6133             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6134         ZXW0( V const & a )
6135             {
6136             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6137             }
6138         template <class V>
6139         BOOST_QVM_INLINE_TRIVIAL
6140         typename enable_if_c<
6141             is_vec<V>::value && vec_traits<V>::dim>=4,
6142             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6143         ZXW0( V & a )
6144             {
6145             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6146             }
6147         template <class V>
6148         BOOST_QVM_INLINE_TRIVIAL
6149         typename enable_if_c<
6150             is_vec<V>::value && vec_traits<V>::dim>=4,
6151             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6152         YXW0( V const & a )
6153             {
6154             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6155             }
6156         template <class V>
6157         BOOST_QVM_INLINE_TRIVIAL
6158         typename enable_if_c<
6159             is_vec<V>::value && vec_traits<V>::dim>=4,
6160             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6161         YXW0( V & a )
6162             {
6163             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6164             }
6165         template <class V>
6166         BOOST_QVM_INLINE_TRIVIAL
6167         typename enable_if_c<
6168             is_vec<V>::value && vec_traits<V>::dim>=4,
6169             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6170         XXW0( V const & a )
6171             {
6172             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6173             }
6174         template <class V>
6175         BOOST_QVM_INLINE_TRIVIAL
6176         typename enable_if_c<
6177             is_vec<V>::value && vec_traits<V>::dim>=4,
6178             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6179         XXW0( V & a )
6180             {
6181             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6182             }
6183         template <class V>
6184         BOOST_QVM_INLINE_TRIVIAL
6185         typename enable_if_c<
6186             is_vec<V>::value && vec_traits<V>::dim>=3,
6187             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6188         _11Z0( V const & a )
6189             {
6190             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6191             }
6192         template <class V>
6193         BOOST_QVM_INLINE_TRIVIAL
6194         typename enable_if_c<
6195             is_vec<V>::value && vec_traits<V>::dim>=3,
6196             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6197         _11Z0( V & a )
6198             {
6199             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6200             }
6201         template <class V>
6202         BOOST_QVM_INLINE_TRIVIAL
6203         typename enable_if_c<
6204             is_vec<V>::value && vec_traits<V>::dim>=3,
6205             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6206         _01Z0( V const & a )
6207             {
6208             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6209             }
6210         template <class V>
6211         BOOST_QVM_INLINE_TRIVIAL
6212         typename enable_if_c<
6213             is_vec<V>::value && vec_traits<V>::dim>=3,
6214             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6215         _01Z0( V & a )
6216             {
6217             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6218             }
6219         template <class V>
6220         BOOST_QVM_INLINE_TRIVIAL
6221         typename enable_if_c<
6222             is_vec<V>::value && vec_traits<V>::dim>=4,
6223             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6224         W1Z0( V const & a )
6225             {
6226             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6227             }
6228         template <class V>
6229         BOOST_QVM_INLINE_TRIVIAL
6230         typename enable_if_c<
6231             is_vec<V>::value && vec_traits<V>::dim>=4,
6232             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6233         W1Z0( V & a )
6234             {
6235             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6236             }
6237         template <class V>
6238         BOOST_QVM_INLINE_TRIVIAL
6239         typename enable_if_c<
6240             is_vec<V>::value && vec_traits<V>::dim>=3,
6241             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6242         Z1Z0( V const & a )
6243             {
6244             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6245             }
6246         template <class V>
6247         BOOST_QVM_INLINE_TRIVIAL
6248         typename enable_if_c<
6249             is_vec<V>::value && vec_traits<V>::dim>=3,
6250             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6251         Z1Z0( V & a )
6252             {
6253             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6254             }
6255         template <class V>
6256         BOOST_QVM_INLINE_TRIVIAL
6257         typename enable_if_c<
6258             is_vec<V>::value && vec_traits<V>::dim>=3,
6259             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6260         Y1Z0( V const & a )
6261             {
6262             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6263             }
6264         template <class V>
6265         BOOST_QVM_INLINE_TRIVIAL
6266         typename enable_if_c<
6267             is_vec<V>::value && vec_traits<V>::dim>=3,
6268             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6269         Y1Z0( V & a )
6270             {
6271             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6272             }
6273         template <class V>
6274         BOOST_QVM_INLINE_TRIVIAL
6275         typename enable_if_c<
6276             is_vec<V>::value && vec_traits<V>::dim>=3,
6277             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6278         X1Z0( V const & a )
6279             {
6280             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6281             }
6282         template <class V>
6283         BOOST_QVM_INLINE_TRIVIAL
6284         typename enable_if_c<
6285             is_vec<V>::value && vec_traits<V>::dim>=3,
6286             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6287         X1Z0( V & a )
6288             {
6289             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6290             }
6291         template <class V>
6292         BOOST_QVM_INLINE_TRIVIAL
6293         typename enable_if_c<
6294             is_vec<V>::value && vec_traits<V>::dim>=3,
6295             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6296         _10Z0( V const & a )
6297             {
6298             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6299             }
6300         template <class V>
6301         BOOST_QVM_INLINE_TRIVIAL
6302         typename enable_if_c<
6303             is_vec<V>::value && vec_traits<V>::dim>=3,
6304             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6305         _10Z0( V & a )
6306             {
6307             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6308             }
6309         template <class V>
6310         BOOST_QVM_INLINE_TRIVIAL
6311         typename enable_if_c<
6312             is_vec<V>::value && vec_traits<V>::dim>=3,
6313             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6314         _00Z0( V const & a )
6315             {
6316             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6317             }
6318         template <class V>
6319         BOOST_QVM_INLINE_TRIVIAL
6320         typename enable_if_c<
6321             is_vec<V>::value && vec_traits<V>::dim>=3,
6322             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6323         _00Z0( V & a )
6324             {
6325             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6326             }
6327         template <class V>
6328         BOOST_QVM_INLINE_TRIVIAL
6329         typename enable_if_c<
6330             is_vec<V>::value && vec_traits<V>::dim>=4,
6331             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6332         W0Z0( V const & a )
6333             {
6334             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6335             }
6336         template <class V>
6337         BOOST_QVM_INLINE_TRIVIAL
6338         typename enable_if_c<
6339             is_vec<V>::value && vec_traits<V>::dim>=4,
6340             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6341         W0Z0( V & a )
6342             {
6343             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6344             }
6345         template <class V>
6346         BOOST_QVM_INLINE_TRIVIAL
6347         typename enable_if_c<
6348             is_vec<V>::value && vec_traits<V>::dim>=3,
6349             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6350         Z0Z0( V const & a )
6351             {
6352             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6353             }
6354         template <class V>
6355         BOOST_QVM_INLINE_TRIVIAL
6356         typename enable_if_c<
6357             is_vec<V>::value && vec_traits<V>::dim>=3,
6358             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6359         Z0Z0( V & a )
6360             {
6361             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6362             }
6363         template <class V>
6364         BOOST_QVM_INLINE_TRIVIAL
6365         typename enable_if_c<
6366             is_vec<V>::value && vec_traits<V>::dim>=3,
6367             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6368         Y0Z0( V const & a )
6369             {
6370             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6371             }
6372         template <class V>
6373         BOOST_QVM_INLINE_TRIVIAL
6374         typename enable_if_c<
6375             is_vec<V>::value && vec_traits<V>::dim>=3,
6376             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6377         Y0Z0( V & a )
6378             {
6379             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6380             }
6381         template <class V>
6382         BOOST_QVM_INLINE_TRIVIAL
6383         typename enable_if_c<
6384             is_vec<V>::value && vec_traits<V>::dim>=3,
6385             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6386         X0Z0( V const & a )
6387             {
6388             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6389             }
6390         template <class V>
6391         BOOST_QVM_INLINE_TRIVIAL
6392         typename enable_if_c<
6393             is_vec<V>::value && vec_traits<V>::dim>=3,
6394             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6395         X0Z0( V & a )
6396             {
6397             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6398             }
6399         template <class V>
6400         BOOST_QVM_INLINE_TRIVIAL
6401         typename enable_if_c<
6402             is_vec<V>::value && vec_traits<V>::dim>=4,
6403             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6404         _1WZ0( V const & a )
6405             {
6406             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6407             }
6408         template <class V>
6409         BOOST_QVM_INLINE_TRIVIAL
6410         typename enable_if_c<
6411             is_vec<V>::value && vec_traits<V>::dim>=4,
6412             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6413         _1WZ0( V & a )
6414             {
6415             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6416             }
6417         template <class V>
6418         BOOST_QVM_INLINE_TRIVIAL
6419         typename enable_if_c<
6420             is_vec<V>::value && vec_traits<V>::dim>=4,
6421             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6422         _0WZ0( V const & a )
6423             {
6424             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6425             }
6426         template <class V>
6427         BOOST_QVM_INLINE_TRIVIAL
6428         typename enable_if_c<
6429             is_vec<V>::value && vec_traits<V>::dim>=4,
6430             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6431         _0WZ0( V & a )
6432             {
6433             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6434             }
6435         template <class V>
6436         BOOST_QVM_INLINE_TRIVIAL
6437         typename enable_if_c<
6438             is_vec<V>::value && vec_traits<V>::dim>=4,
6439             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6440         WWZ0( V const & a )
6441             {
6442             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6443             }
6444         template <class V>
6445         BOOST_QVM_INLINE_TRIVIAL
6446         typename enable_if_c<
6447             is_vec<V>::value && vec_traits<V>::dim>=4,
6448             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6449         WWZ0( V & a )
6450             {
6451             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6452             }
6453         template <class V>
6454         BOOST_QVM_INLINE_TRIVIAL
6455         typename enable_if_c<
6456             is_vec<V>::value && vec_traits<V>::dim>=4,
6457             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6458         ZWZ0( V const & a )
6459             {
6460             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6461             }
6462         template <class V>
6463         BOOST_QVM_INLINE_TRIVIAL
6464         typename enable_if_c<
6465             is_vec<V>::value && vec_traits<V>::dim>=4,
6466             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6467         ZWZ0( V & a )
6468             {
6469             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6470             }
6471         template <class V>
6472         BOOST_QVM_INLINE_TRIVIAL
6473         typename enable_if_c<
6474             is_vec<V>::value && vec_traits<V>::dim>=4,
6475             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6476         YWZ0( V const & a )
6477             {
6478             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6479             }
6480         template <class V>
6481         BOOST_QVM_INLINE_TRIVIAL
6482         typename enable_if_c<
6483             is_vec<V>::value && vec_traits<V>::dim>=4,
6484             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6485         YWZ0( V & a )
6486             {
6487             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6488             }
6489         template <class V>
6490         BOOST_QVM_INLINE_TRIVIAL
6491         typename enable_if_c<
6492             is_vec<V>::value && vec_traits<V>::dim>=4,
6493             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6494         XWZ0( V const & a )
6495             {
6496             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6497             }
6498         template <class V>
6499         BOOST_QVM_INLINE_TRIVIAL
6500         typename enable_if_c<
6501             is_vec<V>::value && vec_traits<V>::dim>=4,
6502             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6503         XWZ0( V & a )
6504             {
6505             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6506             }
6507         template <class V>
6508         BOOST_QVM_INLINE_TRIVIAL
6509         typename enable_if_c<
6510             is_vec<V>::value && vec_traits<V>::dim>=3,
6511             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6512         _1ZZ0( V const & a )
6513             {
6514             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6515             }
6516         template <class V>
6517         BOOST_QVM_INLINE_TRIVIAL
6518         typename enable_if_c<
6519             is_vec<V>::value && vec_traits<V>::dim>=3,
6520             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6521         _1ZZ0( V & a )
6522             {
6523             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6524             }
6525         template <class V>
6526         BOOST_QVM_INLINE_TRIVIAL
6527         typename enable_if_c<
6528             is_vec<V>::value && vec_traits<V>::dim>=3,
6529             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6530         _0ZZ0( V const & a )
6531             {
6532             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6533             }
6534         template <class V>
6535         BOOST_QVM_INLINE_TRIVIAL
6536         typename enable_if_c<
6537             is_vec<V>::value && vec_traits<V>::dim>=3,
6538             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6539         _0ZZ0( V & a )
6540             {
6541             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6542             }
6543         template <class V>
6544         BOOST_QVM_INLINE_TRIVIAL
6545         typename enable_if_c<
6546             is_vec<V>::value && vec_traits<V>::dim>=4,
6547             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6548         WZZ0( V const & a )
6549             {
6550             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6551             }
6552         template <class V>
6553         BOOST_QVM_INLINE_TRIVIAL
6554         typename enable_if_c<
6555             is_vec<V>::value && vec_traits<V>::dim>=4,
6556             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6557         WZZ0( V & a )
6558             {
6559             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6560             }
6561         template <class V>
6562         BOOST_QVM_INLINE_TRIVIAL
6563         typename enable_if_c<
6564             is_vec<V>::value && vec_traits<V>::dim>=3,
6565             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6566         ZZZ0( V const & a )
6567             {
6568             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6569             }
6570         template <class V>
6571         BOOST_QVM_INLINE_TRIVIAL
6572         typename enable_if_c<
6573             is_vec<V>::value && vec_traits<V>::dim>=3,
6574             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6575         ZZZ0( V & a )
6576             {
6577             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6578             }
6579         template <class V>
6580         BOOST_QVM_INLINE_TRIVIAL
6581         typename enable_if_c<
6582             is_vec<V>::value && vec_traits<V>::dim>=3,
6583             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6584         YZZ0( V const & a )
6585             {
6586             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6587             }
6588         template <class V>
6589         BOOST_QVM_INLINE_TRIVIAL
6590         typename enable_if_c<
6591             is_vec<V>::value && vec_traits<V>::dim>=3,
6592             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6593         YZZ0( V & a )
6594             {
6595             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6596             }
6597         template <class V>
6598         BOOST_QVM_INLINE_TRIVIAL
6599         typename enable_if_c<
6600             is_vec<V>::value && vec_traits<V>::dim>=3,
6601             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6602         XZZ0( V const & a )
6603             {
6604             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6605             }
6606         template <class V>
6607         BOOST_QVM_INLINE_TRIVIAL
6608         typename enable_if_c<
6609             is_vec<V>::value && vec_traits<V>::dim>=3,
6610             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6611         XZZ0( V & a )
6612             {
6613             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6614             }
6615         template <class V>
6616         BOOST_QVM_INLINE_TRIVIAL
6617         typename enable_if_c<
6618             is_vec<V>::value && vec_traits<V>::dim>=3,
6619             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6620         _1YZ0( V const & a )
6621             {
6622             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6623             }
6624         template <class V>
6625         BOOST_QVM_INLINE_TRIVIAL
6626         typename enable_if_c<
6627             is_vec<V>::value && vec_traits<V>::dim>=3,
6628             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6629         _1YZ0( V & a )
6630             {
6631             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6632             }
6633         template <class V>
6634         BOOST_QVM_INLINE_TRIVIAL
6635         typename enable_if_c<
6636             is_vec<V>::value && vec_traits<V>::dim>=3,
6637             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6638         _0YZ0( V const & a )
6639             {
6640             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6641             }
6642         template <class V>
6643         BOOST_QVM_INLINE_TRIVIAL
6644         typename enable_if_c<
6645             is_vec<V>::value && vec_traits<V>::dim>=3,
6646             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6647         _0YZ0( V & a )
6648             {
6649             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6650             }
6651         template <class V>
6652         BOOST_QVM_INLINE_TRIVIAL
6653         typename enable_if_c<
6654             is_vec<V>::value && vec_traits<V>::dim>=4,
6655             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6656         WYZ0( V const & a )
6657             {
6658             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6659             }
6660         template <class V>
6661         BOOST_QVM_INLINE_TRIVIAL
6662         typename enable_if_c<
6663             is_vec<V>::value && vec_traits<V>::dim>=4,
6664             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6665         WYZ0( V & a )
6666             {
6667             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6668             }
6669         template <class V>
6670         BOOST_QVM_INLINE_TRIVIAL
6671         typename enable_if_c<
6672             is_vec<V>::value && vec_traits<V>::dim>=3,
6673             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6674         ZYZ0( V const & a )
6675             {
6676             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6677             }
6678         template <class V>
6679         BOOST_QVM_INLINE_TRIVIAL
6680         typename enable_if_c<
6681             is_vec<V>::value && vec_traits<V>::dim>=3,
6682             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6683         ZYZ0( V & a )
6684             {
6685             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6686             }
6687         template <class V>
6688         BOOST_QVM_INLINE_TRIVIAL
6689         typename enable_if_c<
6690             is_vec<V>::value && vec_traits<V>::dim>=3,
6691             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6692         YYZ0( V const & a )
6693             {
6694             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6695             }
6696         template <class V>
6697         BOOST_QVM_INLINE_TRIVIAL
6698         typename enable_if_c<
6699             is_vec<V>::value && vec_traits<V>::dim>=3,
6700             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6701         YYZ0( V & a )
6702             {
6703             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6704             }
6705         template <class V>
6706         BOOST_QVM_INLINE_TRIVIAL
6707         typename enable_if_c<
6708             is_vec<V>::value && vec_traits<V>::dim>=3,
6709             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6710         XYZ0( V const & a )
6711             {
6712             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6713             }
6714         template <class V>
6715         BOOST_QVM_INLINE_TRIVIAL
6716         typename enable_if_c<
6717             is_vec<V>::value && vec_traits<V>::dim>=3,
6718             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6719         XYZ0( V & a )
6720             {
6721             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6722             }
6723         template <class V>
6724         BOOST_QVM_INLINE_TRIVIAL
6725         typename enable_if_c<
6726             is_vec<V>::value && vec_traits<V>::dim>=3,
6727             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6728         _1XZ0( V const & a )
6729             {
6730             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6731             }
6732         template <class V>
6733         BOOST_QVM_INLINE_TRIVIAL
6734         typename enable_if_c<
6735             is_vec<V>::value && vec_traits<V>::dim>=3,
6736             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6737         _1XZ0( V & a )
6738             {
6739             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6740             }
6741         template <class V>
6742         BOOST_QVM_INLINE_TRIVIAL
6743         typename enable_if_c<
6744             is_vec<V>::value && vec_traits<V>::dim>=3,
6745             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6746         _0XZ0( V const & a )
6747             {
6748             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6749             }
6750         template <class V>
6751         BOOST_QVM_INLINE_TRIVIAL
6752         typename enable_if_c<
6753             is_vec<V>::value && vec_traits<V>::dim>=3,
6754             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6755         _0XZ0( V & a )
6756             {
6757             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6758             }
6759         template <class V>
6760         BOOST_QVM_INLINE_TRIVIAL
6761         typename enable_if_c<
6762             is_vec<V>::value && vec_traits<V>::dim>=4,
6763             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6764         WXZ0( V const & a )
6765             {
6766             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6767             }
6768         template <class V>
6769         BOOST_QVM_INLINE_TRIVIAL
6770         typename enable_if_c<
6771             is_vec<V>::value && vec_traits<V>::dim>=4,
6772             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6773         WXZ0( V & a )
6774             {
6775             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6776             }
6777         template <class V>
6778         BOOST_QVM_INLINE_TRIVIAL
6779         typename enable_if_c<
6780             is_vec<V>::value && vec_traits<V>::dim>=3,
6781             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6782         ZXZ0( V const & a )
6783             {
6784             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6785             }
6786         template <class V>
6787         BOOST_QVM_INLINE_TRIVIAL
6788         typename enable_if_c<
6789             is_vec<V>::value && vec_traits<V>::dim>=3,
6790             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6791         ZXZ0( V & a )
6792             {
6793             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6794             }
6795         template <class V>
6796         BOOST_QVM_INLINE_TRIVIAL
6797         typename enable_if_c<
6798             is_vec<V>::value && vec_traits<V>::dim>=3,
6799             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6800         YXZ0( V const & a )
6801             {
6802             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6803             }
6804         template <class V>
6805         BOOST_QVM_INLINE_TRIVIAL
6806         typename enable_if_c<
6807             is_vec<V>::value && vec_traits<V>::dim>=3,
6808             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6809         YXZ0( V & a )
6810             {
6811             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6812             }
6813         template <class V>
6814         BOOST_QVM_INLINE_TRIVIAL
6815         typename enable_if_c<
6816             is_vec<V>::value && vec_traits<V>::dim>=3,
6817             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6818         XXZ0( V const & a )
6819             {
6820             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6821             }
6822         template <class V>
6823         BOOST_QVM_INLINE_TRIVIAL
6824         typename enable_if_c<
6825             is_vec<V>::value && vec_traits<V>::dim>=3,
6826             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6827         XXZ0( V & a )
6828             {
6829             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6830             }
6831         template <class V>
6832         BOOST_QVM_INLINE_TRIVIAL
6833         typename enable_if_c<
6834             is_vec<V>::value && vec_traits<V>::dim>=2,
6835             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6836         _11Y0( V const & a )
6837             {
6838             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6839             }
6840         template <class V>
6841         BOOST_QVM_INLINE_TRIVIAL
6842         typename enable_if_c<
6843             is_vec<V>::value && vec_traits<V>::dim>=2,
6844             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6845         _11Y0( V & a )
6846             {
6847             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6848             }
6849         template <class V>
6850         BOOST_QVM_INLINE_TRIVIAL
6851         typename enable_if_c<
6852             is_vec<V>::value && vec_traits<V>::dim>=2,
6853             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6854         _01Y0( V const & a )
6855             {
6856             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6857             }
6858         template <class V>
6859         BOOST_QVM_INLINE_TRIVIAL
6860         typename enable_if_c<
6861             is_vec<V>::value && vec_traits<V>::dim>=2,
6862             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6863         _01Y0( V & a )
6864             {
6865             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6866             }
6867         template <class V>
6868         BOOST_QVM_INLINE_TRIVIAL
6869         typename enable_if_c<
6870             is_vec<V>::value && vec_traits<V>::dim>=4,
6871             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6872         W1Y0( V const & a )
6873             {
6874             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6875             }
6876         template <class V>
6877         BOOST_QVM_INLINE_TRIVIAL
6878         typename enable_if_c<
6879             is_vec<V>::value && vec_traits<V>::dim>=4,
6880             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6881         W1Y0( V & a )
6882             {
6883             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6884             }
6885         template <class V>
6886         BOOST_QVM_INLINE_TRIVIAL
6887         typename enable_if_c<
6888             is_vec<V>::value && vec_traits<V>::dim>=3,
6889             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6890         Z1Y0( V const & a )
6891             {
6892             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6893             }
6894         template <class V>
6895         BOOST_QVM_INLINE_TRIVIAL
6896         typename enable_if_c<
6897             is_vec<V>::value && vec_traits<V>::dim>=3,
6898             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6899         Z1Y0( V & a )
6900             {
6901             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6902             }
6903         template <class V>
6904         BOOST_QVM_INLINE_TRIVIAL
6905         typename enable_if_c<
6906             is_vec<V>::value && vec_traits<V>::dim>=2,
6907             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6908         Y1Y0( V const & a )
6909             {
6910             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6911             }
6912         template <class V>
6913         BOOST_QVM_INLINE_TRIVIAL
6914         typename enable_if_c<
6915             is_vec<V>::value && vec_traits<V>::dim>=2,
6916             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6917         Y1Y0( V & a )
6918             {
6919             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6920             }
6921         template <class V>
6922         BOOST_QVM_INLINE_TRIVIAL
6923         typename enable_if_c<
6924             is_vec<V>::value && vec_traits<V>::dim>=2,
6925             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6926         X1Y0( V const & a )
6927             {
6928             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6929             }
6930         template <class V>
6931         BOOST_QVM_INLINE_TRIVIAL
6932         typename enable_if_c<
6933             is_vec<V>::value && vec_traits<V>::dim>=2,
6934             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6935         X1Y0( V & a )
6936             {
6937             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6938             }
6939         template <class V>
6940         BOOST_QVM_INLINE_TRIVIAL
6941         typename enable_if_c<
6942             is_vec<V>::value && vec_traits<V>::dim>=2,
6943             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6944         _10Y0( V const & a )
6945             {
6946             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6947             }
6948         template <class V>
6949         BOOST_QVM_INLINE_TRIVIAL
6950         typename enable_if_c<
6951             is_vec<V>::value && vec_traits<V>::dim>=2,
6952             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6953         _10Y0( V & a )
6954             {
6955             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6956             }
6957         template <class V>
6958         BOOST_QVM_INLINE_TRIVIAL
6959         typename enable_if_c<
6960             is_vec<V>::value && vec_traits<V>::dim>=2,
6961             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6962         _00Y0( V const & a )
6963             {
6964             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6965             }
6966         template <class V>
6967         BOOST_QVM_INLINE_TRIVIAL
6968         typename enable_if_c<
6969             is_vec<V>::value && vec_traits<V>::dim>=2,
6970             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6971         _00Y0( V & a )
6972             {
6973             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6974             }
6975         template <class V>
6976         BOOST_QVM_INLINE_TRIVIAL
6977         typename enable_if_c<
6978             is_vec<V>::value && vec_traits<V>::dim>=4,
6979             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6980         W0Y0( V const & a )
6981             {
6982             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
6983             }
6984         template <class V>
6985         BOOST_QVM_INLINE_TRIVIAL
6986         typename enable_if_c<
6987             is_vec<V>::value && vec_traits<V>::dim>=4,
6988             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
6989         W0Y0( V & a )
6990             {
6991             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
6992             }
6993         template <class V>
6994         BOOST_QVM_INLINE_TRIVIAL
6995         typename enable_if_c<
6996             is_vec<V>::value && vec_traits<V>::dim>=3,
6997             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
6998         Z0Y0( V const & a )
6999             {
7000             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7001             }
7002         template <class V>
7003         BOOST_QVM_INLINE_TRIVIAL
7004         typename enable_if_c<
7005             is_vec<V>::value && vec_traits<V>::dim>=3,
7006             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7007         Z0Y0( V & a )
7008             {
7009             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7010             }
7011         template <class V>
7012         BOOST_QVM_INLINE_TRIVIAL
7013         typename enable_if_c<
7014             is_vec<V>::value && vec_traits<V>::dim>=2,
7015             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7016         Y0Y0( V const & a )
7017             {
7018             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7019             }
7020         template <class V>
7021         BOOST_QVM_INLINE_TRIVIAL
7022         typename enable_if_c<
7023             is_vec<V>::value && vec_traits<V>::dim>=2,
7024             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7025         Y0Y0( V & a )
7026             {
7027             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7028             }
7029         template <class V>
7030         BOOST_QVM_INLINE_TRIVIAL
7031         typename enable_if_c<
7032             is_vec<V>::value && vec_traits<V>::dim>=2,
7033             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7034         X0Y0( V const & a )
7035             {
7036             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7037             }
7038         template <class V>
7039         BOOST_QVM_INLINE_TRIVIAL
7040         typename enable_if_c<
7041             is_vec<V>::value && vec_traits<V>::dim>=2,
7042             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7043         X0Y0( V & a )
7044             {
7045             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7046             }
7047         template <class V>
7048         BOOST_QVM_INLINE_TRIVIAL
7049         typename enable_if_c<
7050             is_vec<V>::value && vec_traits<V>::dim>=4,
7051             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7052         _1WY0( V const & a )
7053             {
7054             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7055             }
7056         template <class V>
7057         BOOST_QVM_INLINE_TRIVIAL
7058         typename enable_if_c<
7059             is_vec<V>::value && vec_traits<V>::dim>=4,
7060             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7061         _1WY0( V & a )
7062             {
7063             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7064             }
7065         template <class V>
7066         BOOST_QVM_INLINE_TRIVIAL
7067         typename enable_if_c<
7068             is_vec<V>::value && vec_traits<V>::dim>=4,
7069             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7070         _0WY0( V const & a )
7071             {
7072             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7073             }
7074         template <class V>
7075         BOOST_QVM_INLINE_TRIVIAL
7076         typename enable_if_c<
7077             is_vec<V>::value && vec_traits<V>::dim>=4,
7078             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7079         _0WY0( V & a )
7080             {
7081             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7082             }
7083         template <class V>
7084         BOOST_QVM_INLINE_TRIVIAL
7085         typename enable_if_c<
7086             is_vec<V>::value && vec_traits<V>::dim>=4,
7087             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7088         WWY0( V const & a )
7089             {
7090             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7091             }
7092         template <class V>
7093         BOOST_QVM_INLINE_TRIVIAL
7094         typename enable_if_c<
7095             is_vec<V>::value && vec_traits<V>::dim>=4,
7096             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7097         WWY0( V & a )
7098             {
7099             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7100             }
7101         template <class V>
7102         BOOST_QVM_INLINE_TRIVIAL
7103         typename enable_if_c<
7104             is_vec<V>::value && vec_traits<V>::dim>=4,
7105             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7106         ZWY0( V const & a )
7107             {
7108             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7109             }
7110         template <class V>
7111         BOOST_QVM_INLINE_TRIVIAL
7112         typename enable_if_c<
7113             is_vec<V>::value && vec_traits<V>::dim>=4,
7114             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7115         ZWY0( V & a )
7116             {
7117             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7118             }
7119         template <class V>
7120         BOOST_QVM_INLINE_TRIVIAL
7121         typename enable_if_c<
7122             is_vec<V>::value && vec_traits<V>::dim>=4,
7123             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7124         YWY0( V const & a )
7125             {
7126             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7127             }
7128         template <class V>
7129         BOOST_QVM_INLINE_TRIVIAL
7130         typename enable_if_c<
7131             is_vec<V>::value && vec_traits<V>::dim>=4,
7132             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7133         YWY0( V & a )
7134             {
7135             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7136             }
7137         template <class V>
7138         BOOST_QVM_INLINE_TRIVIAL
7139         typename enable_if_c<
7140             is_vec<V>::value && vec_traits<V>::dim>=4,
7141             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7142         XWY0( V const & a )
7143             {
7144             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7145             }
7146         template <class V>
7147         BOOST_QVM_INLINE_TRIVIAL
7148         typename enable_if_c<
7149             is_vec<V>::value && vec_traits<V>::dim>=4,
7150             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7151         XWY0( V & a )
7152             {
7153             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7154             }
7155         template <class V>
7156         BOOST_QVM_INLINE_TRIVIAL
7157         typename enable_if_c<
7158             is_vec<V>::value && vec_traits<V>::dim>=3,
7159             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7160         _1ZY0( V const & a )
7161             {
7162             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7163             }
7164         template <class V>
7165         BOOST_QVM_INLINE_TRIVIAL
7166         typename enable_if_c<
7167             is_vec<V>::value && vec_traits<V>::dim>=3,
7168             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7169         _1ZY0( V & a )
7170             {
7171             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7172             }
7173         template <class V>
7174         BOOST_QVM_INLINE_TRIVIAL
7175         typename enable_if_c<
7176             is_vec<V>::value && vec_traits<V>::dim>=3,
7177             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7178         _0ZY0( V const & a )
7179             {
7180             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7181             }
7182         template <class V>
7183         BOOST_QVM_INLINE_TRIVIAL
7184         typename enable_if_c<
7185             is_vec<V>::value && vec_traits<V>::dim>=3,
7186             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7187         _0ZY0( V & a )
7188             {
7189             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7190             }
7191         template <class V>
7192         BOOST_QVM_INLINE_TRIVIAL
7193         typename enable_if_c<
7194             is_vec<V>::value && vec_traits<V>::dim>=4,
7195             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7196         WZY0( V const & a )
7197             {
7198             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7199             }
7200         template <class V>
7201         BOOST_QVM_INLINE_TRIVIAL
7202         typename enable_if_c<
7203             is_vec<V>::value && vec_traits<V>::dim>=4,
7204             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7205         WZY0( V & a )
7206             {
7207             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7208             }
7209         template <class V>
7210         BOOST_QVM_INLINE_TRIVIAL
7211         typename enable_if_c<
7212             is_vec<V>::value && vec_traits<V>::dim>=3,
7213             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7214         ZZY0( V const & a )
7215             {
7216             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7217             }
7218         template <class V>
7219         BOOST_QVM_INLINE_TRIVIAL
7220         typename enable_if_c<
7221             is_vec<V>::value && vec_traits<V>::dim>=3,
7222             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7223         ZZY0( V & a )
7224             {
7225             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7226             }
7227         template <class V>
7228         BOOST_QVM_INLINE_TRIVIAL
7229         typename enable_if_c<
7230             is_vec<V>::value && vec_traits<V>::dim>=3,
7231             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7232         YZY0( V const & a )
7233             {
7234             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7235             }
7236         template <class V>
7237         BOOST_QVM_INLINE_TRIVIAL
7238         typename enable_if_c<
7239             is_vec<V>::value && vec_traits<V>::dim>=3,
7240             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7241         YZY0( V & a )
7242             {
7243             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7244             }
7245         template <class V>
7246         BOOST_QVM_INLINE_TRIVIAL
7247         typename enable_if_c<
7248             is_vec<V>::value && vec_traits<V>::dim>=3,
7249             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7250         XZY0( V const & a )
7251             {
7252             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7253             }
7254         template <class V>
7255         BOOST_QVM_INLINE_TRIVIAL
7256         typename enable_if_c<
7257             is_vec<V>::value && vec_traits<V>::dim>=3,
7258             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7259         XZY0( V & a )
7260             {
7261             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7262             }
7263         template <class V>
7264         BOOST_QVM_INLINE_TRIVIAL
7265         typename enable_if_c<
7266             is_vec<V>::value && vec_traits<V>::dim>=2,
7267             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7268         _1YY0( V const & a )
7269             {
7270             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7271             }
7272         template <class V>
7273         BOOST_QVM_INLINE_TRIVIAL
7274         typename enable_if_c<
7275             is_vec<V>::value && vec_traits<V>::dim>=2,
7276             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7277         _1YY0( V & a )
7278             {
7279             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7280             }
7281         template <class V>
7282         BOOST_QVM_INLINE_TRIVIAL
7283         typename enable_if_c<
7284             is_vec<V>::value && vec_traits<V>::dim>=2,
7285             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7286         _0YY0( V const & a )
7287             {
7288             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7289             }
7290         template <class V>
7291         BOOST_QVM_INLINE_TRIVIAL
7292         typename enable_if_c<
7293             is_vec<V>::value && vec_traits<V>::dim>=2,
7294             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7295         _0YY0( V & a )
7296             {
7297             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7298             }
7299         template <class V>
7300         BOOST_QVM_INLINE_TRIVIAL
7301         typename enable_if_c<
7302             is_vec<V>::value && vec_traits<V>::dim>=4,
7303             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7304         WYY0( V const & a )
7305             {
7306             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7307             }
7308         template <class V>
7309         BOOST_QVM_INLINE_TRIVIAL
7310         typename enable_if_c<
7311             is_vec<V>::value && vec_traits<V>::dim>=4,
7312             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7313         WYY0( V & a )
7314             {
7315             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7316             }
7317         template <class V>
7318         BOOST_QVM_INLINE_TRIVIAL
7319         typename enable_if_c<
7320             is_vec<V>::value && vec_traits<V>::dim>=3,
7321             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7322         ZYY0( V const & a )
7323             {
7324             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7325             }
7326         template <class V>
7327         BOOST_QVM_INLINE_TRIVIAL
7328         typename enable_if_c<
7329             is_vec<V>::value && vec_traits<V>::dim>=3,
7330             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7331         ZYY0( V & a )
7332             {
7333             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7334             }
7335         template <class V>
7336         BOOST_QVM_INLINE_TRIVIAL
7337         typename enable_if_c<
7338             is_vec<V>::value && vec_traits<V>::dim>=2,
7339             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7340         YYY0( V const & a )
7341             {
7342             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7343             }
7344         template <class V>
7345         BOOST_QVM_INLINE_TRIVIAL
7346         typename enable_if_c<
7347             is_vec<V>::value && vec_traits<V>::dim>=2,
7348             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7349         YYY0( V & a )
7350             {
7351             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7352             }
7353         template <class V>
7354         BOOST_QVM_INLINE_TRIVIAL
7355         typename enable_if_c<
7356             is_vec<V>::value && vec_traits<V>::dim>=2,
7357             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7358         XYY0( V const & a )
7359             {
7360             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7361             }
7362         template <class V>
7363         BOOST_QVM_INLINE_TRIVIAL
7364         typename enable_if_c<
7365             is_vec<V>::value && vec_traits<V>::dim>=2,
7366             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7367         XYY0( V & a )
7368             {
7369             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7370             }
7371         template <class V>
7372         BOOST_QVM_INLINE_TRIVIAL
7373         typename enable_if_c<
7374             is_vec<V>::value && vec_traits<V>::dim>=2,
7375             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7376         _1XY0( V const & a )
7377             {
7378             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7379             }
7380         template <class V>
7381         BOOST_QVM_INLINE_TRIVIAL
7382         typename enable_if_c<
7383             is_vec<V>::value && vec_traits<V>::dim>=2,
7384             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7385         _1XY0( V & a )
7386             {
7387             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7388             }
7389         template <class V>
7390         BOOST_QVM_INLINE_TRIVIAL
7391         typename enable_if_c<
7392             is_vec<V>::value && vec_traits<V>::dim>=2,
7393             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7394         _0XY0( V const & a )
7395             {
7396             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7397             }
7398         template <class V>
7399         BOOST_QVM_INLINE_TRIVIAL
7400         typename enable_if_c<
7401             is_vec<V>::value && vec_traits<V>::dim>=2,
7402             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7403         _0XY0( V & a )
7404             {
7405             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7406             }
7407         template <class V>
7408         BOOST_QVM_INLINE_TRIVIAL
7409         typename enable_if_c<
7410             is_vec<V>::value && vec_traits<V>::dim>=4,
7411             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7412         WXY0( V const & a )
7413             {
7414             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7415             }
7416         template <class V>
7417         BOOST_QVM_INLINE_TRIVIAL
7418         typename enable_if_c<
7419             is_vec<V>::value && vec_traits<V>::dim>=4,
7420             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7421         WXY0( V & a )
7422             {
7423             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7424             }
7425         template <class V>
7426         BOOST_QVM_INLINE_TRIVIAL
7427         typename enable_if_c<
7428             is_vec<V>::value && vec_traits<V>::dim>=3,
7429             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7430         ZXY0( V const & a )
7431             {
7432             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7433             }
7434         template <class V>
7435         BOOST_QVM_INLINE_TRIVIAL
7436         typename enable_if_c<
7437             is_vec<V>::value && vec_traits<V>::dim>=3,
7438             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7439         ZXY0( V & a )
7440             {
7441             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7442             }
7443         template <class V>
7444         BOOST_QVM_INLINE_TRIVIAL
7445         typename enable_if_c<
7446             is_vec<V>::value && vec_traits<V>::dim>=2,
7447             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7448         YXY0( V const & a )
7449             {
7450             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7451             }
7452         template <class V>
7453         BOOST_QVM_INLINE_TRIVIAL
7454         typename enable_if_c<
7455             is_vec<V>::value && vec_traits<V>::dim>=2,
7456             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7457         YXY0( V & a )
7458             {
7459             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7460             }
7461         template <class V>
7462         BOOST_QVM_INLINE_TRIVIAL
7463         typename enable_if_c<
7464             is_vec<V>::value && vec_traits<V>::dim>=2,
7465             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7466         XXY0( V const & a )
7467             {
7468             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7469             }
7470         template <class V>
7471         BOOST_QVM_INLINE_TRIVIAL
7472         typename enable_if_c<
7473             is_vec<V>::value && vec_traits<V>::dim>=2,
7474             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7475         XXY0( V & a )
7476             {
7477             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7478             }
7479         template <class V>
7480         BOOST_QVM_INLINE_TRIVIAL
7481         typename enable_if_c<
7482             is_vec<V>::value && vec_traits<V>::dim>=1,
7483             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7484         _11X0( V const & a )
7485             {
7486             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7487             }
7488         template <class S>
7489         BOOST_QVM_INLINE_TRIVIAL
7490         typename enable_if_c<
7491             is_scalar<S>::value,
7492             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_11X0(S const & a)7493         _11X0( S const & a )
7494             {
7495             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7496             }
7497         template <class V>
7498         BOOST_QVM_INLINE_TRIVIAL
7499         typename enable_if_c<
7500             is_vec<V>::value && vec_traits<V>::dim>=1,
7501             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7502         _11X0( V & a )
7503             {
7504             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7505             }
7506         template <class S>
7507         BOOST_QVM_INLINE_TRIVIAL
7508         typename enable_if_c<
7509             is_scalar<S>::value,
7510             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_11X0(S & a)7511         _11X0( S & a )
7512             {
7513             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7514             }
7515         template <class V>
7516         BOOST_QVM_INLINE_TRIVIAL
7517         typename enable_if_c<
7518             is_vec<V>::value && vec_traits<V>::dim>=1,
7519             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7520         _01X0( V const & a )
7521             {
7522             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7523             }
7524         template <class S>
7525         BOOST_QVM_INLINE_TRIVIAL
7526         typename enable_if_c<
7527             is_scalar<S>::value,
7528             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_01X0(S const & a)7529         _01X0( S const & a )
7530             {
7531             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7532             }
7533         template <class V>
7534         BOOST_QVM_INLINE_TRIVIAL
7535         typename enable_if_c<
7536             is_vec<V>::value && vec_traits<V>::dim>=1,
7537             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7538         _01X0( V & a )
7539             {
7540             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7541             }
7542         template <class S>
7543         BOOST_QVM_INLINE_TRIVIAL
7544         typename enable_if_c<
7545             is_scalar<S>::value,
7546             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_01X0(S & a)7547         _01X0( S & a )
7548             {
7549             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7550             }
7551         template <class V>
7552         BOOST_QVM_INLINE_TRIVIAL
7553         typename enable_if_c<
7554             is_vec<V>::value && vec_traits<V>::dim>=4,
7555             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7556         W1X0( V const & a )
7557             {
7558             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7559             }
7560         template <class V>
7561         BOOST_QVM_INLINE_TRIVIAL
7562         typename enable_if_c<
7563             is_vec<V>::value && vec_traits<V>::dim>=4,
7564             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7565         W1X0( V & a )
7566             {
7567             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7568             }
7569         template <class V>
7570         BOOST_QVM_INLINE_TRIVIAL
7571         typename enable_if_c<
7572             is_vec<V>::value && vec_traits<V>::dim>=3,
7573             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7574         Z1X0( V const & a )
7575             {
7576             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7577             }
7578         template <class V>
7579         BOOST_QVM_INLINE_TRIVIAL
7580         typename enable_if_c<
7581             is_vec<V>::value && vec_traits<V>::dim>=3,
7582             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7583         Z1X0( V & a )
7584             {
7585             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7586             }
7587         template <class V>
7588         BOOST_QVM_INLINE_TRIVIAL
7589         typename enable_if_c<
7590             is_vec<V>::value && vec_traits<V>::dim>=2,
7591             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7592         Y1X0( V const & a )
7593             {
7594             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7595             }
7596         template <class V>
7597         BOOST_QVM_INLINE_TRIVIAL
7598         typename enable_if_c<
7599             is_vec<V>::value && vec_traits<V>::dim>=2,
7600             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7601         Y1X0( V & a )
7602             {
7603             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7604             }
7605         template <class V>
7606         BOOST_QVM_INLINE_TRIVIAL
7607         typename enable_if_c<
7608             is_vec<V>::value && vec_traits<V>::dim>=1,
7609             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7610         X1X0( V const & a )
7611             {
7612             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7613             }
7614         template <class S>
7615         BOOST_QVM_INLINE_TRIVIAL
7616         typename enable_if_c<
7617             is_scalar<S>::value,
7618             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X1X0(S const & a)7619         X1X0( S const & a )
7620             {
7621             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7622             }
7623         template <class V>
7624         BOOST_QVM_INLINE_TRIVIAL
7625         typename enable_if_c<
7626             is_vec<V>::value && vec_traits<V>::dim>=1,
7627             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7628         X1X0( V & a )
7629             {
7630             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7631             }
7632         template <class S>
7633         BOOST_QVM_INLINE_TRIVIAL
7634         typename enable_if_c<
7635             is_scalar<S>::value,
7636             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X1X0(S & a)7637         X1X0( S & a )
7638             {
7639             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7640             }
7641         template <class V>
7642         BOOST_QVM_INLINE_TRIVIAL
7643         typename enable_if_c<
7644             is_vec<V>::value && vec_traits<V>::dim>=1,
7645             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7646         _10X0( V const & a )
7647             {
7648             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7649             }
7650         template <class S>
7651         BOOST_QVM_INLINE_TRIVIAL
7652         typename enable_if_c<
7653             is_scalar<S>::value,
7654             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_10X0(S const & a)7655         _10X0( S const & a )
7656             {
7657             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7658             }
7659         template <class V>
7660         BOOST_QVM_INLINE_TRIVIAL
7661         typename enable_if_c<
7662             is_vec<V>::value && vec_traits<V>::dim>=1,
7663             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7664         _10X0( V & a )
7665             {
7666             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7667             }
7668         template <class S>
7669         BOOST_QVM_INLINE_TRIVIAL
7670         typename enable_if_c<
7671             is_scalar<S>::value,
7672             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_10X0(S & a)7673         _10X0( S & a )
7674             {
7675             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7676             }
7677         template <class V>
7678         BOOST_QVM_INLINE_TRIVIAL
7679         typename enable_if_c<
7680             is_vec<V>::value && vec_traits<V>::dim>=1,
7681             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7682         _00X0( V const & a )
7683             {
7684             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7685             }
7686         template <class S>
7687         BOOST_QVM_INLINE_TRIVIAL
7688         typename enable_if_c<
7689             is_scalar<S>::value,
7690             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_00X0(S const & a)7691         _00X0( S const & a )
7692             {
7693             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7694             }
7695         template <class V>
7696         BOOST_QVM_INLINE_TRIVIAL
7697         typename enable_if_c<
7698             is_vec<V>::value && vec_traits<V>::dim>=1,
7699             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7700         _00X0( V & a )
7701             {
7702             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7703             }
7704         template <class S>
7705         BOOST_QVM_INLINE_TRIVIAL
7706         typename enable_if_c<
7707             is_scalar<S>::value,
7708             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_00X0(S & a)7709         _00X0( S & a )
7710             {
7711             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7712             }
7713         template <class V>
7714         BOOST_QVM_INLINE_TRIVIAL
7715         typename enable_if_c<
7716             is_vec<V>::value && vec_traits<V>::dim>=4,
7717             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7718         W0X0( V const & a )
7719             {
7720             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7721             }
7722         template <class V>
7723         BOOST_QVM_INLINE_TRIVIAL
7724         typename enable_if_c<
7725             is_vec<V>::value && vec_traits<V>::dim>=4,
7726             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7727         W0X0( V & a )
7728             {
7729             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7730             }
7731         template <class V>
7732         BOOST_QVM_INLINE_TRIVIAL
7733         typename enable_if_c<
7734             is_vec<V>::value && vec_traits<V>::dim>=3,
7735             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7736         Z0X0( V const & a )
7737             {
7738             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7739             }
7740         template <class V>
7741         BOOST_QVM_INLINE_TRIVIAL
7742         typename enable_if_c<
7743             is_vec<V>::value && vec_traits<V>::dim>=3,
7744             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7745         Z0X0( V & a )
7746             {
7747             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7748             }
7749         template <class V>
7750         BOOST_QVM_INLINE_TRIVIAL
7751         typename enable_if_c<
7752             is_vec<V>::value && vec_traits<V>::dim>=2,
7753             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7754         Y0X0( V const & a )
7755             {
7756             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7757             }
7758         template <class V>
7759         BOOST_QVM_INLINE_TRIVIAL
7760         typename enable_if_c<
7761             is_vec<V>::value && vec_traits<V>::dim>=2,
7762             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7763         Y0X0( V & a )
7764             {
7765             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7766             }
7767         template <class V>
7768         BOOST_QVM_INLINE_TRIVIAL
7769         typename enable_if_c<
7770             is_vec<V>::value && vec_traits<V>::dim>=1,
7771             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7772         X0X0( V const & a )
7773             {
7774             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7775             }
7776         template <class S>
7777         BOOST_QVM_INLINE_TRIVIAL
7778         typename enable_if_c<
7779             is_scalar<S>::value,
7780             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
X0X0(S const & a)7781         X0X0( S const & a )
7782             {
7783             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7784             }
7785         template <class V>
7786         BOOST_QVM_INLINE_TRIVIAL
7787         typename enable_if_c<
7788             is_vec<V>::value && vec_traits<V>::dim>=1,
7789             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7790         X0X0( V & a )
7791             {
7792             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7793             }
7794         template <class S>
7795         BOOST_QVM_INLINE_TRIVIAL
7796         typename enable_if_c<
7797             is_scalar<S>::value,
7798             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
X0X0(S & a)7799         X0X0( S & a )
7800             {
7801             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7802             }
7803         template <class V>
7804         BOOST_QVM_INLINE_TRIVIAL
7805         typename enable_if_c<
7806             is_vec<V>::value && vec_traits<V>::dim>=4,
7807             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7808         _1WX0( V const & a )
7809             {
7810             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7811             }
7812         template <class V>
7813         BOOST_QVM_INLINE_TRIVIAL
7814         typename enable_if_c<
7815             is_vec<V>::value && vec_traits<V>::dim>=4,
7816             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7817         _1WX0( V & a )
7818             {
7819             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7820             }
7821         template <class V>
7822         BOOST_QVM_INLINE_TRIVIAL
7823         typename enable_if_c<
7824             is_vec<V>::value && vec_traits<V>::dim>=4,
7825             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7826         _0WX0( V const & a )
7827             {
7828             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7829             }
7830         template <class V>
7831         BOOST_QVM_INLINE_TRIVIAL
7832         typename enable_if_c<
7833             is_vec<V>::value && vec_traits<V>::dim>=4,
7834             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7835         _0WX0( V & a )
7836             {
7837             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7838             }
7839         template <class V>
7840         BOOST_QVM_INLINE_TRIVIAL
7841         typename enable_if_c<
7842             is_vec<V>::value && vec_traits<V>::dim>=4,
7843             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7844         WWX0( V const & a )
7845             {
7846             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7847             }
7848         template <class V>
7849         BOOST_QVM_INLINE_TRIVIAL
7850         typename enable_if_c<
7851             is_vec<V>::value && vec_traits<V>::dim>=4,
7852             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7853         WWX0( V & a )
7854             {
7855             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7856             }
7857         template <class V>
7858         BOOST_QVM_INLINE_TRIVIAL
7859         typename enable_if_c<
7860             is_vec<V>::value && vec_traits<V>::dim>=4,
7861             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7862         ZWX0( V const & a )
7863             {
7864             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7865             }
7866         template <class V>
7867         BOOST_QVM_INLINE_TRIVIAL
7868         typename enable_if_c<
7869             is_vec<V>::value && vec_traits<V>::dim>=4,
7870             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7871         ZWX0( V & a )
7872             {
7873             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7874             }
7875         template <class V>
7876         BOOST_QVM_INLINE_TRIVIAL
7877         typename enable_if_c<
7878             is_vec<V>::value && vec_traits<V>::dim>=4,
7879             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7880         YWX0( V const & a )
7881             {
7882             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7883             }
7884         template <class V>
7885         BOOST_QVM_INLINE_TRIVIAL
7886         typename enable_if_c<
7887             is_vec<V>::value && vec_traits<V>::dim>=4,
7888             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7889         YWX0( V & a )
7890             {
7891             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7892             }
7893         template <class V>
7894         BOOST_QVM_INLINE_TRIVIAL
7895         typename enable_if_c<
7896             is_vec<V>::value && vec_traits<V>::dim>=4,
7897             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7898         XWX0( V const & a )
7899             {
7900             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7901             }
7902         template <class V>
7903         BOOST_QVM_INLINE_TRIVIAL
7904         typename enable_if_c<
7905             is_vec<V>::value && vec_traits<V>::dim>=4,
7906             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7907         XWX0( V & a )
7908             {
7909             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7910             }
7911         template <class V>
7912         BOOST_QVM_INLINE_TRIVIAL
7913         typename enable_if_c<
7914             is_vec<V>::value && vec_traits<V>::dim>=3,
7915             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7916         _1ZX0( V const & a )
7917             {
7918             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7919             }
7920         template <class V>
7921         BOOST_QVM_INLINE_TRIVIAL
7922         typename enable_if_c<
7923             is_vec<V>::value && vec_traits<V>::dim>=3,
7924             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7925         _1ZX0( V & a )
7926             {
7927             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7928             }
7929         template <class V>
7930         BOOST_QVM_INLINE_TRIVIAL
7931         typename enable_if_c<
7932             is_vec<V>::value && vec_traits<V>::dim>=3,
7933             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7934         _0ZX0( V const & a )
7935             {
7936             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7937             }
7938         template <class V>
7939         BOOST_QVM_INLINE_TRIVIAL
7940         typename enable_if_c<
7941             is_vec<V>::value && vec_traits<V>::dim>=3,
7942             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7943         _0ZX0( V & a )
7944             {
7945             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7946             }
7947         template <class V>
7948         BOOST_QVM_INLINE_TRIVIAL
7949         typename enable_if_c<
7950             is_vec<V>::value && vec_traits<V>::dim>=4,
7951             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7952         WZX0( V const & a )
7953             {
7954             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7955             }
7956         template <class V>
7957         BOOST_QVM_INLINE_TRIVIAL
7958         typename enable_if_c<
7959             is_vec<V>::value && vec_traits<V>::dim>=4,
7960             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7961         WZX0( V & a )
7962             {
7963             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7964             }
7965         template <class V>
7966         BOOST_QVM_INLINE_TRIVIAL
7967         typename enable_if_c<
7968             is_vec<V>::value && vec_traits<V>::dim>=3,
7969             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7970         ZZX0( V const & a )
7971             {
7972             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7973             }
7974         template <class V>
7975         BOOST_QVM_INLINE_TRIVIAL
7976         typename enable_if_c<
7977             is_vec<V>::value && vec_traits<V>::dim>=3,
7978             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7979         ZZX0( V & a )
7980             {
7981             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
7982             }
7983         template <class V>
7984         BOOST_QVM_INLINE_TRIVIAL
7985         typename enable_if_c<
7986             is_vec<V>::value && vec_traits<V>::dim>=3,
7987             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
7988         YZX0( V const & a )
7989             {
7990             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
7991             }
7992         template <class V>
7993         BOOST_QVM_INLINE_TRIVIAL
7994         typename enable_if_c<
7995             is_vec<V>::value && vec_traits<V>::dim>=3,
7996             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
7997         YZX0( V & a )
7998             {
7999             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8000             }
8001         template <class V>
8002         BOOST_QVM_INLINE_TRIVIAL
8003         typename enable_if_c<
8004             is_vec<V>::value && vec_traits<V>::dim>=3,
8005             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8006         XZX0( V const & a )
8007             {
8008             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8009             }
8010         template <class V>
8011         BOOST_QVM_INLINE_TRIVIAL
8012         typename enable_if_c<
8013             is_vec<V>::value && vec_traits<V>::dim>=3,
8014             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8015         XZX0( V & a )
8016             {
8017             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8018             }
8019         template <class V>
8020         BOOST_QVM_INLINE_TRIVIAL
8021         typename enable_if_c<
8022             is_vec<V>::value && vec_traits<V>::dim>=2,
8023             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8024         _1YX0( V const & a )
8025             {
8026             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8027             }
8028         template <class V>
8029         BOOST_QVM_INLINE_TRIVIAL
8030         typename enable_if_c<
8031             is_vec<V>::value && vec_traits<V>::dim>=2,
8032             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8033         _1YX0( V & a )
8034             {
8035             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8036             }
8037         template <class V>
8038         BOOST_QVM_INLINE_TRIVIAL
8039         typename enable_if_c<
8040             is_vec<V>::value && vec_traits<V>::dim>=2,
8041             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8042         _0YX0( V const & a )
8043             {
8044             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8045             }
8046         template <class V>
8047         BOOST_QVM_INLINE_TRIVIAL
8048         typename enable_if_c<
8049             is_vec<V>::value && vec_traits<V>::dim>=2,
8050             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8051         _0YX0( V & a )
8052             {
8053             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8054             }
8055         template <class V>
8056         BOOST_QVM_INLINE_TRIVIAL
8057         typename enable_if_c<
8058             is_vec<V>::value && vec_traits<V>::dim>=4,
8059             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8060         WYX0( V const & a )
8061             {
8062             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8063             }
8064         template <class V>
8065         BOOST_QVM_INLINE_TRIVIAL
8066         typename enable_if_c<
8067             is_vec<V>::value && vec_traits<V>::dim>=4,
8068             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8069         WYX0( V & a )
8070             {
8071             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8072             }
8073         template <class V>
8074         BOOST_QVM_INLINE_TRIVIAL
8075         typename enable_if_c<
8076             is_vec<V>::value && vec_traits<V>::dim>=3,
8077             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8078         ZYX0( V const & a )
8079             {
8080             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8081             }
8082         template <class V>
8083         BOOST_QVM_INLINE_TRIVIAL
8084         typename enable_if_c<
8085             is_vec<V>::value && vec_traits<V>::dim>=3,
8086             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8087         ZYX0( V & a )
8088             {
8089             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8090             }
8091         template <class V>
8092         BOOST_QVM_INLINE_TRIVIAL
8093         typename enable_if_c<
8094             is_vec<V>::value && vec_traits<V>::dim>=2,
8095             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8096         YYX0( V const & a )
8097             {
8098             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8099             }
8100         template <class V>
8101         BOOST_QVM_INLINE_TRIVIAL
8102         typename enable_if_c<
8103             is_vec<V>::value && vec_traits<V>::dim>=2,
8104             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8105         YYX0( V & a )
8106             {
8107             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8108             }
8109         template <class V>
8110         BOOST_QVM_INLINE_TRIVIAL
8111         typename enable_if_c<
8112             is_vec<V>::value && vec_traits<V>::dim>=2,
8113             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8114         XYX0( V const & a )
8115             {
8116             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8117             }
8118         template <class V>
8119         BOOST_QVM_INLINE_TRIVIAL
8120         typename enable_if_c<
8121             is_vec<V>::value && vec_traits<V>::dim>=2,
8122             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8123         XYX0( V & a )
8124             {
8125             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8126             }
8127         template <class V>
8128         BOOST_QVM_INLINE_TRIVIAL
8129         typename enable_if_c<
8130             is_vec<V>::value && vec_traits<V>::dim>=1,
8131             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8132         _1XX0( V const & a )
8133             {
8134             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8135             }
8136         template <class S>
8137         BOOST_QVM_INLINE_TRIVIAL
8138         typename enable_if_c<
8139             is_scalar<S>::value,
8140             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_1XX0(S const & a)8141         _1XX0( S const & a )
8142             {
8143             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8144             }
8145         template <class V>
8146         BOOST_QVM_INLINE_TRIVIAL
8147         typename enable_if_c<
8148             is_vec<V>::value && vec_traits<V>::dim>=1,
8149             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8150         _1XX0( V & a )
8151             {
8152             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8153             }
8154         template <class S>
8155         BOOST_QVM_INLINE_TRIVIAL
8156         typename enable_if_c<
8157             is_scalar<S>::value,
8158             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_1XX0(S & a)8159         _1XX0( S & a )
8160             {
8161             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8162             }
8163         template <class V>
8164         BOOST_QVM_INLINE_TRIVIAL
8165         typename enable_if_c<
8166             is_vec<V>::value && vec_traits<V>::dim>=1,
8167             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8168         _0XX0( V const & a )
8169             {
8170             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8171             }
8172         template <class S>
8173         BOOST_QVM_INLINE_TRIVIAL
8174         typename enable_if_c<
8175             is_scalar<S>::value,
8176             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
_0XX0(S const & a)8177         _0XX0( S const & a )
8178             {
8179             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8180             }
8181         template <class V>
8182         BOOST_QVM_INLINE_TRIVIAL
8183         typename enable_if_c<
8184             is_vec<V>::value && vec_traits<V>::dim>=1,
8185             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8186         _0XX0( V & a )
8187             {
8188             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8189             }
8190         template <class S>
8191         BOOST_QVM_INLINE_TRIVIAL
8192         typename enable_if_c<
8193             is_scalar<S>::value,
8194             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
_0XX0(S & a)8195         _0XX0( S & a )
8196             {
8197             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8198             }
8199         template <class V>
8200         BOOST_QVM_INLINE_TRIVIAL
8201         typename enable_if_c<
8202             is_vec<V>::value && vec_traits<V>::dim>=4,
8203             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8204         WXX0( V const & a )
8205             {
8206             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8207             }
8208         template <class V>
8209         BOOST_QVM_INLINE_TRIVIAL
8210         typename enable_if_c<
8211             is_vec<V>::value && vec_traits<V>::dim>=4,
8212             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8213         WXX0( V & a )
8214             {
8215             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8216             }
8217         template <class V>
8218         BOOST_QVM_INLINE_TRIVIAL
8219         typename enable_if_c<
8220             is_vec<V>::value && vec_traits<V>::dim>=3,
8221             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8222         ZXX0( V const & a )
8223             {
8224             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8225             }
8226         template <class V>
8227         BOOST_QVM_INLINE_TRIVIAL
8228         typename enable_if_c<
8229             is_vec<V>::value && vec_traits<V>::dim>=3,
8230             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8231         ZXX0( V & a )
8232             {
8233             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8234             }
8235         template <class V>
8236         BOOST_QVM_INLINE_TRIVIAL
8237         typename enable_if_c<
8238             is_vec<V>::value && vec_traits<V>::dim>=2,
8239             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8240         YXX0( V const & a )
8241             {
8242             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8243             }
8244         template <class V>
8245         BOOST_QVM_INLINE_TRIVIAL
8246         typename enable_if_c<
8247             is_vec<V>::value && vec_traits<V>::dim>=2,
8248             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8249         YXX0( V & a )
8250             {
8251             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8252             }
8253         template <class V>
8254         BOOST_QVM_INLINE_TRIVIAL
8255         typename enable_if_c<
8256             is_vec<V>::value && vec_traits<V>::dim>=1,
8257             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
8258         XXX0( V const & a )
8259             {
8260             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8261             }
8262         template <class S>
8263         BOOST_QVM_INLINE_TRIVIAL
8264         typename enable_if_c<
8265             is_scalar<S>::value,
8266             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>::type
XXX0(S const & a)8267         XXX0( S const & a )
8268             {
8269             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > const &>(a);
8270             }
8271         template <class V>
8272         BOOST_QVM_INLINE_TRIVIAL
8273         typename enable_if_c<
8274             is_vec<V>::value && vec_traits<V>::dim>=1,
8275             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
8276         XXX0( V & a )
8277             {
8278             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8279             }
8280         template <class S>
8281         BOOST_QVM_INLINE_TRIVIAL
8282         typename enable_if_c<
8283             is_scalar<S>::value,
8284             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>::type
XXX0(S & a)8285         XXX0( S & a )
8286             {
8287             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1 > > > > > &>(a);
8288             }
8289         template <class V>
8290         BOOST_QVM_INLINE_TRIVIAL
8291         typename enable_if_c<
8292             is_vec<V>::value && vec_traits<V>::dim>=4,
8293             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8294         _111W( V const & a )
8295             {
8296             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8297             }
8298         template <class V>
8299         BOOST_QVM_INLINE_TRIVIAL
8300         typename enable_if_c<
8301             is_vec<V>::value && vec_traits<V>::dim>=4,
8302             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8303         _111W( V & a )
8304             {
8305             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8306             }
8307         template <class V>
8308         BOOST_QVM_INLINE_TRIVIAL
8309         typename enable_if_c<
8310             is_vec<V>::value && vec_traits<V>::dim>=4,
8311             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8312         _011W( V const & a )
8313             {
8314             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8315             }
8316         template <class V>
8317         BOOST_QVM_INLINE_TRIVIAL
8318         typename enable_if_c<
8319             is_vec<V>::value && vec_traits<V>::dim>=4,
8320             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8321         _011W( V & a )
8322             {
8323             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8324             }
8325         template <class V>
8326         BOOST_QVM_INLINE_TRIVIAL
8327         typename enable_if_c<
8328             is_vec<V>::value && vec_traits<V>::dim>=4,
8329             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8330         W11W( V const & a )
8331             {
8332             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8333             }
8334         template <class V>
8335         BOOST_QVM_INLINE_TRIVIAL
8336         typename enable_if_c<
8337             is_vec<V>::value && vec_traits<V>::dim>=4,
8338             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8339         W11W( V & a )
8340             {
8341             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8342             }
8343         template <class V>
8344         BOOST_QVM_INLINE_TRIVIAL
8345         typename enable_if_c<
8346             is_vec<V>::value && vec_traits<V>::dim>=4,
8347             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8348         Z11W( V const & a )
8349             {
8350             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8351             }
8352         template <class V>
8353         BOOST_QVM_INLINE_TRIVIAL
8354         typename enable_if_c<
8355             is_vec<V>::value && vec_traits<V>::dim>=4,
8356             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8357         Z11W( V & a )
8358             {
8359             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8360             }
8361         template <class V>
8362         BOOST_QVM_INLINE_TRIVIAL
8363         typename enable_if_c<
8364             is_vec<V>::value && vec_traits<V>::dim>=4,
8365             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8366         Y11W( V const & a )
8367             {
8368             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8369             }
8370         template <class V>
8371         BOOST_QVM_INLINE_TRIVIAL
8372         typename enable_if_c<
8373             is_vec<V>::value && vec_traits<V>::dim>=4,
8374             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8375         Y11W( V & a )
8376             {
8377             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8378             }
8379         template <class V>
8380         BOOST_QVM_INLINE_TRIVIAL
8381         typename enable_if_c<
8382             is_vec<V>::value && vec_traits<V>::dim>=4,
8383             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8384         X11W( V const & a )
8385             {
8386             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8387             }
8388         template <class V>
8389         BOOST_QVM_INLINE_TRIVIAL
8390         typename enable_if_c<
8391             is_vec<V>::value && vec_traits<V>::dim>=4,
8392             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8393         X11W( V & a )
8394             {
8395             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8396             }
8397         template <class V>
8398         BOOST_QVM_INLINE_TRIVIAL
8399         typename enable_if_c<
8400             is_vec<V>::value && vec_traits<V>::dim>=4,
8401             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8402         _101W( V const & a )
8403             {
8404             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8405             }
8406         template <class V>
8407         BOOST_QVM_INLINE_TRIVIAL
8408         typename enable_if_c<
8409             is_vec<V>::value && vec_traits<V>::dim>=4,
8410             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8411         _101W( V & a )
8412             {
8413             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8414             }
8415         template <class V>
8416         BOOST_QVM_INLINE_TRIVIAL
8417         typename enable_if_c<
8418             is_vec<V>::value && vec_traits<V>::dim>=4,
8419             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8420         _001W( V const & a )
8421             {
8422             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8423             }
8424         template <class V>
8425         BOOST_QVM_INLINE_TRIVIAL
8426         typename enable_if_c<
8427             is_vec<V>::value && vec_traits<V>::dim>=4,
8428             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8429         _001W( V & a )
8430             {
8431             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8432             }
8433         template <class V>
8434         BOOST_QVM_INLINE_TRIVIAL
8435         typename enable_if_c<
8436             is_vec<V>::value && vec_traits<V>::dim>=4,
8437             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8438         W01W( V const & a )
8439             {
8440             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8441             }
8442         template <class V>
8443         BOOST_QVM_INLINE_TRIVIAL
8444         typename enable_if_c<
8445             is_vec<V>::value && vec_traits<V>::dim>=4,
8446             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8447         W01W( V & a )
8448             {
8449             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8450             }
8451         template <class V>
8452         BOOST_QVM_INLINE_TRIVIAL
8453         typename enable_if_c<
8454             is_vec<V>::value && vec_traits<V>::dim>=4,
8455             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8456         Z01W( V const & a )
8457             {
8458             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8459             }
8460         template <class V>
8461         BOOST_QVM_INLINE_TRIVIAL
8462         typename enable_if_c<
8463             is_vec<V>::value && vec_traits<V>::dim>=4,
8464             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8465         Z01W( V & a )
8466             {
8467             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8468             }
8469         template <class V>
8470         BOOST_QVM_INLINE_TRIVIAL
8471         typename enable_if_c<
8472             is_vec<V>::value && vec_traits<V>::dim>=4,
8473             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8474         Y01W( V const & a )
8475             {
8476             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8477             }
8478         template <class V>
8479         BOOST_QVM_INLINE_TRIVIAL
8480         typename enable_if_c<
8481             is_vec<V>::value && vec_traits<V>::dim>=4,
8482             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8483         Y01W( V & a )
8484             {
8485             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8486             }
8487         template <class V>
8488         BOOST_QVM_INLINE_TRIVIAL
8489         typename enable_if_c<
8490             is_vec<V>::value && vec_traits<V>::dim>=4,
8491             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8492         X01W( V const & a )
8493             {
8494             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8495             }
8496         template <class V>
8497         BOOST_QVM_INLINE_TRIVIAL
8498         typename enable_if_c<
8499             is_vec<V>::value && vec_traits<V>::dim>=4,
8500             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8501         X01W( V & a )
8502             {
8503             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8504             }
8505         template <class V>
8506         BOOST_QVM_INLINE_TRIVIAL
8507         typename enable_if_c<
8508             is_vec<V>::value && vec_traits<V>::dim>=4,
8509             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8510         _1W1W( V const & a )
8511             {
8512             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8513             }
8514         template <class V>
8515         BOOST_QVM_INLINE_TRIVIAL
8516         typename enable_if_c<
8517             is_vec<V>::value && vec_traits<V>::dim>=4,
8518             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8519         _1W1W( V & a )
8520             {
8521             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8522             }
8523         template <class V>
8524         BOOST_QVM_INLINE_TRIVIAL
8525         typename enable_if_c<
8526             is_vec<V>::value && vec_traits<V>::dim>=4,
8527             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8528         _0W1W( V const & a )
8529             {
8530             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8531             }
8532         template <class V>
8533         BOOST_QVM_INLINE_TRIVIAL
8534         typename enable_if_c<
8535             is_vec<V>::value && vec_traits<V>::dim>=4,
8536             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8537         _0W1W( V & a )
8538             {
8539             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8540             }
8541         template <class V>
8542         BOOST_QVM_INLINE_TRIVIAL
8543         typename enable_if_c<
8544             is_vec<V>::value && vec_traits<V>::dim>=4,
8545             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8546         WW1W( V const & a )
8547             {
8548             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8549             }
8550         template <class V>
8551         BOOST_QVM_INLINE_TRIVIAL
8552         typename enable_if_c<
8553             is_vec<V>::value && vec_traits<V>::dim>=4,
8554             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8555         WW1W( V & a )
8556             {
8557             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8558             }
8559         template <class V>
8560         BOOST_QVM_INLINE_TRIVIAL
8561         typename enable_if_c<
8562             is_vec<V>::value && vec_traits<V>::dim>=4,
8563             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8564         ZW1W( V const & a )
8565             {
8566             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8567             }
8568         template <class V>
8569         BOOST_QVM_INLINE_TRIVIAL
8570         typename enable_if_c<
8571             is_vec<V>::value && vec_traits<V>::dim>=4,
8572             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8573         ZW1W( V & a )
8574             {
8575             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8576             }
8577         template <class V>
8578         BOOST_QVM_INLINE_TRIVIAL
8579         typename enable_if_c<
8580             is_vec<V>::value && vec_traits<V>::dim>=4,
8581             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8582         YW1W( V const & a )
8583             {
8584             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8585             }
8586         template <class V>
8587         BOOST_QVM_INLINE_TRIVIAL
8588         typename enable_if_c<
8589             is_vec<V>::value && vec_traits<V>::dim>=4,
8590             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8591         YW1W( V & a )
8592             {
8593             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8594             }
8595         template <class V>
8596         BOOST_QVM_INLINE_TRIVIAL
8597         typename enable_if_c<
8598             is_vec<V>::value && vec_traits<V>::dim>=4,
8599             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8600         XW1W( V const & a )
8601             {
8602             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8603             }
8604         template <class V>
8605         BOOST_QVM_INLINE_TRIVIAL
8606         typename enable_if_c<
8607             is_vec<V>::value && vec_traits<V>::dim>=4,
8608             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8609         XW1W( V & a )
8610             {
8611             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8612             }
8613         template <class V>
8614         BOOST_QVM_INLINE_TRIVIAL
8615         typename enable_if_c<
8616             is_vec<V>::value && vec_traits<V>::dim>=4,
8617             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8618         _1Z1W( V const & a )
8619             {
8620             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8621             }
8622         template <class V>
8623         BOOST_QVM_INLINE_TRIVIAL
8624         typename enable_if_c<
8625             is_vec<V>::value && vec_traits<V>::dim>=4,
8626             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8627         _1Z1W( V & a )
8628             {
8629             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8630             }
8631         template <class V>
8632         BOOST_QVM_INLINE_TRIVIAL
8633         typename enable_if_c<
8634             is_vec<V>::value && vec_traits<V>::dim>=4,
8635             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8636         _0Z1W( V const & a )
8637             {
8638             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8639             }
8640         template <class V>
8641         BOOST_QVM_INLINE_TRIVIAL
8642         typename enable_if_c<
8643             is_vec<V>::value && vec_traits<V>::dim>=4,
8644             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8645         _0Z1W( V & a )
8646             {
8647             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8648             }
8649         template <class V>
8650         BOOST_QVM_INLINE_TRIVIAL
8651         typename enable_if_c<
8652             is_vec<V>::value && vec_traits<V>::dim>=4,
8653             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8654         WZ1W( V const & a )
8655             {
8656             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8657             }
8658         template <class V>
8659         BOOST_QVM_INLINE_TRIVIAL
8660         typename enable_if_c<
8661             is_vec<V>::value && vec_traits<V>::dim>=4,
8662             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8663         WZ1W( V & a )
8664             {
8665             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8666             }
8667         template <class V>
8668         BOOST_QVM_INLINE_TRIVIAL
8669         typename enable_if_c<
8670             is_vec<V>::value && vec_traits<V>::dim>=4,
8671             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8672         ZZ1W( V const & a )
8673             {
8674             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8675             }
8676         template <class V>
8677         BOOST_QVM_INLINE_TRIVIAL
8678         typename enable_if_c<
8679             is_vec<V>::value && vec_traits<V>::dim>=4,
8680             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8681         ZZ1W( V & a )
8682             {
8683             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8684             }
8685         template <class V>
8686         BOOST_QVM_INLINE_TRIVIAL
8687         typename enable_if_c<
8688             is_vec<V>::value && vec_traits<V>::dim>=4,
8689             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8690         YZ1W( V const & a )
8691             {
8692             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8693             }
8694         template <class V>
8695         BOOST_QVM_INLINE_TRIVIAL
8696         typename enable_if_c<
8697             is_vec<V>::value && vec_traits<V>::dim>=4,
8698             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8699         YZ1W( V & a )
8700             {
8701             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8702             }
8703         template <class V>
8704         BOOST_QVM_INLINE_TRIVIAL
8705         typename enable_if_c<
8706             is_vec<V>::value && vec_traits<V>::dim>=4,
8707             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8708         XZ1W( V const & a )
8709             {
8710             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8711             }
8712         template <class V>
8713         BOOST_QVM_INLINE_TRIVIAL
8714         typename enable_if_c<
8715             is_vec<V>::value && vec_traits<V>::dim>=4,
8716             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8717         XZ1W( V & a )
8718             {
8719             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8720             }
8721         template <class V>
8722         BOOST_QVM_INLINE_TRIVIAL
8723         typename enable_if_c<
8724             is_vec<V>::value && vec_traits<V>::dim>=4,
8725             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8726         _1Y1W( V const & a )
8727             {
8728             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8729             }
8730         template <class V>
8731         BOOST_QVM_INLINE_TRIVIAL
8732         typename enable_if_c<
8733             is_vec<V>::value && vec_traits<V>::dim>=4,
8734             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8735         _1Y1W( V & a )
8736             {
8737             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8738             }
8739         template <class V>
8740         BOOST_QVM_INLINE_TRIVIAL
8741         typename enable_if_c<
8742             is_vec<V>::value && vec_traits<V>::dim>=4,
8743             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8744         _0Y1W( V const & a )
8745             {
8746             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8747             }
8748         template <class V>
8749         BOOST_QVM_INLINE_TRIVIAL
8750         typename enable_if_c<
8751             is_vec<V>::value && vec_traits<V>::dim>=4,
8752             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8753         _0Y1W( V & a )
8754             {
8755             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8756             }
8757         template <class V>
8758         BOOST_QVM_INLINE_TRIVIAL
8759         typename enable_if_c<
8760             is_vec<V>::value && vec_traits<V>::dim>=4,
8761             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8762         WY1W( V const & a )
8763             {
8764             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8765             }
8766         template <class V>
8767         BOOST_QVM_INLINE_TRIVIAL
8768         typename enable_if_c<
8769             is_vec<V>::value && vec_traits<V>::dim>=4,
8770             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8771         WY1W( V & a )
8772             {
8773             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8774             }
8775         template <class V>
8776         BOOST_QVM_INLINE_TRIVIAL
8777         typename enable_if_c<
8778             is_vec<V>::value && vec_traits<V>::dim>=4,
8779             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8780         ZY1W( V const & a )
8781             {
8782             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8783             }
8784         template <class V>
8785         BOOST_QVM_INLINE_TRIVIAL
8786         typename enable_if_c<
8787             is_vec<V>::value && vec_traits<V>::dim>=4,
8788             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8789         ZY1W( V & a )
8790             {
8791             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8792             }
8793         template <class V>
8794         BOOST_QVM_INLINE_TRIVIAL
8795         typename enable_if_c<
8796             is_vec<V>::value && vec_traits<V>::dim>=4,
8797             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8798         YY1W( V const & a )
8799             {
8800             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8801             }
8802         template <class V>
8803         BOOST_QVM_INLINE_TRIVIAL
8804         typename enable_if_c<
8805             is_vec<V>::value && vec_traits<V>::dim>=4,
8806             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8807         YY1W( V & a )
8808             {
8809             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8810             }
8811         template <class V>
8812         BOOST_QVM_INLINE_TRIVIAL
8813         typename enable_if_c<
8814             is_vec<V>::value && vec_traits<V>::dim>=4,
8815             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8816         XY1W( V const & a )
8817             {
8818             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8819             }
8820         template <class V>
8821         BOOST_QVM_INLINE_TRIVIAL
8822         typename enable_if_c<
8823             is_vec<V>::value && vec_traits<V>::dim>=4,
8824             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8825         XY1W( V & a )
8826             {
8827             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8828             }
8829         template <class V>
8830         BOOST_QVM_INLINE_TRIVIAL
8831         typename enable_if_c<
8832             is_vec<V>::value && vec_traits<V>::dim>=4,
8833             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8834         _1X1W( V const & a )
8835             {
8836             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8837             }
8838         template <class V>
8839         BOOST_QVM_INLINE_TRIVIAL
8840         typename enable_if_c<
8841             is_vec<V>::value && vec_traits<V>::dim>=4,
8842             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8843         _1X1W( V & a )
8844             {
8845             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8846             }
8847         template <class V>
8848         BOOST_QVM_INLINE_TRIVIAL
8849         typename enable_if_c<
8850             is_vec<V>::value && vec_traits<V>::dim>=4,
8851             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8852         _0X1W( V const & a )
8853             {
8854             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8855             }
8856         template <class V>
8857         BOOST_QVM_INLINE_TRIVIAL
8858         typename enable_if_c<
8859             is_vec<V>::value && vec_traits<V>::dim>=4,
8860             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8861         _0X1W( V & a )
8862             {
8863             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8864             }
8865         template <class V>
8866         BOOST_QVM_INLINE_TRIVIAL
8867         typename enable_if_c<
8868             is_vec<V>::value && vec_traits<V>::dim>=4,
8869             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8870         WX1W( V const & a )
8871             {
8872             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8873             }
8874         template <class V>
8875         BOOST_QVM_INLINE_TRIVIAL
8876         typename enable_if_c<
8877             is_vec<V>::value && vec_traits<V>::dim>=4,
8878             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8879         WX1W( V & a )
8880             {
8881             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8882             }
8883         template <class V>
8884         BOOST_QVM_INLINE_TRIVIAL
8885         typename enable_if_c<
8886             is_vec<V>::value && vec_traits<V>::dim>=4,
8887             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8888         ZX1W( V const & a )
8889             {
8890             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8891             }
8892         template <class V>
8893         BOOST_QVM_INLINE_TRIVIAL
8894         typename enable_if_c<
8895             is_vec<V>::value && vec_traits<V>::dim>=4,
8896             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8897         ZX1W( V & a )
8898             {
8899             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8900             }
8901         template <class V>
8902         BOOST_QVM_INLINE_TRIVIAL
8903         typename enable_if_c<
8904             is_vec<V>::value && vec_traits<V>::dim>=4,
8905             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8906         YX1W( V const & a )
8907             {
8908             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8909             }
8910         template <class V>
8911         BOOST_QVM_INLINE_TRIVIAL
8912         typename enable_if_c<
8913             is_vec<V>::value && vec_traits<V>::dim>=4,
8914             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8915         YX1W( V & a )
8916             {
8917             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8918             }
8919         template <class V>
8920         BOOST_QVM_INLINE_TRIVIAL
8921         typename enable_if_c<
8922             is_vec<V>::value && vec_traits<V>::dim>=4,
8923             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8924         XX1W( V const & a )
8925             {
8926             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8927             }
8928         template <class V>
8929         BOOST_QVM_INLINE_TRIVIAL
8930         typename enable_if_c<
8931             is_vec<V>::value && vec_traits<V>::dim>=4,
8932             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>::type
8933         XX1W( V & a )
8934             {
8935             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8936             }
8937         template <class V>
8938         BOOST_QVM_INLINE_TRIVIAL
8939         typename enable_if_c<
8940             is_vec<V>::value && vec_traits<V>::dim>=4,
8941             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8942         _110W( V const & a )
8943             {
8944             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8945             }
8946         template <class V>
8947         BOOST_QVM_INLINE_TRIVIAL
8948         typename enable_if_c<
8949             is_vec<V>::value && vec_traits<V>::dim>=4,
8950             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
8951         _110W( V & a )
8952             {
8953             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8954             }
8955         template <class V>
8956         BOOST_QVM_INLINE_TRIVIAL
8957         typename enable_if_c<
8958             is_vec<V>::value && vec_traits<V>::dim>=4,
8959             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8960         _010W( V const & a )
8961             {
8962             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8963             }
8964         template <class V>
8965         BOOST_QVM_INLINE_TRIVIAL
8966         typename enable_if_c<
8967             is_vec<V>::value && vec_traits<V>::dim>=4,
8968             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
8969         _010W( V & a )
8970             {
8971             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8972             }
8973         template <class V>
8974         BOOST_QVM_INLINE_TRIVIAL
8975         typename enable_if_c<
8976             is_vec<V>::value && vec_traits<V>::dim>=4,
8977             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8978         W10W( V const & a )
8979             {
8980             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8981             }
8982         template <class V>
8983         BOOST_QVM_INLINE_TRIVIAL
8984         typename enable_if_c<
8985             is_vec<V>::value && vec_traits<V>::dim>=4,
8986             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
8987         W10W( V & a )
8988             {
8989             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
8990             }
8991         template <class V>
8992         BOOST_QVM_INLINE_TRIVIAL
8993         typename enable_if_c<
8994             is_vec<V>::value && vec_traits<V>::dim>=4,
8995             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
8996         Z10W( V const & a )
8997             {
8998             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
8999             }
9000         template <class V>
9001         BOOST_QVM_INLINE_TRIVIAL
9002         typename enable_if_c<
9003             is_vec<V>::value && vec_traits<V>::dim>=4,
9004             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9005         Z10W( V & a )
9006             {
9007             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9008             }
9009         template <class V>
9010         BOOST_QVM_INLINE_TRIVIAL
9011         typename enable_if_c<
9012             is_vec<V>::value && vec_traits<V>::dim>=4,
9013             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9014         Y10W( V const & a )
9015             {
9016             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9017             }
9018         template <class V>
9019         BOOST_QVM_INLINE_TRIVIAL
9020         typename enable_if_c<
9021             is_vec<V>::value && vec_traits<V>::dim>=4,
9022             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9023         Y10W( V & a )
9024             {
9025             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9026             }
9027         template <class V>
9028         BOOST_QVM_INLINE_TRIVIAL
9029         typename enable_if_c<
9030             is_vec<V>::value && vec_traits<V>::dim>=4,
9031             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9032         X10W( V const & a )
9033             {
9034             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9035             }
9036         template <class V>
9037         BOOST_QVM_INLINE_TRIVIAL
9038         typename enable_if_c<
9039             is_vec<V>::value && vec_traits<V>::dim>=4,
9040             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9041         X10W( V & a )
9042             {
9043             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9044             }
9045         template <class V>
9046         BOOST_QVM_INLINE_TRIVIAL
9047         typename enable_if_c<
9048             is_vec<V>::value && vec_traits<V>::dim>=4,
9049             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9050         _100W( V const & a )
9051             {
9052             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9053             }
9054         template <class V>
9055         BOOST_QVM_INLINE_TRIVIAL
9056         typename enable_if_c<
9057             is_vec<V>::value && vec_traits<V>::dim>=4,
9058             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9059         _100W( V & a )
9060             {
9061             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9062             }
9063         template <class V>
9064         BOOST_QVM_INLINE_TRIVIAL
9065         typename enable_if_c<
9066             is_vec<V>::value && vec_traits<V>::dim>=4,
9067             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9068         _000W( V const & a )
9069             {
9070             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9071             }
9072         template <class V>
9073         BOOST_QVM_INLINE_TRIVIAL
9074         typename enable_if_c<
9075             is_vec<V>::value && vec_traits<V>::dim>=4,
9076             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9077         _000W( V & a )
9078             {
9079             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9080             }
9081         template <class V>
9082         BOOST_QVM_INLINE_TRIVIAL
9083         typename enable_if_c<
9084             is_vec<V>::value && vec_traits<V>::dim>=4,
9085             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9086         W00W( V const & a )
9087             {
9088             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9089             }
9090         template <class V>
9091         BOOST_QVM_INLINE_TRIVIAL
9092         typename enable_if_c<
9093             is_vec<V>::value && vec_traits<V>::dim>=4,
9094             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9095         W00W( V & a )
9096             {
9097             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9098             }
9099         template <class V>
9100         BOOST_QVM_INLINE_TRIVIAL
9101         typename enable_if_c<
9102             is_vec<V>::value && vec_traits<V>::dim>=4,
9103             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9104         Z00W( V const & a )
9105             {
9106             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9107             }
9108         template <class V>
9109         BOOST_QVM_INLINE_TRIVIAL
9110         typename enable_if_c<
9111             is_vec<V>::value && vec_traits<V>::dim>=4,
9112             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9113         Z00W( V & a )
9114             {
9115             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9116             }
9117         template <class V>
9118         BOOST_QVM_INLINE_TRIVIAL
9119         typename enable_if_c<
9120             is_vec<V>::value && vec_traits<V>::dim>=4,
9121             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9122         Y00W( V const & a )
9123             {
9124             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9125             }
9126         template <class V>
9127         BOOST_QVM_INLINE_TRIVIAL
9128         typename enable_if_c<
9129             is_vec<V>::value && vec_traits<V>::dim>=4,
9130             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9131         Y00W( V & a )
9132             {
9133             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9134             }
9135         template <class V>
9136         BOOST_QVM_INLINE_TRIVIAL
9137         typename enable_if_c<
9138             is_vec<V>::value && vec_traits<V>::dim>=4,
9139             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9140         X00W( V const & a )
9141             {
9142             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9143             }
9144         template <class V>
9145         BOOST_QVM_INLINE_TRIVIAL
9146         typename enable_if_c<
9147             is_vec<V>::value && vec_traits<V>::dim>=4,
9148             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9149         X00W( V & a )
9150             {
9151             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9152             }
9153         template <class V>
9154         BOOST_QVM_INLINE_TRIVIAL
9155         typename enable_if_c<
9156             is_vec<V>::value && vec_traits<V>::dim>=4,
9157             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9158         _1W0W( V const & a )
9159             {
9160             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9161             }
9162         template <class V>
9163         BOOST_QVM_INLINE_TRIVIAL
9164         typename enable_if_c<
9165             is_vec<V>::value && vec_traits<V>::dim>=4,
9166             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9167         _1W0W( V & a )
9168             {
9169             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9170             }
9171         template <class V>
9172         BOOST_QVM_INLINE_TRIVIAL
9173         typename enable_if_c<
9174             is_vec<V>::value && vec_traits<V>::dim>=4,
9175             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9176         _0W0W( V const & a )
9177             {
9178             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9179             }
9180         template <class V>
9181         BOOST_QVM_INLINE_TRIVIAL
9182         typename enable_if_c<
9183             is_vec<V>::value && vec_traits<V>::dim>=4,
9184             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9185         _0W0W( V & a )
9186             {
9187             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9188             }
9189         template <class V>
9190         BOOST_QVM_INLINE_TRIVIAL
9191         typename enable_if_c<
9192             is_vec<V>::value && vec_traits<V>::dim>=4,
9193             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9194         WW0W( V const & a )
9195             {
9196             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9197             }
9198         template <class V>
9199         BOOST_QVM_INLINE_TRIVIAL
9200         typename enable_if_c<
9201             is_vec<V>::value && vec_traits<V>::dim>=4,
9202             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9203         WW0W( V & a )
9204             {
9205             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9206             }
9207         template <class V>
9208         BOOST_QVM_INLINE_TRIVIAL
9209         typename enable_if_c<
9210             is_vec<V>::value && vec_traits<V>::dim>=4,
9211             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9212         ZW0W( V const & a )
9213             {
9214             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9215             }
9216         template <class V>
9217         BOOST_QVM_INLINE_TRIVIAL
9218         typename enable_if_c<
9219             is_vec<V>::value && vec_traits<V>::dim>=4,
9220             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9221         ZW0W( V & a )
9222             {
9223             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9224             }
9225         template <class V>
9226         BOOST_QVM_INLINE_TRIVIAL
9227         typename enable_if_c<
9228             is_vec<V>::value && vec_traits<V>::dim>=4,
9229             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9230         YW0W( V const & a )
9231             {
9232             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9233             }
9234         template <class V>
9235         BOOST_QVM_INLINE_TRIVIAL
9236         typename enable_if_c<
9237             is_vec<V>::value && vec_traits<V>::dim>=4,
9238             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9239         YW0W( V & a )
9240             {
9241             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9242             }
9243         template <class V>
9244         BOOST_QVM_INLINE_TRIVIAL
9245         typename enable_if_c<
9246             is_vec<V>::value && vec_traits<V>::dim>=4,
9247             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9248         XW0W( V const & a )
9249             {
9250             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9251             }
9252         template <class V>
9253         BOOST_QVM_INLINE_TRIVIAL
9254         typename enable_if_c<
9255             is_vec<V>::value && vec_traits<V>::dim>=4,
9256             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9257         XW0W( V & a )
9258             {
9259             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9260             }
9261         template <class V>
9262         BOOST_QVM_INLINE_TRIVIAL
9263         typename enable_if_c<
9264             is_vec<V>::value && vec_traits<V>::dim>=4,
9265             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9266         _1Z0W( V const & a )
9267             {
9268             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9269             }
9270         template <class V>
9271         BOOST_QVM_INLINE_TRIVIAL
9272         typename enable_if_c<
9273             is_vec<V>::value && vec_traits<V>::dim>=4,
9274             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9275         _1Z0W( V & a )
9276             {
9277             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9278             }
9279         template <class V>
9280         BOOST_QVM_INLINE_TRIVIAL
9281         typename enable_if_c<
9282             is_vec<V>::value && vec_traits<V>::dim>=4,
9283             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9284         _0Z0W( V const & a )
9285             {
9286             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9287             }
9288         template <class V>
9289         BOOST_QVM_INLINE_TRIVIAL
9290         typename enable_if_c<
9291             is_vec<V>::value && vec_traits<V>::dim>=4,
9292             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9293         _0Z0W( V & a )
9294             {
9295             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9296             }
9297         template <class V>
9298         BOOST_QVM_INLINE_TRIVIAL
9299         typename enable_if_c<
9300             is_vec<V>::value && vec_traits<V>::dim>=4,
9301             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9302         WZ0W( V const & a )
9303             {
9304             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9305             }
9306         template <class V>
9307         BOOST_QVM_INLINE_TRIVIAL
9308         typename enable_if_c<
9309             is_vec<V>::value && vec_traits<V>::dim>=4,
9310             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9311         WZ0W( V & a )
9312             {
9313             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9314             }
9315         template <class V>
9316         BOOST_QVM_INLINE_TRIVIAL
9317         typename enable_if_c<
9318             is_vec<V>::value && vec_traits<V>::dim>=4,
9319             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9320         ZZ0W( V const & a )
9321             {
9322             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9323             }
9324         template <class V>
9325         BOOST_QVM_INLINE_TRIVIAL
9326         typename enable_if_c<
9327             is_vec<V>::value && vec_traits<V>::dim>=4,
9328             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9329         ZZ0W( V & a )
9330             {
9331             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9332             }
9333         template <class V>
9334         BOOST_QVM_INLINE_TRIVIAL
9335         typename enable_if_c<
9336             is_vec<V>::value && vec_traits<V>::dim>=4,
9337             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9338         YZ0W( V const & a )
9339             {
9340             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9341             }
9342         template <class V>
9343         BOOST_QVM_INLINE_TRIVIAL
9344         typename enable_if_c<
9345             is_vec<V>::value && vec_traits<V>::dim>=4,
9346             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9347         YZ0W( V & a )
9348             {
9349             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9350             }
9351         template <class V>
9352         BOOST_QVM_INLINE_TRIVIAL
9353         typename enable_if_c<
9354             is_vec<V>::value && vec_traits<V>::dim>=4,
9355             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9356         XZ0W( V const & a )
9357             {
9358             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9359             }
9360         template <class V>
9361         BOOST_QVM_INLINE_TRIVIAL
9362         typename enable_if_c<
9363             is_vec<V>::value && vec_traits<V>::dim>=4,
9364             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9365         XZ0W( V & a )
9366             {
9367             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9368             }
9369         template <class V>
9370         BOOST_QVM_INLINE_TRIVIAL
9371         typename enable_if_c<
9372             is_vec<V>::value && vec_traits<V>::dim>=4,
9373             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9374         _1Y0W( V const & a )
9375             {
9376             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9377             }
9378         template <class V>
9379         BOOST_QVM_INLINE_TRIVIAL
9380         typename enable_if_c<
9381             is_vec<V>::value && vec_traits<V>::dim>=4,
9382             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9383         _1Y0W( V & a )
9384             {
9385             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9386             }
9387         template <class V>
9388         BOOST_QVM_INLINE_TRIVIAL
9389         typename enable_if_c<
9390             is_vec<V>::value && vec_traits<V>::dim>=4,
9391             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9392         _0Y0W( V const & a )
9393             {
9394             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9395             }
9396         template <class V>
9397         BOOST_QVM_INLINE_TRIVIAL
9398         typename enable_if_c<
9399             is_vec<V>::value && vec_traits<V>::dim>=4,
9400             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9401         _0Y0W( V & a )
9402             {
9403             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9404             }
9405         template <class V>
9406         BOOST_QVM_INLINE_TRIVIAL
9407         typename enable_if_c<
9408             is_vec<V>::value && vec_traits<V>::dim>=4,
9409             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9410         WY0W( V const & a )
9411             {
9412             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9413             }
9414         template <class V>
9415         BOOST_QVM_INLINE_TRIVIAL
9416         typename enable_if_c<
9417             is_vec<V>::value && vec_traits<V>::dim>=4,
9418             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9419         WY0W( V & a )
9420             {
9421             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9422             }
9423         template <class V>
9424         BOOST_QVM_INLINE_TRIVIAL
9425         typename enable_if_c<
9426             is_vec<V>::value && vec_traits<V>::dim>=4,
9427             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9428         ZY0W( V const & a )
9429             {
9430             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9431             }
9432         template <class V>
9433         BOOST_QVM_INLINE_TRIVIAL
9434         typename enable_if_c<
9435             is_vec<V>::value && vec_traits<V>::dim>=4,
9436             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9437         ZY0W( V & a )
9438             {
9439             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9440             }
9441         template <class V>
9442         BOOST_QVM_INLINE_TRIVIAL
9443         typename enable_if_c<
9444             is_vec<V>::value && vec_traits<V>::dim>=4,
9445             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9446         YY0W( V const & a )
9447             {
9448             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9449             }
9450         template <class V>
9451         BOOST_QVM_INLINE_TRIVIAL
9452         typename enable_if_c<
9453             is_vec<V>::value && vec_traits<V>::dim>=4,
9454             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9455         YY0W( V & a )
9456             {
9457             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9458             }
9459         template <class V>
9460         BOOST_QVM_INLINE_TRIVIAL
9461         typename enable_if_c<
9462             is_vec<V>::value && vec_traits<V>::dim>=4,
9463             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9464         XY0W( V const & a )
9465             {
9466             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9467             }
9468         template <class V>
9469         BOOST_QVM_INLINE_TRIVIAL
9470         typename enable_if_c<
9471             is_vec<V>::value && vec_traits<V>::dim>=4,
9472             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9473         XY0W( V & a )
9474             {
9475             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9476             }
9477         template <class V>
9478         BOOST_QVM_INLINE_TRIVIAL
9479         typename enable_if_c<
9480             is_vec<V>::value && vec_traits<V>::dim>=4,
9481             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9482         _1X0W( V const & a )
9483             {
9484             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9485             }
9486         template <class V>
9487         BOOST_QVM_INLINE_TRIVIAL
9488         typename enable_if_c<
9489             is_vec<V>::value && vec_traits<V>::dim>=4,
9490             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9491         _1X0W( V & a )
9492             {
9493             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9494             }
9495         template <class V>
9496         BOOST_QVM_INLINE_TRIVIAL
9497         typename enable_if_c<
9498             is_vec<V>::value && vec_traits<V>::dim>=4,
9499             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9500         _0X0W( V const & a )
9501             {
9502             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9503             }
9504         template <class V>
9505         BOOST_QVM_INLINE_TRIVIAL
9506         typename enable_if_c<
9507             is_vec<V>::value && vec_traits<V>::dim>=4,
9508             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9509         _0X0W( V & a )
9510             {
9511             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9512             }
9513         template <class V>
9514         BOOST_QVM_INLINE_TRIVIAL
9515         typename enable_if_c<
9516             is_vec<V>::value && vec_traits<V>::dim>=4,
9517             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9518         WX0W( V const & a )
9519             {
9520             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9521             }
9522         template <class V>
9523         BOOST_QVM_INLINE_TRIVIAL
9524         typename enable_if_c<
9525             is_vec<V>::value && vec_traits<V>::dim>=4,
9526             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9527         WX0W( V & a )
9528             {
9529             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9530             }
9531         template <class V>
9532         BOOST_QVM_INLINE_TRIVIAL
9533         typename enable_if_c<
9534             is_vec<V>::value && vec_traits<V>::dim>=4,
9535             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9536         ZX0W( V const & a )
9537             {
9538             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9539             }
9540         template <class V>
9541         BOOST_QVM_INLINE_TRIVIAL
9542         typename enable_if_c<
9543             is_vec<V>::value && vec_traits<V>::dim>=4,
9544             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9545         ZX0W( V & a )
9546             {
9547             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9548             }
9549         template <class V>
9550         BOOST_QVM_INLINE_TRIVIAL
9551         typename enable_if_c<
9552             is_vec<V>::value && vec_traits<V>::dim>=4,
9553             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9554         YX0W( V const & a )
9555             {
9556             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9557             }
9558         template <class V>
9559         BOOST_QVM_INLINE_TRIVIAL
9560         typename enable_if_c<
9561             is_vec<V>::value && vec_traits<V>::dim>=4,
9562             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9563         YX0W( V & a )
9564             {
9565             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9566             }
9567         template <class V>
9568         BOOST_QVM_INLINE_TRIVIAL
9569         typename enable_if_c<
9570             is_vec<V>::value && vec_traits<V>::dim>=4,
9571             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9572         XX0W( V const & a )
9573             {
9574             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9575             }
9576         template <class V>
9577         BOOST_QVM_INLINE_TRIVIAL
9578         typename enable_if_c<
9579             is_vec<V>::value && vec_traits<V>::dim>=4,
9580             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>::type
9581         XX0W( V & a )
9582             {
9583             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9584             }
9585         template <class V>
9586         BOOST_QVM_INLINE_TRIVIAL
9587         typename enable_if_c<
9588             is_vec<V>::value && vec_traits<V>::dim>=4,
9589             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9590         _11WW( V const & a )
9591             {
9592             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9593             }
9594         template <class V>
9595         BOOST_QVM_INLINE_TRIVIAL
9596         typename enable_if_c<
9597             is_vec<V>::value && vec_traits<V>::dim>=4,
9598             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9599         _11WW( V & a )
9600             {
9601             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9602             }
9603         template <class V>
9604         BOOST_QVM_INLINE_TRIVIAL
9605         typename enable_if_c<
9606             is_vec<V>::value && vec_traits<V>::dim>=4,
9607             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9608         _01WW( V const & a )
9609             {
9610             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9611             }
9612         template <class V>
9613         BOOST_QVM_INLINE_TRIVIAL
9614         typename enable_if_c<
9615             is_vec<V>::value && vec_traits<V>::dim>=4,
9616             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9617         _01WW( V & a )
9618             {
9619             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9620             }
9621         template <class V>
9622         BOOST_QVM_INLINE_TRIVIAL
9623         typename enable_if_c<
9624             is_vec<V>::value && vec_traits<V>::dim>=4,
9625             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9626         W1WW( V const & a )
9627             {
9628             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9629             }
9630         template <class V>
9631         BOOST_QVM_INLINE_TRIVIAL
9632         typename enable_if_c<
9633             is_vec<V>::value && vec_traits<V>::dim>=4,
9634             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9635         W1WW( V & a )
9636             {
9637             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9638             }
9639         template <class V>
9640         BOOST_QVM_INLINE_TRIVIAL
9641         typename enable_if_c<
9642             is_vec<V>::value && vec_traits<V>::dim>=4,
9643             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9644         Z1WW( V const & a )
9645             {
9646             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9647             }
9648         template <class V>
9649         BOOST_QVM_INLINE_TRIVIAL
9650         typename enable_if_c<
9651             is_vec<V>::value && vec_traits<V>::dim>=4,
9652             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9653         Z1WW( V & a )
9654             {
9655             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9656             }
9657         template <class V>
9658         BOOST_QVM_INLINE_TRIVIAL
9659         typename enable_if_c<
9660             is_vec<V>::value && vec_traits<V>::dim>=4,
9661             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9662         Y1WW( V const & a )
9663             {
9664             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9665             }
9666         template <class V>
9667         BOOST_QVM_INLINE_TRIVIAL
9668         typename enable_if_c<
9669             is_vec<V>::value && vec_traits<V>::dim>=4,
9670             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9671         Y1WW( V & a )
9672             {
9673             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9674             }
9675         template <class V>
9676         BOOST_QVM_INLINE_TRIVIAL
9677         typename enable_if_c<
9678             is_vec<V>::value && vec_traits<V>::dim>=4,
9679             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9680         X1WW( V const & a )
9681             {
9682             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9683             }
9684         template <class V>
9685         BOOST_QVM_INLINE_TRIVIAL
9686         typename enable_if_c<
9687             is_vec<V>::value && vec_traits<V>::dim>=4,
9688             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9689         X1WW( V & a )
9690             {
9691             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9692             }
9693         template <class V>
9694         BOOST_QVM_INLINE_TRIVIAL
9695         typename enable_if_c<
9696             is_vec<V>::value && vec_traits<V>::dim>=4,
9697             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9698         _10WW( V const & a )
9699             {
9700             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9701             }
9702         template <class V>
9703         BOOST_QVM_INLINE_TRIVIAL
9704         typename enable_if_c<
9705             is_vec<V>::value && vec_traits<V>::dim>=4,
9706             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9707         _10WW( V & a )
9708             {
9709             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9710             }
9711         template <class V>
9712         BOOST_QVM_INLINE_TRIVIAL
9713         typename enable_if_c<
9714             is_vec<V>::value && vec_traits<V>::dim>=4,
9715             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9716         _00WW( V const & a )
9717             {
9718             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9719             }
9720         template <class V>
9721         BOOST_QVM_INLINE_TRIVIAL
9722         typename enable_if_c<
9723             is_vec<V>::value && vec_traits<V>::dim>=4,
9724             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9725         _00WW( V & a )
9726             {
9727             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9728             }
9729         template <class V>
9730         BOOST_QVM_INLINE_TRIVIAL
9731         typename enable_if_c<
9732             is_vec<V>::value && vec_traits<V>::dim>=4,
9733             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9734         W0WW( V const & a )
9735             {
9736             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9737             }
9738         template <class V>
9739         BOOST_QVM_INLINE_TRIVIAL
9740         typename enable_if_c<
9741             is_vec<V>::value && vec_traits<V>::dim>=4,
9742             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9743         W0WW( V & a )
9744             {
9745             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9746             }
9747         template <class V>
9748         BOOST_QVM_INLINE_TRIVIAL
9749         typename enable_if_c<
9750             is_vec<V>::value && vec_traits<V>::dim>=4,
9751             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9752         Z0WW( V const & a )
9753             {
9754             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9755             }
9756         template <class V>
9757         BOOST_QVM_INLINE_TRIVIAL
9758         typename enable_if_c<
9759             is_vec<V>::value && vec_traits<V>::dim>=4,
9760             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9761         Z0WW( V & a )
9762             {
9763             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9764             }
9765         template <class V>
9766         BOOST_QVM_INLINE_TRIVIAL
9767         typename enable_if_c<
9768             is_vec<V>::value && vec_traits<V>::dim>=4,
9769             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9770         Y0WW( V const & a )
9771             {
9772             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9773             }
9774         template <class V>
9775         BOOST_QVM_INLINE_TRIVIAL
9776         typename enable_if_c<
9777             is_vec<V>::value && vec_traits<V>::dim>=4,
9778             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9779         Y0WW( V & a )
9780             {
9781             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9782             }
9783         template <class V>
9784         BOOST_QVM_INLINE_TRIVIAL
9785         typename enable_if_c<
9786             is_vec<V>::value && vec_traits<V>::dim>=4,
9787             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9788         X0WW( V const & a )
9789             {
9790             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9791             }
9792         template <class V>
9793         BOOST_QVM_INLINE_TRIVIAL
9794         typename enable_if_c<
9795             is_vec<V>::value && vec_traits<V>::dim>=4,
9796             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9797         X0WW( V & a )
9798             {
9799             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9800             }
9801         template <class V>
9802         BOOST_QVM_INLINE_TRIVIAL
9803         typename enable_if_c<
9804             is_vec<V>::value && vec_traits<V>::dim>=4,
9805             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9806         _1WWW( V const & a )
9807             {
9808             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9809             }
9810         template <class V>
9811         BOOST_QVM_INLINE_TRIVIAL
9812         typename enable_if_c<
9813             is_vec<V>::value && vec_traits<V>::dim>=4,
9814             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9815         _1WWW( V & a )
9816             {
9817             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9818             }
9819         template <class V>
9820         BOOST_QVM_INLINE_TRIVIAL
9821         typename enable_if_c<
9822             is_vec<V>::value && vec_traits<V>::dim>=4,
9823             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9824         _0WWW( V const & a )
9825             {
9826             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9827             }
9828         template <class V>
9829         BOOST_QVM_INLINE_TRIVIAL
9830         typename enable_if_c<
9831             is_vec<V>::value && vec_traits<V>::dim>=4,
9832             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9833         _0WWW( V & a )
9834             {
9835             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9836             }
9837         template <class V>
9838         BOOST_QVM_INLINE_TRIVIAL
9839         typename enable_if_c<
9840             is_vec<V>::value && vec_traits<V>::dim>=4,
9841             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9842         WWWW( V const & a )
9843             {
9844             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9845             }
9846         template <class V>
9847         BOOST_QVM_INLINE_TRIVIAL
9848         typename enable_if_c<
9849             is_vec<V>::value && vec_traits<V>::dim>=4,
9850             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9851         WWWW( V & a )
9852             {
9853             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9854             }
9855         template <class V>
9856         BOOST_QVM_INLINE_TRIVIAL
9857         typename enable_if_c<
9858             is_vec<V>::value && vec_traits<V>::dim>=4,
9859             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9860         ZWWW( V const & a )
9861             {
9862             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9863             }
9864         template <class V>
9865         BOOST_QVM_INLINE_TRIVIAL
9866         typename enable_if_c<
9867             is_vec<V>::value && vec_traits<V>::dim>=4,
9868             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9869         ZWWW( V & a )
9870             {
9871             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9872             }
9873         template <class V>
9874         BOOST_QVM_INLINE_TRIVIAL
9875         typename enable_if_c<
9876             is_vec<V>::value && vec_traits<V>::dim>=4,
9877             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9878         YWWW( V const & a )
9879             {
9880             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9881             }
9882         template <class V>
9883         BOOST_QVM_INLINE_TRIVIAL
9884         typename enable_if_c<
9885             is_vec<V>::value && vec_traits<V>::dim>=4,
9886             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9887         YWWW( V & a )
9888             {
9889             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9890             }
9891         template <class V>
9892         BOOST_QVM_INLINE_TRIVIAL
9893         typename enable_if_c<
9894             is_vec<V>::value && vec_traits<V>::dim>=4,
9895             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9896         XWWW( V const & a )
9897             {
9898             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9899             }
9900         template <class V>
9901         BOOST_QVM_INLINE_TRIVIAL
9902         typename enable_if_c<
9903             is_vec<V>::value && vec_traits<V>::dim>=4,
9904             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9905         XWWW( V & a )
9906             {
9907             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9908             }
9909         template <class V>
9910         BOOST_QVM_INLINE_TRIVIAL
9911         typename enable_if_c<
9912             is_vec<V>::value && vec_traits<V>::dim>=4,
9913             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9914         _1ZWW( V const & a )
9915             {
9916             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9917             }
9918         template <class V>
9919         BOOST_QVM_INLINE_TRIVIAL
9920         typename enable_if_c<
9921             is_vec<V>::value && vec_traits<V>::dim>=4,
9922             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9923         _1ZWW( V & a )
9924             {
9925             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9926             }
9927         template <class V>
9928         BOOST_QVM_INLINE_TRIVIAL
9929         typename enable_if_c<
9930             is_vec<V>::value && vec_traits<V>::dim>=4,
9931             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9932         _0ZWW( V const & a )
9933             {
9934             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9935             }
9936         template <class V>
9937         BOOST_QVM_INLINE_TRIVIAL
9938         typename enable_if_c<
9939             is_vec<V>::value && vec_traits<V>::dim>=4,
9940             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9941         _0ZWW( V & a )
9942             {
9943             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9944             }
9945         template <class V>
9946         BOOST_QVM_INLINE_TRIVIAL
9947         typename enable_if_c<
9948             is_vec<V>::value && vec_traits<V>::dim>=4,
9949             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9950         WZWW( V const & a )
9951             {
9952             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9953             }
9954         template <class V>
9955         BOOST_QVM_INLINE_TRIVIAL
9956         typename enable_if_c<
9957             is_vec<V>::value && vec_traits<V>::dim>=4,
9958             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9959         WZWW( V & a )
9960             {
9961             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9962             }
9963         template <class V>
9964         BOOST_QVM_INLINE_TRIVIAL
9965         typename enable_if_c<
9966             is_vec<V>::value && vec_traits<V>::dim>=4,
9967             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9968         ZZWW( V const & a )
9969             {
9970             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9971             }
9972         template <class V>
9973         BOOST_QVM_INLINE_TRIVIAL
9974         typename enable_if_c<
9975             is_vec<V>::value && vec_traits<V>::dim>=4,
9976             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9977         ZZWW( V & a )
9978             {
9979             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9980             }
9981         template <class V>
9982         BOOST_QVM_INLINE_TRIVIAL
9983         typename enable_if_c<
9984             is_vec<V>::value && vec_traits<V>::dim>=4,
9985             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
9986         YZWW( V const & a )
9987             {
9988             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
9989             }
9990         template <class V>
9991         BOOST_QVM_INLINE_TRIVIAL
9992         typename enable_if_c<
9993             is_vec<V>::value && vec_traits<V>::dim>=4,
9994             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
9995         YZWW( V & a )
9996             {
9997             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
9998             }
9999         template <class V>
10000         BOOST_QVM_INLINE_TRIVIAL
10001         typename enable_if_c<
10002             is_vec<V>::value && vec_traits<V>::dim>=4,
10003             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10004         XZWW( V const & a )
10005             {
10006             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10007             }
10008         template <class V>
10009         BOOST_QVM_INLINE_TRIVIAL
10010         typename enable_if_c<
10011             is_vec<V>::value && vec_traits<V>::dim>=4,
10012             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10013         XZWW( V & a )
10014             {
10015             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10016             }
10017         template <class V>
10018         BOOST_QVM_INLINE_TRIVIAL
10019         typename enable_if_c<
10020             is_vec<V>::value && vec_traits<V>::dim>=4,
10021             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10022         _1YWW( V const & a )
10023             {
10024             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10025             }
10026         template <class V>
10027         BOOST_QVM_INLINE_TRIVIAL
10028         typename enable_if_c<
10029             is_vec<V>::value && vec_traits<V>::dim>=4,
10030             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10031         _1YWW( V & a )
10032             {
10033             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10034             }
10035         template <class V>
10036         BOOST_QVM_INLINE_TRIVIAL
10037         typename enable_if_c<
10038             is_vec<V>::value && vec_traits<V>::dim>=4,
10039             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10040         _0YWW( V const & a )
10041             {
10042             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10043             }
10044         template <class V>
10045         BOOST_QVM_INLINE_TRIVIAL
10046         typename enable_if_c<
10047             is_vec<V>::value && vec_traits<V>::dim>=4,
10048             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10049         _0YWW( V & a )
10050             {
10051             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10052             }
10053         template <class V>
10054         BOOST_QVM_INLINE_TRIVIAL
10055         typename enable_if_c<
10056             is_vec<V>::value && vec_traits<V>::dim>=4,
10057             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10058         WYWW( V const & a )
10059             {
10060             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10061             }
10062         template <class V>
10063         BOOST_QVM_INLINE_TRIVIAL
10064         typename enable_if_c<
10065             is_vec<V>::value && vec_traits<V>::dim>=4,
10066             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10067         WYWW( V & a )
10068             {
10069             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10070             }
10071         template <class V>
10072         BOOST_QVM_INLINE_TRIVIAL
10073         typename enable_if_c<
10074             is_vec<V>::value && vec_traits<V>::dim>=4,
10075             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10076         ZYWW( V const & a )
10077             {
10078             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10079             }
10080         template <class V>
10081         BOOST_QVM_INLINE_TRIVIAL
10082         typename enable_if_c<
10083             is_vec<V>::value && vec_traits<V>::dim>=4,
10084             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10085         ZYWW( V & a )
10086             {
10087             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10088             }
10089         template <class V>
10090         BOOST_QVM_INLINE_TRIVIAL
10091         typename enable_if_c<
10092             is_vec<V>::value && vec_traits<V>::dim>=4,
10093             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10094         YYWW( V const & a )
10095             {
10096             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10097             }
10098         template <class V>
10099         BOOST_QVM_INLINE_TRIVIAL
10100         typename enable_if_c<
10101             is_vec<V>::value && vec_traits<V>::dim>=4,
10102             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10103         YYWW( V & a )
10104             {
10105             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10106             }
10107         template <class V>
10108         BOOST_QVM_INLINE_TRIVIAL
10109         typename enable_if_c<
10110             is_vec<V>::value && vec_traits<V>::dim>=4,
10111             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10112         XYWW( V const & a )
10113             {
10114             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10115             }
10116         template <class V>
10117         BOOST_QVM_INLINE_TRIVIAL
10118         typename enable_if_c<
10119             is_vec<V>::value && vec_traits<V>::dim>=4,
10120             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10121         XYWW( V & a )
10122             {
10123             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10124             }
10125         template <class V>
10126         BOOST_QVM_INLINE_TRIVIAL
10127         typename enable_if_c<
10128             is_vec<V>::value && vec_traits<V>::dim>=4,
10129             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10130         _1XWW( V const & a )
10131             {
10132             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10133             }
10134         template <class V>
10135         BOOST_QVM_INLINE_TRIVIAL
10136         typename enable_if_c<
10137             is_vec<V>::value && vec_traits<V>::dim>=4,
10138             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10139         _1XWW( V & a )
10140             {
10141             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10142             }
10143         template <class V>
10144         BOOST_QVM_INLINE_TRIVIAL
10145         typename enable_if_c<
10146             is_vec<V>::value && vec_traits<V>::dim>=4,
10147             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10148         _0XWW( V const & a )
10149             {
10150             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10151             }
10152         template <class V>
10153         BOOST_QVM_INLINE_TRIVIAL
10154         typename enable_if_c<
10155             is_vec<V>::value && vec_traits<V>::dim>=4,
10156             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10157         _0XWW( V & a )
10158             {
10159             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10160             }
10161         template <class V>
10162         BOOST_QVM_INLINE_TRIVIAL
10163         typename enable_if_c<
10164             is_vec<V>::value && vec_traits<V>::dim>=4,
10165             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10166         WXWW( V const & a )
10167             {
10168             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10169             }
10170         template <class V>
10171         BOOST_QVM_INLINE_TRIVIAL
10172         typename enable_if_c<
10173             is_vec<V>::value && vec_traits<V>::dim>=4,
10174             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10175         WXWW( V & a )
10176             {
10177             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10178             }
10179         template <class V>
10180         BOOST_QVM_INLINE_TRIVIAL
10181         typename enable_if_c<
10182             is_vec<V>::value && vec_traits<V>::dim>=4,
10183             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10184         ZXWW( V const & a )
10185             {
10186             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10187             }
10188         template <class V>
10189         BOOST_QVM_INLINE_TRIVIAL
10190         typename enable_if_c<
10191             is_vec<V>::value && vec_traits<V>::dim>=4,
10192             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10193         ZXWW( V & a )
10194             {
10195             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10196             }
10197         template <class V>
10198         BOOST_QVM_INLINE_TRIVIAL
10199         typename enable_if_c<
10200             is_vec<V>::value && vec_traits<V>::dim>=4,
10201             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10202         YXWW( V const & a )
10203             {
10204             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10205             }
10206         template <class V>
10207         BOOST_QVM_INLINE_TRIVIAL
10208         typename enable_if_c<
10209             is_vec<V>::value && vec_traits<V>::dim>=4,
10210             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10211         YXWW( V & a )
10212             {
10213             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10214             }
10215         template <class V>
10216         BOOST_QVM_INLINE_TRIVIAL
10217         typename enable_if_c<
10218             is_vec<V>::value && vec_traits<V>::dim>=4,
10219             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10220         XXWW( V const & a )
10221             {
10222             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10223             }
10224         template <class V>
10225         BOOST_QVM_INLINE_TRIVIAL
10226         typename enable_if_c<
10227             is_vec<V>::value && vec_traits<V>::dim>=4,
10228             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>::type
10229         XXWW( V & a )
10230             {
10231             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10232             }
10233         template <class V>
10234         BOOST_QVM_INLINE_TRIVIAL
10235         typename enable_if_c<
10236             is_vec<V>::value && vec_traits<V>::dim>=4,
10237             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10238         _11ZW( V const & a )
10239             {
10240             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10241             }
10242         template <class V>
10243         BOOST_QVM_INLINE_TRIVIAL
10244         typename enable_if_c<
10245             is_vec<V>::value && vec_traits<V>::dim>=4,
10246             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10247         _11ZW( V & a )
10248             {
10249             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10250             }
10251         template <class V>
10252         BOOST_QVM_INLINE_TRIVIAL
10253         typename enable_if_c<
10254             is_vec<V>::value && vec_traits<V>::dim>=4,
10255             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10256         _01ZW( V const & a )
10257             {
10258             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10259             }
10260         template <class V>
10261         BOOST_QVM_INLINE_TRIVIAL
10262         typename enable_if_c<
10263             is_vec<V>::value && vec_traits<V>::dim>=4,
10264             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10265         _01ZW( V & a )
10266             {
10267             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10268             }
10269         template <class V>
10270         BOOST_QVM_INLINE_TRIVIAL
10271         typename enable_if_c<
10272             is_vec<V>::value && vec_traits<V>::dim>=4,
10273             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10274         W1ZW( V const & a )
10275             {
10276             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10277             }
10278         template <class V>
10279         BOOST_QVM_INLINE_TRIVIAL
10280         typename enable_if_c<
10281             is_vec<V>::value && vec_traits<V>::dim>=4,
10282             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10283         W1ZW( V & a )
10284             {
10285             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10286             }
10287         template <class V>
10288         BOOST_QVM_INLINE_TRIVIAL
10289         typename enable_if_c<
10290             is_vec<V>::value && vec_traits<V>::dim>=4,
10291             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10292         Z1ZW( V const & a )
10293             {
10294             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10295             }
10296         template <class V>
10297         BOOST_QVM_INLINE_TRIVIAL
10298         typename enable_if_c<
10299             is_vec<V>::value && vec_traits<V>::dim>=4,
10300             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10301         Z1ZW( V & a )
10302             {
10303             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10304             }
10305         template <class V>
10306         BOOST_QVM_INLINE_TRIVIAL
10307         typename enable_if_c<
10308             is_vec<V>::value && vec_traits<V>::dim>=4,
10309             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10310         Y1ZW( V const & a )
10311             {
10312             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10313             }
10314         template <class V>
10315         BOOST_QVM_INLINE_TRIVIAL
10316         typename enable_if_c<
10317             is_vec<V>::value && vec_traits<V>::dim>=4,
10318             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10319         Y1ZW( V & a )
10320             {
10321             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10322             }
10323         template <class V>
10324         BOOST_QVM_INLINE_TRIVIAL
10325         typename enable_if_c<
10326             is_vec<V>::value && vec_traits<V>::dim>=4,
10327             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10328         X1ZW( V const & a )
10329             {
10330             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10331             }
10332         template <class V>
10333         BOOST_QVM_INLINE_TRIVIAL
10334         typename enable_if_c<
10335             is_vec<V>::value && vec_traits<V>::dim>=4,
10336             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10337         X1ZW( V & a )
10338             {
10339             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10340             }
10341         template <class V>
10342         BOOST_QVM_INLINE_TRIVIAL
10343         typename enable_if_c<
10344             is_vec<V>::value && vec_traits<V>::dim>=4,
10345             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10346         _10ZW( V const & a )
10347             {
10348             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10349             }
10350         template <class V>
10351         BOOST_QVM_INLINE_TRIVIAL
10352         typename enable_if_c<
10353             is_vec<V>::value && vec_traits<V>::dim>=4,
10354             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10355         _10ZW( V & a )
10356             {
10357             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10358             }
10359         template <class V>
10360         BOOST_QVM_INLINE_TRIVIAL
10361         typename enable_if_c<
10362             is_vec<V>::value && vec_traits<V>::dim>=4,
10363             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10364         _00ZW( V const & a )
10365             {
10366             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10367             }
10368         template <class V>
10369         BOOST_QVM_INLINE_TRIVIAL
10370         typename enable_if_c<
10371             is_vec<V>::value && vec_traits<V>::dim>=4,
10372             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10373         _00ZW( V & a )
10374             {
10375             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10376             }
10377         template <class V>
10378         BOOST_QVM_INLINE_TRIVIAL
10379         typename enable_if_c<
10380             is_vec<V>::value && vec_traits<V>::dim>=4,
10381             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10382         W0ZW( V const & a )
10383             {
10384             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10385             }
10386         template <class V>
10387         BOOST_QVM_INLINE_TRIVIAL
10388         typename enable_if_c<
10389             is_vec<V>::value && vec_traits<V>::dim>=4,
10390             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10391         W0ZW( V & a )
10392             {
10393             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10394             }
10395         template <class V>
10396         BOOST_QVM_INLINE_TRIVIAL
10397         typename enable_if_c<
10398             is_vec<V>::value && vec_traits<V>::dim>=4,
10399             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10400         Z0ZW( V const & a )
10401             {
10402             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10403             }
10404         template <class V>
10405         BOOST_QVM_INLINE_TRIVIAL
10406         typename enable_if_c<
10407             is_vec<V>::value && vec_traits<V>::dim>=4,
10408             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10409         Z0ZW( V & a )
10410             {
10411             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10412             }
10413         template <class V>
10414         BOOST_QVM_INLINE_TRIVIAL
10415         typename enable_if_c<
10416             is_vec<V>::value && vec_traits<V>::dim>=4,
10417             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10418         Y0ZW( V const & a )
10419             {
10420             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10421             }
10422         template <class V>
10423         BOOST_QVM_INLINE_TRIVIAL
10424         typename enable_if_c<
10425             is_vec<V>::value && vec_traits<V>::dim>=4,
10426             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10427         Y0ZW( V & a )
10428             {
10429             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10430             }
10431         template <class V>
10432         BOOST_QVM_INLINE_TRIVIAL
10433         typename enable_if_c<
10434             is_vec<V>::value && vec_traits<V>::dim>=4,
10435             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10436         X0ZW( V const & a )
10437             {
10438             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10439             }
10440         template <class V>
10441         BOOST_QVM_INLINE_TRIVIAL
10442         typename enable_if_c<
10443             is_vec<V>::value && vec_traits<V>::dim>=4,
10444             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10445         X0ZW( V & a )
10446             {
10447             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10448             }
10449         template <class V>
10450         BOOST_QVM_INLINE_TRIVIAL
10451         typename enable_if_c<
10452             is_vec<V>::value && vec_traits<V>::dim>=4,
10453             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10454         _1WZW( V const & a )
10455             {
10456             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10457             }
10458         template <class V>
10459         BOOST_QVM_INLINE_TRIVIAL
10460         typename enable_if_c<
10461             is_vec<V>::value && vec_traits<V>::dim>=4,
10462             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10463         _1WZW( V & a )
10464             {
10465             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10466             }
10467         template <class V>
10468         BOOST_QVM_INLINE_TRIVIAL
10469         typename enable_if_c<
10470             is_vec<V>::value && vec_traits<V>::dim>=4,
10471             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10472         _0WZW( V const & a )
10473             {
10474             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10475             }
10476         template <class V>
10477         BOOST_QVM_INLINE_TRIVIAL
10478         typename enable_if_c<
10479             is_vec<V>::value && vec_traits<V>::dim>=4,
10480             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10481         _0WZW( V & a )
10482             {
10483             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10484             }
10485         template <class V>
10486         BOOST_QVM_INLINE_TRIVIAL
10487         typename enable_if_c<
10488             is_vec<V>::value && vec_traits<V>::dim>=4,
10489             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10490         WWZW( V const & a )
10491             {
10492             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10493             }
10494         template <class V>
10495         BOOST_QVM_INLINE_TRIVIAL
10496         typename enable_if_c<
10497             is_vec<V>::value && vec_traits<V>::dim>=4,
10498             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10499         WWZW( V & a )
10500             {
10501             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10502             }
10503         template <class V>
10504         BOOST_QVM_INLINE_TRIVIAL
10505         typename enable_if_c<
10506             is_vec<V>::value && vec_traits<V>::dim>=4,
10507             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10508         ZWZW( V const & a )
10509             {
10510             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10511             }
10512         template <class V>
10513         BOOST_QVM_INLINE_TRIVIAL
10514         typename enable_if_c<
10515             is_vec<V>::value && vec_traits<V>::dim>=4,
10516             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10517         ZWZW( V & a )
10518             {
10519             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10520             }
10521         template <class V>
10522         BOOST_QVM_INLINE_TRIVIAL
10523         typename enable_if_c<
10524             is_vec<V>::value && vec_traits<V>::dim>=4,
10525             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10526         YWZW( V const & a )
10527             {
10528             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10529             }
10530         template <class V>
10531         BOOST_QVM_INLINE_TRIVIAL
10532         typename enable_if_c<
10533             is_vec<V>::value && vec_traits<V>::dim>=4,
10534             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10535         YWZW( V & a )
10536             {
10537             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10538             }
10539         template <class V>
10540         BOOST_QVM_INLINE_TRIVIAL
10541         typename enable_if_c<
10542             is_vec<V>::value && vec_traits<V>::dim>=4,
10543             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10544         XWZW( V const & a )
10545             {
10546             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10547             }
10548         template <class V>
10549         BOOST_QVM_INLINE_TRIVIAL
10550         typename enable_if_c<
10551             is_vec<V>::value && vec_traits<V>::dim>=4,
10552             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10553         XWZW( V & a )
10554             {
10555             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10556             }
10557         template <class V>
10558         BOOST_QVM_INLINE_TRIVIAL
10559         typename enable_if_c<
10560             is_vec<V>::value && vec_traits<V>::dim>=4,
10561             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10562         _1ZZW( V const & a )
10563             {
10564             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10565             }
10566         template <class V>
10567         BOOST_QVM_INLINE_TRIVIAL
10568         typename enable_if_c<
10569             is_vec<V>::value && vec_traits<V>::dim>=4,
10570             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10571         _1ZZW( V & a )
10572             {
10573             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10574             }
10575         template <class V>
10576         BOOST_QVM_INLINE_TRIVIAL
10577         typename enable_if_c<
10578             is_vec<V>::value && vec_traits<V>::dim>=4,
10579             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10580         _0ZZW( V const & a )
10581             {
10582             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10583             }
10584         template <class V>
10585         BOOST_QVM_INLINE_TRIVIAL
10586         typename enable_if_c<
10587             is_vec<V>::value && vec_traits<V>::dim>=4,
10588             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10589         _0ZZW( V & a )
10590             {
10591             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10592             }
10593         template <class V>
10594         BOOST_QVM_INLINE_TRIVIAL
10595         typename enable_if_c<
10596             is_vec<V>::value && vec_traits<V>::dim>=4,
10597             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10598         WZZW( V const & a )
10599             {
10600             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10601             }
10602         template <class V>
10603         BOOST_QVM_INLINE_TRIVIAL
10604         typename enable_if_c<
10605             is_vec<V>::value && vec_traits<V>::dim>=4,
10606             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10607         WZZW( V & a )
10608             {
10609             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10610             }
10611         template <class V>
10612         BOOST_QVM_INLINE_TRIVIAL
10613         typename enable_if_c<
10614             is_vec<V>::value && vec_traits<V>::dim>=4,
10615             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10616         ZZZW( V const & a )
10617             {
10618             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10619             }
10620         template <class V>
10621         BOOST_QVM_INLINE_TRIVIAL
10622         typename enable_if_c<
10623             is_vec<V>::value && vec_traits<V>::dim>=4,
10624             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10625         ZZZW( V & a )
10626             {
10627             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10628             }
10629         template <class V>
10630         BOOST_QVM_INLINE_TRIVIAL
10631         typename enable_if_c<
10632             is_vec<V>::value && vec_traits<V>::dim>=4,
10633             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10634         YZZW( V const & a )
10635             {
10636             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10637             }
10638         template <class V>
10639         BOOST_QVM_INLINE_TRIVIAL
10640         typename enable_if_c<
10641             is_vec<V>::value && vec_traits<V>::dim>=4,
10642             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10643         YZZW( V & a )
10644             {
10645             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10646             }
10647         template <class V>
10648         BOOST_QVM_INLINE_TRIVIAL
10649         typename enable_if_c<
10650             is_vec<V>::value && vec_traits<V>::dim>=4,
10651             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10652         XZZW( V const & a )
10653             {
10654             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10655             }
10656         template <class V>
10657         BOOST_QVM_INLINE_TRIVIAL
10658         typename enable_if_c<
10659             is_vec<V>::value && vec_traits<V>::dim>=4,
10660             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10661         XZZW( V & a )
10662             {
10663             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10664             }
10665         template <class V>
10666         BOOST_QVM_INLINE_TRIVIAL
10667         typename enable_if_c<
10668             is_vec<V>::value && vec_traits<V>::dim>=4,
10669             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10670         _1YZW( V const & a )
10671             {
10672             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10673             }
10674         template <class V>
10675         BOOST_QVM_INLINE_TRIVIAL
10676         typename enable_if_c<
10677             is_vec<V>::value && vec_traits<V>::dim>=4,
10678             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10679         _1YZW( V & a )
10680             {
10681             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10682             }
10683         template <class V>
10684         BOOST_QVM_INLINE_TRIVIAL
10685         typename enable_if_c<
10686             is_vec<V>::value && vec_traits<V>::dim>=4,
10687             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10688         _0YZW( V const & a )
10689             {
10690             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10691             }
10692         template <class V>
10693         BOOST_QVM_INLINE_TRIVIAL
10694         typename enable_if_c<
10695             is_vec<V>::value && vec_traits<V>::dim>=4,
10696             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10697         _0YZW( V & a )
10698             {
10699             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10700             }
10701         template <class V>
10702         BOOST_QVM_INLINE_TRIVIAL
10703         typename enable_if_c<
10704             is_vec<V>::value && vec_traits<V>::dim>=4,
10705             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10706         WYZW( V const & a )
10707             {
10708             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10709             }
10710         template <class V>
10711         BOOST_QVM_INLINE_TRIVIAL
10712         typename enable_if_c<
10713             is_vec<V>::value && vec_traits<V>::dim>=4,
10714             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10715         WYZW( V & a )
10716             {
10717             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10718             }
10719         template <class V>
10720         BOOST_QVM_INLINE_TRIVIAL
10721         typename enable_if_c<
10722             is_vec<V>::value && vec_traits<V>::dim>=4,
10723             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10724         ZYZW( V const & a )
10725             {
10726             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10727             }
10728         template <class V>
10729         BOOST_QVM_INLINE_TRIVIAL
10730         typename enable_if_c<
10731             is_vec<V>::value && vec_traits<V>::dim>=4,
10732             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10733         ZYZW( V & a )
10734             {
10735             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10736             }
10737         template <class V>
10738         BOOST_QVM_INLINE_TRIVIAL
10739         typename enable_if_c<
10740             is_vec<V>::value && vec_traits<V>::dim>=4,
10741             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10742         YYZW( V const & a )
10743             {
10744             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10745             }
10746         template <class V>
10747         BOOST_QVM_INLINE_TRIVIAL
10748         typename enable_if_c<
10749             is_vec<V>::value && vec_traits<V>::dim>=4,
10750             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10751         YYZW( V & a )
10752             {
10753             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10754             }
10755         template <class V>
10756         BOOST_QVM_INLINE_TRIVIAL
10757         typename enable_if_c<
10758             is_vec<V>::value && vec_traits<V>::dim>=4,
10759             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10760         XYZW( V const & a )
10761             {
10762             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10763             }
10764         template <class V>
10765         BOOST_QVM_INLINE_TRIVIAL
10766         typename enable_if_c<
10767             is_vec<V>::value && vec_traits<V>::dim>=4,
10768             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10769         XYZW( V & a )
10770             {
10771             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10772             }
10773         template <class V>
10774         BOOST_QVM_INLINE_TRIVIAL
10775         typename enable_if_c<
10776             is_vec<V>::value && vec_traits<V>::dim>=4,
10777             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10778         _1XZW( V const & a )
10779             {
10780             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10781             }
10782         template <class V>
10783         BOOST_QVM_INLINE_TRIVIAL
10784         typename enable_if_c<
10785             is_vec<V>::value && vec_traits<V>::dim>=4,
10786             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10787         _1XZW( V & a )
10788             {
10789             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10790             }
10791         template <class V>
10792         BOOST_QVM_INLINE_TRIVIAL
10793         typename enable_if_c<
10794             is_vec<V>::value && vec_traits<V>::dim>=4,
10795             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10796         _0XZW( V const & a )
10797             {
10798             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10799             }
10800         template <class V>
10801         BOOST_QVM_INLINE_TRIVIAL
10802         typename enable_if_c<
10803             is_vec<V>::value && vec_traits<V>::dim>=4,
10804             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10805         _0XZW( V & a )
10806             {
10807             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10808             }
10809         template <class V>
10810         BOOST_QVM_INLINE_TRIVIAL
10811         typename enable_if_c<
10812             is_vec<V>::value && vec_traits<V>::dim>=4,
10813             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10814         WXZW( V const & a )
10815             {
10816             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10817             }
10818         template <class V>
10819         BOOST_QVM_INLINE_TRIVIAL
10820         typename enable_if_c<
10821             is_vec<V>::value && vec_traits<V>::dim>=4,
10822             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10823         WXZW( V & a )
10824             {
10825             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10826             }
10827         template <class V>
10828         BOOST_QVM_INLINE_TRIVIAL
10829         typename enable_if_c<
10830             is_vec<V>::value && vec_traits<V>::dim>=4,
10831             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10832         ZXZW( V const & a )
10833             {
10834             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10835             }
10836         template <class V>
10837         BOOST_QVM_INLINE_TRIVIAL
10838         typename enable_if_c<
10839             is_vec<V>::value && vec_traits<V>::dim>=4,
10840             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10841         ZXZW( V & a )
10842             {
10843             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10844             }
10845         template <class V>
10846         BOOST_QVM_INLINE_TRIVIAL
10847         typename enable_if_c<
10848             is_vec<V>::value && vec_traits<V>::dim>=4,
10849             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10850         YXZW( V const & a )
10851             {
10852             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10853             }
10854         template <class V>
10855         BOOST_QVM_INLINE_TRIVIAL
10856         typename enable_if_c<
10857             is_vec<V>::value && vec_traits<V>::dim>=4,
10858             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10859         YXZW( V & a )
10860             {
10861             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10862             }
10863         template <class V>
10864         BOOST_QVM_INLINE_TRIVIAL
10865         typename enable_if_c<
10866             is_vec<V>::value && vec_traits<V>::dim>=4,
10867             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10868         XXZW( V const & a )
10869             {
10870             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10871             }
10872         template <class V>
10873         BOOST_QVM_INLINE_TRIVIAL
10874         typename enable_if_c<
10875             is_vec<V>::value && vec_traits<V>::dim>=4,
10876             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>::type
10877         XXZW( V & a )
10878             {
10879             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10880             }
10881         template <class V>
10882         BOOST_QVM_INLINE_TRIVIAL
10883         typename enable_if_c<
10884             is_vec<V>::value && vec_traits<V>::dim>=4,
10885             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10886         _11YW( V const & a )
10887             {
10888             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10889             }
10890         template <class V>
10891         BOOST_QVM_INLINE_TRIVIAL
10892         typename enable_if_c<
10893             is_vec<V>::value && vec_traits<V>::dim>=4,
10894             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
10895         _11YW( V & a )
10896             {
10897             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10898             }
10899         template <class V>
10900         BOOST_QVM_INLINE_TRIVIAL
10901         typename enable_if_c<
10902             is_vec<V>::value && vec_traits<V>::dim>=4,
10903             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10904         _01YW( V const & a )
10905             {
10906             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10907             }
10908         template <class V>
10909         BOOST_QVM_INLINE_TRIVIAL
10910         typename enable_if_c<
10911             is_vec<V>::value && vec_traits<V>::dim>=4,
10912             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
10913         _01YW( V & a )
10914             {
10915             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10916             }
10917         template <class V>
10918         BOOST_QVM_INLINE_TRIVIAL
10919         typename enable_if_c<
10920             is_vec<V>::value && vec_traits<V>::dim>=4,
10921             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10922         W1YW( V const & a )
10923             {
10924             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10925             }
10926         template <class V>
10927         BOOST_QVM_INLINE_TRIVIAL
10928         typename enable_if_c<
10929             is_vec<V>::value && vec_traits<V>::dim>=4,
10930             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
10931         W1YW( V & a )
10932             {
10933             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10934             }
10935         template <class V>
10936         BOOST_QVM_INLINE_TRIVIAL
10937         typename enable_if_c<
10938             is_vec<V>::value && vec_traits<V>::dim>=4,
10939             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10940         Z1YW( V const & a )
10941             {
10942             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10943             }
10944         template <class V>
10945         BOOST_QVM_INLINE_TRIVIAL
10946         typename enable_if_c<
10947             is_vec<V>::value && vec_traits<V>::dim>=4,
10948             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
10949         Z1YW( V & a )
10950             {
10951             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10952             }
10953         template <class V>
10954         BOOST_QVM_INLINE_TRIVIAL
10955         typename enable_if_c<
10956             is_vec<V>::value && vec_traits<V>::dim>=4,
10957             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10958         Y1YW( V const & a )
10959             {
10960             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10961             }
10962         template <class V>
10963         BOOST_QVM_INLINE_TRIVIAL
10964         typename enable_if_c<
10965             is_vec<V>::value && vec_traits<V>::dim>=4,
10966             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
10967         Y1YW( V & a )
10968             {
10969             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10970             }
10971         template <class V>
10972         BOOST_QVM_INLINE_TRIVIAL
10973         typename enable_if_c<
10974             is_vec<V>::value && vec_traits<V>::dim>=4,
10975             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10976         X1YW( V const & a )
10977             {
10978             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10979             }
10980         template <class V>
10981         BOOST_QVM_INLINE_TRIVIAL
10982         typename enable_if_c<
10983             is_vec<V>::value && vec_traits<V>::dim>=4,
10984             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
10985         X1YW( V & a )
10986             {
10987             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
10988             }
10989         template <class V>
10990         BOOST_QVM_INLINE_TRIVIAL
10991         typename enable_if_c<
10992             is_vec<V>::value && vec_traits<V>::dim>=4,
10993             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
10994         _10YW( V const & a )
10995             {
10996             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
10997             }
10998         template <class V>
10999         BOOST_QVM_INLINE_TRIVIAL
11000         typename enable_if_c<
11001             is_vec<V>::value && vec_traits<V>::dim>=4,
11002             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11003         _10YW( V & a )
11004             {
11005             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11006             }
11007         template <class V>
11008         BOOST_QVM_INLINE_TRIVIAL
11009         typename enable_if_c<
11010             is_vec<V>::value && vec_traits<V>::dim>=4,
11011             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11012         _00YW( V const & a )
11013             {
11014             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11015             }
11016         template <class V>
11017         BOOST_QVM_INLINE_TRIVIAL
11018         typename enable_if_c<
11019             is_vec<V>::value && vec_traits<V>::dim>=4,
11020             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11021         _00YW( V & a )
11022             {
11023             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11024             }
11025         template <class V>
11026         BOOST_QVM_INLINE_TRIVIAL
11027         typename enable_if_c<
11028             is_vec<V>::value && vec_traits<V>::dim>=4,
11029             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11030         W0YW( V const & a )
11031             {
11032             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11033             }
11034         template <class V>
11035         BOOST_QVM_INLINE_TRIVIAL
11036         typename enable_if_c<
11037             is_vec<V>::value && vec_traits<V>::dim>=4,
11038             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11039         W0YW( V & a )
11040             {
11041             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11042             }
11043         template <class V>
11044         BOOST_QVM_INLINE_TRIVIAL
11045         typename enable_if_c<
11046             is_vec<V>::value && vec_traits<V>::dim>=4,
11047             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11048         Z0YW( V const & a )
11049             {
11050             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11051             }
11052         template <class V>
11053         BOOST_QVM_INLINE_TRIVIAL
11054         typename enable_if_c<
11055             is_vec<V>::value && vec_traits<V>::dim>=4,
11056             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11057         Z0YW( V & a )
11058             {
11059             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11060             }
11061         template <class V>
11062         BOOST_QVM_INLINE_TRIVIAL
11063         typename enable_if_c<
11064             is_vec<V>::value && vec_traits<V>::dim>=4,
11065             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11066         Y0YW( V const & a )
11067             {
11068             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11069             }
11070         template <class V>
11071         BOOST_QVM_INLINE_TRIVIAL
11072         typename enable_if_c<
11073             is_vec<V>::value && vec_traits<V>::dim>=4,
11074             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11075         Y0YW( V & a )
11076             {
11077             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11078             }
11079         template <class V>
11080         BOOST_QVM_INLINE_TRIVIAL
11081         typename enable_if_c<
11082             is_vec<V>::value && vec_traits<V>::dim>=4,
11083             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11084         X0YW( V const & a )
11085             {
11086             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11087             }
11088         template <class V>
11089         BOOST_QVM_INLINE_TRIVIAL
11090         typename enable_if_c<
11091             is_vec<V>::value && vec_traits<V>::dim>=4,
11092             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11093         X0YW( V & a )
11094             {
11095             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11096             }
11097         template <class V>
11098         BOOST_QVM_INLINE_TRIVIAL
11099         typename enable_if_c<
11100             is_vec<V>::value && vec_traits<V>::dim>=4,
11101             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11102         _1WYW( V const & a )
11103             {
11104             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11105             }
11106         template <class V>
11107         BOOST_QVM_INLINE_TRIVIAL
11108         typename enable_if_c<
11109             is_vec<V>::value && vec_traits<V>::dim>=4,
11110             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11111         _1WYW( V & a )
11112             {
11113             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11114             }
11115         template <class V>
11116         BOOST_QVM_INLINE_TRIVIAL
11117         typename enable_if_c<
11118             is_vec<V>::value && vec_traits<V>::dim>=4,
11119             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11120         _0WYW( V const & a )
11121             {
11122             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11123             }
11124         template <class V>
11125         BOOST_QVM_INLINE_TRIVIAL
11126         typename enable_if_c<
11127             is_vec<V>::value && vec_traits<V>::dim>=4,
11128             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11129         _0WYW( V & a )
11130             {
11131             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11132             }
11133         template <class V>
11134         BOOST_QVM_INLINE_TRIVIAL
11135         typename enable_if_c<
11136             is_vec<V>::value && vec_traits<V>::dim>=4,
11137             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11138         WWYW( V const & a )
11139             {
11140             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11141             }
11142         template <class V>
11143         BOOST_QVM_INLINE_TRIVIAL
11144         typename enable_if_c<
11145             is_vec<V>::value && vec_traits<V>::dim>=4,
11146             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11147         WWYW( V & a )
11148             {
11149             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11150             }
11151         template <class V>
11152         BOOST_QVM_INLINE_TRIVIAL
11153         typename enable_if_c<
11154             is_vec<V>::value && vec_traits<V>::dim>=4,
11155             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11156         ZWYW( V const & a )
11157             {
11158             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11159             }
11160         template <class V>
11161         BOOST_QVM_INLINE_TRIVIAL
11162         typename enable_if_c<
11163             is_vec<V>::value && vec_traits<V>::dim>=4,
11164             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11165         ZWYW( V & a )
11166             {
11167             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11168             }
11169         template <class V>
11170         BOOST_QVM_INLINE_TRIVIAL
11171         typename enable_if_c<
11172             is_vec<V>::value && vec_traits<V>::dim>=4,
11173             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11174         YWYW( V const & a )
11175             {
11176             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11177             }
11178         template <class V>
11179         BOOST_QVM_INLINE_TRIVIAL
11180         typename enable_if_c<
11181             is_vec<V>::value && vec_traits<V>::dim>=4,
11182             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11183         YWYW( V & a )
11184             {
11185             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11186             }
11187         template <class V>
11188         BOOST_QVM_INLINE_TRIVIAL
11189         typename enable_if_c<
11190             is_vec<V>::value && vec_traits<V>::dim>=4,
11191             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11192         XWYW( V const & a )
11193             {
11194             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11195             }
11196         template <class V>
11197         BOOST_QVM_INLINE_TRIVIAL
11198         typename enable_if_c<
11199             is_vec<V>::value && vec_traits<V>::dim>=4,
11200             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11201         XWYW( V & a )
11202             {
11203             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11204             }
11205         template <class V>
11206         BOOST_QVM_INLINE_TRIVIAL
11207         typename enable_if_c<
11208             is_vec<V>::value && vec_traits<V>::dim>=4,
11209             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11210         _1ZYW( V const & a )
11211             {
11212             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11213             }
11214         template <class V>
11215         BOOST_QVM_INLINE_TRIVIAL
11216         typename enable_if_c<
11217             is_vec<V>::value && vec_traits<V>::dim>=4,
11218             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11219         _1ZYW( V & a )
11220             {
11221             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11222             }
11223         template <class V>
11224         BOOST_QVM_INLINE_TRIVIAL
11225         typename enable_if_c<
11226             is_vec<V>::value && vec_traits<V>::dim>=4,
11227             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11228         _0ZYW( V const & a )
11229             {
11230             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11231             }
11232         template <class V>
11233         BOOST_QVM_INLINE_TRIVIAL
11234         typename enable_if_c<
11235             is_vec<V>::value && vec_traits<V>::dim>=4,
11236             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11237         _0ZYW( V & a )
11238             {
11239             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11240             }
11241         template <class V>
11242         BOOST_QVM_INLINE_TRIVIAL
11243         typename enable_if_c<
11244             is_vec<V>::value && vec_traits<V>::dim>=4,
11245             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11246         WZYW( V const & a )
11247             {
11248             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11249             }
11250         template <class V>
11251         BOOST_QVM_INLINE_TRIVIAL
11252         typename enable_if_c<
11253             is_vec<V>::value && vec_traits<V>::dim>=4,
11254             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11255         WZYW( V & a )
11256             {
11257             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11258             }
11259         template <class V>
11260         BOOST_QVM_INLINE_TRIVIAL
11261         typename enable_if_c<
11262             is_vec<V>::value && vec_traits<V>::dim>=4,
11263             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11264         ZZYW( V const & a )
11265             {
11266             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11267             }
11268         template <class V>
11269         BOOST_QVM_INLINE_TRIVIAL
11270         typename enable_if_c<
11271             is_vec<V>::value && vec_traits<V>::dim>=4,
11272             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11273         ZZYW( V & a )
11274             {
11275             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11276             }
11277         template <class V>
11278         BOOST_QVM_INLINE_TRIVIAL
11279         typename enable_if_c<
11280             is_vec<V>::value && vec_traits<V>::dim>=4,
11281             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11282         YZYW( V const & a )
11283             {
11284             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11285             }
11286         template <class V>
11287         BOOST_QVM_INLINE_TRIVIAL
11288         typename enable_if_c<
11289             is_vec<V>::value && vec_traits<V>::dim>=4,
11290             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11291         YZYW( V & a )
11292             {
11293             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11294             }
11295         template <class V>
11296         BOOST_QVM_INLINE_TRIVIAL
11297         typename enable_if_c<
11298             is_vec<V>::value && vec_traits<V>::dim>=4,
11299             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11300         XZYW( V const & a )
11301             {
11302             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11303             }
11304         template <class V>
11305         BOOST_QVM_INLINE_TRIVIAL
11306         typename enable_if_c<
11307             is_vec<V>::value && vec_traits<V>::dim>=4,
11308             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11309         XZYW( V & a )
11310             {
11311             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11312             }
11313         template <class V>
11314         BOOST_QVM_INLINE_TRIVIAL
11315         typename enable_if_c<
11316             is_vec<V>::value && vec_traits<V>::dim>=4,
11317             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11318         _1YYW( V const & a )
11319             {
11320             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11321             }
11322         template <class V>
11323         BOOST_QVM_INLINE_TRIVIAL
11324         typename enable_if_c<
11325             is_vec<V>::value && vec_traits<V>::dim>=4,
11326             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11327         _1YYW( V & a )
11328             {
11329             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11330             }
11331         template <class V>
11332         BOOST_QVM_INLINE_TRIVIAL
11333         typename enable_if_c<
11334             is_vec<V>::value && vec_traits<V>::dim>=4,
11335             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11336         _0YYW( V const & a )
11337             {
11338             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11339             }
11340         template <class V>
11341         BOOST_QVM_INLINE_TRIVIAL
11342         typename enable_if_c<
11343             is_vec<V>::value && vec_traits<V>::dim>=4,
11344             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11345         _0YYW( V & a )
11346             {
11347             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11348             }
11349         template <class V>
11350         BOOST_QVM_INLINE_TRIVIAL
11351         typename enable_if_c<
11352             is_vec<V>::value && vec_traits<V>::dim>=4,
11353             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11354         WYYW( V const & a )
11355             {
11356             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11357             }
11358         template <class V>
11359         BOOST_QVM_INLINE_TRIVIAL
11360         typename enable_if_c<
11361             is_vec<V>::value && vec_traits<V>::dim>=4,
11362             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11363         WYYW( V & a )
11364             {
11365             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11366             }
11367         template <class V>
11368         BOOST_QVM_INLINE_TRIVIAL
11369         typename enable_if_c<
11370             is_vec<V>::value && vec_traits<V>::dim>=4,
11371             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11372         ZYYW( V const & a )
11373             {
11374             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11375             }
11376         template <class V>
11377         BOOST_QVM_INLINE_TRIVIAL
11378         typename enable_if_c<
11379             is_vec<V>::value && vec_traits<V>::dim>=4,
11380             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11381         ZYYW( V & a )
11382             {
11383             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11384             }
11385         template <class V>
11386         BOOST_QVM_INLINE_TRIVIAL
11387         typename enable_if_c<
11388             is_vec<V>::value && vec_traits<V>::dim>=4,
11389             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11390         YYYW( V const & a )
11391             {
11392             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11393             }
11394         template <class V>
11395         BOOST_QVM_INLINE_TRIVIAL
11396         typename enable_if_c<
11397             is_vec<V>::value && vec_traits<V>::dim>=4,
11398             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11399         YYYW( V & a )
11400             {
11401             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11402             }
11403         template <class V>
11404         BOOST_QVM_INLINE_TRIVIAL
11405         typename enable_if_c<
11406             is_vec<V>::value && vec_traits<V>::dim>=4,
11407             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11408         XYYW( V const & a )
11409             {
11410             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11411             }
11412         template <class V>
11413         BOOST_QVM_INLINE_TRIVIAL
11414         typename enable_if_c<
11415             is_vec<V>::value && vec_traits<V>::dim>=4,
11416             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11417         XYYW( V & a )
11418             {
11419             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11420             }
11421         template <class V>
11422         BOOST_QVM_INLINE_TRIVIAL
11423         typename enable_if_c<
11424             is_vec<V>::value && vec_traits<V>::dim>=4,
11425             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11426         _1XYW( V const & a )
11427             {
11428             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11429             }
11430         template <class V>
11431         BOOST_QVM_INLINE_TRIVIAL
11432         typename enable_if_c<
11433             is_vec<V>::value && vec_traits<V>::dim>=4,
11434             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11435         _1XYW( V & a )
11436             {
11437             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11438             }
11439         template <class V>
11440         BOOST_QVM_INLINE_TRIVIAL
11441         typename enable_if_c<
11442             is_vec<V>::value && vec_traits<V>::dim>=4,
11443             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11444         _0XYW( V const & a )
11445             {
11446             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11447             }
11448         template <class V>
11449         BOOST_QVM_INLINE_TRIVIAL
11450         typename enable_if_c<
11451             is_vec<V>::value && vec_traits<V>::dim>=4,
11452             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11453         _0XYW( V & a )
11454             {
11455             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11456             }
11457         template <class V>
11458         BOOST_QVM_INLINE_TRIVIAL
11459         typename enable_if_c<
11460             is_vec<V>::value && vec_traits<V>::dim>=4,
11461             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11462         WXYW( V const & a )
11463             {
11464             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11465             }
11466         template <class V>
11467         BOOST_QVM_INLINE_TRIVIAL
11468         typename enable_if_c<
11469             is_vec<V>::value && vec_traits<V>::dim>=4,
11470             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11471         WXYW( V & a )
11472             {
11473             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11474             }
11475         template <class V>
11476         BOOST_QVM_INLINE_TRIVIAL
11477         typename enable_if_c<
11478             is_vec<V>::value && vec_traits<V>::dim>=4,
11479             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11480         ZXYW( V const & a )
11481             {
11482             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11483             }
11484         template <class V>
11485         BOOST_QVM_INLINE_TRIVIAL
11486         typename enable_if_c<
11487             is_vec<V>::value && vec_traits<V>::dim>=4,
11488             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11489         ZXYW( V & a )
11490             {
11491             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11492             }
11493         template <class V>
11494         BOOST_QVM_INLINE_TRIVIAL
11495         typename enable_if_c<
11496             is_vec<V>::value && vec_traits<V>::dim>=4,
11497             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11498         YXYW( V const & a )
11499             {
11500             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11501             }
11502         template <class V>
11503         BOOST_QVM_INLINE_TRIVIAL
11504         typename enable_if_c<
11505             is_vec<V>::value && vec_traits<V>::dim>=4,
11506             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11507         YXYW( V & a )
11508             {
11509             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11510             }
11511         template <class V>
11512         BOOST_QVM_INLINE_TRIVIAL
11513         typename enable_if_c<
11514             is_vec<V>::value && vec_traits<V>::dim>=4,
11515             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11516         XXYW( V const & a )
11517             {
11518             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11519             }
11520         template <class V>
11521         BOOST_QVM_INLINE_TRIVIAL
11522         typename enable_if_c<
11523             is_vec<V>::value && vec_traits<V>::dim>=4,
11524             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>::type
11525         XXYW( V & a )
11526             {
11527             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11528             }
11529         template <class V>
11530         BOOST_QVM_INLINE_TRIVIAL
11531         typename enable_if_c<
11532             is_vec<V>::value && vec_traits<V>::dim>=4,
11533             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11534         _11XW( V const & a )
11535             {
11536             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11537             }
11538         template <class V>
11539         BOOST_QVM_INLINE_TRIVIAL
11540         typename enable_if_c<
11541             is_vec<V>::value && vec_traits<V>::dim>=4,
11542             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11543         _11XW( V & a )
11544             {
11545             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11546             }
11547         template <class V>
11548         BOOST_QVM_INLINE_TRIVIAL
11549         typename enable_if_c<
11550             is_vec<V>::value && vec_traits<V>::dim>=4,
11551             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11552         _01XW( V const & a )
11553             {
11554             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11555             }
11556         template <class V>
11557         BOOST_QVM_INLINE_TRIVIAL
11558         typename enable_if_c<
11559             is_vec<V>::value && vec_traits<V>::dim>=4,
11560             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11561         _01XW( V & a )
11562             {
11563             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11564             }
11565         template <class V>
11566         BOOST_QVM_INLINE_TRIVIAL
11567         typename enable_if_c<
11568             is_vec<V>::value && vec_traits<V>::dim>=4,
11569             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11570         W1XW( V const & a )
11571             {
11572             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11573             }
11574         template <class V>
11575         BOOST_QVM_INLINE_TRIVIAL
11576         typename enable_if_c<
11577             is_vec<V>::value && vec_traits<V>::dim>=4,
11578             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11579         W1XW( V & a )
11580             {
11581             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11582             }
11583         template <class V>
11584         BOOST_QVM_INLINE_TRIVIAL
11585         typename enable_if_c<
11586             is_vec<V>::value && vec_traits<V>::dim>=4,
11587             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11588         Z1XW( V const & a )
11589             {
11590             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11591             }
11592         template <class V>
11593         BOOST_QVM_INLINE_TRIVIAL
11594         typename enable_if_c<
11595             is_vec<V>::value && vec_traits<V>::dim>=4,
11596             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11597         Z1XW( V & a )
11598             {
11599             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11600             }
11601         template <class V>
11602         BOOST_QVM_INLINE_TRIVIAL
11603         typename enable_if_c<
11604             is_vec<V>::value && vec_traits<V>::dim>=4,
11605             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11606         Y1XW( V const & a )
11607             {
11608             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11609             }
11610         template <class V>
11611         BOOST_QVM_INLINE_TRIVIAL
11612         typename enable_if_c<
11613             is_vec<V>::value && vec_traits<V>::dim>=4,
11614             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11615         Y1XW( V & a )
11616             {
11617             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11618             }
11619         template <class V>
11620         BOOST_QVM_INLINE_TRIVIAL
11621         typename enable_if_c<
11622             is_vec<V>::value && vec_traits<V>::dim>=4,
11623             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11624         X1XW( V const & a )
11625             {
11626             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11627             }
11628         template <class V>
11629         BOOST_QVM_INLINE_TRIVIAL
11630         typename enable_if_c<
11631             is_vec<V>::value && vec_traits<V>::dim>=4,
11632             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11633         X1XW( V & a )
11634             {
11635             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11636             }
11637         template <class V>
11638         BOOST_QVM_INLINE_TRIVIAL
11639         typename enable_if_c<
11640             is_vec<V>::value && vec_traits<V>::dim>=4,
11641             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11642         _10XW( V const & a )
11643             {
11644             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11645             }
11646         template <class V>
11647         BOOST_QVM_INLINE_TRIVIAL
11648         typename enable_if_c<
11649             is_vec<V>::value && vec_traits<V>::dim>=4,
11650             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11651         _10XW( V & a )
11652             {
11653             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11654             }
11655         template <class V>
11656         BOOST_QVM_INLINE_TRIVIAL
11657         typename enable_if_c<
11658             is_vec<V>::value && vec_traits<V>::dim>=4,
11659             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11660         _00XW( V const & a )
11661             {
11662             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11663             }
11664         template <class V>
11665         BOOST_QVM_INLINE_TRIVIAL
11666         typename enable_if_c<
11667             is_vec<V>::value && vec_traits<V>::dim>=4,
11668             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11669         _00XW( V & a )
11670             {
11671             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11672             }
11673         template <class V>
11674         BOOST_QVM_INLINE_TRIVIAL
11675         typename enable_if_c<
11676             is_vec<V>::value && vec_traits<V>::dim>=4,
11677             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11678         W0XW( V const & a )
11679             {
11680             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11681             }
11682         template <class V>
11683         BOOST_QVM_INLINE_TRIVIAL
11684         typename enable_if_c<
11685             is_vec<V>::value && vec_traits<V>::dim>=4,
11686             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11687         W0XW( V & a )
11688             {
11689             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11690             }
11691         template <class V>
11692         BOOST_QVM_INLINE_TRIVIAL
11693         typename enable_if_c<
11694             is_vec<V>::value && vec_traits<V>::dim>=4,
11695             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11696         Z0XW( V const & a )
11697             {
11698             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11699             }
11700         template <class V>
11701         BOOST_QVM_INLINE_TRIVIAL
11702         typename enable_if_c<
11703             is_vec<V>::value && vec_traits<V>::dim>=4,
11704             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11705         Z0XW( V & a )
11706             {
11707             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11708             }
11709         template <class V>
11710         BOOST_QVM_INLINE_TRIVIAL
11711         typename enable_if_c<
11712             is_vec<V>::value && vec_traits<V>::dim>=4,
11713             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11714         Y0XW( V const & a )
11715             {
11716             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11717             }
11718         template <class V>
11719         BOOST_QVM_INLINE_TRIVIAL
11720         typename enable_if_c<
11721             is_vec<V>::value && vec_traits<V>::dim>=4,
11722             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11723         Y0XW( V & a )
11724             {
11725             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11726             }
11727         template <class V>
11728         BOOST_QVM_INLINE_TRIVIAL
11729         typename enable_if_c<
11730             is_vec<V>::value && vec_traits<V>::dim>=4,
11731             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11732         X0XW( V const & a )
11733             {
11734             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11735             }
11736         template <class V>
11737         BOOST_QVM_INLINE_TRIVIAL
11738         typename enable_if_c<
11739             is_vec<V>::value && vec_traits<V>::dim>=4,
11740             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11741         X0XW( V & a )
11742             {
11743             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11744             }
11745         template <class V>
11746         BOOST_QVM_INLINE_TRIVIAL
11747         typename enable_if_c<
11748             is_vec<V>::value && vec_traits<V>::dim>=4,
11749             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11750         _1WXW( V const & a )
11751             {
11752             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11753             }
11754         template <class V>
11755         BOOST_QVM_INLINE_TRIVIAL
11756         typename enable_if_c<
11757             is_vec<V>::value && vec_traits<V>::dim>=4,
11758             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11759         _1WXW( V & a )
11760             {
11761             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11762             }
11763         template <class V>
11764         BOOST_QVM_INLINE_TRIVIAL
11765         typename enable_if_c<
11766             is_vec<V>::value && vec_traits<V>::dim>=4,
11767             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11768         _0WXW( V const & a )
11769             {
11770             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11771             }
11772         template <class V>
11773         BOOST_QVM_INLINE_TRIVIAL
11774         typename enable_if_c<
11775             is_vec<V>::value && vec_traits<V>::dim>=4,
11776             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11777         _0WXW( V & a )
11778             {
11779             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11780             }
11781         template <class V>
11782         BOOST_QVM_INLINE_TRIVIAL
11783         typename enable_if_c<
11784             is_vec<V>::value && vec_traits<V>::dim>=4,
11785             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11786         WWXW( V const & a )
11787             {
11788             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11789             }
11790         template <class V>
11791         BOOST_QVM_INLINE_TRIVIAL
11792         typename enable_if_c<
11793             is_vec<V>::value && vec_traits<V>::dim>=4,
11794             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11795         WWXW( V & a )
11796             {
11797             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11798             }
11799         template <class V>
11800         BOOST_QVM_INLINE_TRIVIAL
11801         typename enable_if_c<
11802             is_vec<V>::value && vec_traits<V>::dim>=4,
11803             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11804         ZWXW( V const & a )
11805             {
11806             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11807             }
11808         template <class V>
11809         BOOST_QVM_INLINE_TRIVIAL
11810         typename enable_if_c<
11811             is_vec<V>::value && vec_traits<V>::dim>=4,
11812             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11813         ZWXW( V & a )
11814             {
11815             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11816             }
11817         template <class V>
11818         BOOST_QVM_INLINE_TRIVIAL
11819         typename enable_if_c<
11820             is_vec<V>::value && vec_traits<V>::dim>=4,
11821             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11822         YWXW( V const & a )
11823             {
11824             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11825             }
11826         template <class V>
11827         BOOST_QVM_INLINE_TRIVIAL
11828         typename enable_if_c<
11829             is_vec<V>::value && vec_traits<V>::dim>=4,
11830             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11831         YWXW( V & a )
11832             {
11833             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11834             }
11835         template <class V>
11836         BOOST_QVM_INLINE_TRIVIAL
11837         typename enable_if_c<
11838             is_vec<V>::value && vec_traits<V>::dim>=4,
11839             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11840         XWXW( V const & a )
11841             {
11842             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11843             }
11844         template <class V>
11845         BOOST_QVM_INLINE_TRIVIAL
11846         typename enable_if_c<
11847             is_vec<V>::value && vec_traits<V>::dim>=4,
11848             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11849         XWXW( V & a )
11850             {
11851             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11852             }
11853         template <class V>
11854         BOOST_QVM_INLINE_TRIVIAL
11855         typename enable_if_c<
11856             is_vec<V>::value && vec_traits<V>::dim>=4,
11857             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11858         _1ZXW( V const & a )
11859             {
11860             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11861             }
11862         template <class V>
11863         BOOST_QVM_INLINE_TRIVIAL
11864         typename enable_if_c<
11865             is_vec<V>::value && vec_traits<V>::dim>=4,
11866             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11867         _1ZXW( V & a )
11868             {
11869             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11870             }
11871         template <class V>
11872         BOOST_QVM_INLINE_TRIVIAL
11873         typename enable_if_c<
11874             is_vec<V>::value && vec_traits<V>::dim>=4,
11875             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11876         _0ZXW( V const & a )
11877             {
11878             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11879             }
11880         template <class V>
11881         BOOST_QVM_INLINE_TRIVIAL
11882         typename enable_if_c<
11883             is_vec<V>::value && vec_traits<V>::dim>=4,
11884             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11885         _0ZXW( V & a )
11886             {
11887             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11888             }
11889         template <class V>
11890         BOOST_QVM_INLINE_TRIVIAL
11891         typename enable_if_c<
11892             is_vec<V>::value && vec_traits<V>::dim>=4,
11893             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11894         WZXW( V const & a )
11895             {
11896             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11897             }
11898         template <class V>
11899         BOOST_QVM_INLINE_TRIVIAL
11900         typename enable_if_c<
11901             is_vec<V>::value && vec_traits<V>::dim>=4,
11902             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11903         WZXW( V & a )
11904             {
11905             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11906             }
11907         template <class V>
11908         BOOST_QVM_INLINE_TRIVIAL
11909         typename enable_if_c<
11910             is_vec<V>::value && vec_traits<V>::dim>=4,
11911             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11912         ZZXW( V const & a )
11913             {
11914             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11915             }
11916         template <class V>
11917         BOOST_QVM_INLINE_TRIVIAL
11918         typename enable_if_c<
11919             is_vec<V>::value && vec_traits<V>::dim>=4,
11920             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11921         ZZXW( V & a )
11922             {
11923             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11924             }
11925         template <class V>
11926         BOOST_QVM_INLINE_TRIVIAL
11927         typename enable_if_c<
11928             is_vec<V>::value && vec_traits<V>::dim>=4,
11929             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11930         YZXW( V const & a )
11931             {
11932             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11933             }
11934         template <class V>
11935         BOOST_QVM_INLINE_TRIVIAL
11936         typename enable_if_c<
11937             is_vec<V>::value && vec_traits<V>::dim>=4,
11938             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11939         YZXW( V & a )
11940             {
11941             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11942             }
11943         template <class V>
11944         BOOST_QVM_INLINE_TRIVIAL
11945         typename enable_if_c<
11946             is_vec<V>::value && vec_traits<V>::dim>=4,
11947             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11948         XZXW( V const & a )
11949             {
11950             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11951             }
11952         template <class V>
11953         BOOST_QVM_INLINE_TRIVIAL
11954         typename enable_if_c<
11955             is_vec<V>::value && vec_traits<V>::dim>=4,
11956             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11957         XZXW( V & a )
11958             {
11959             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11960             }
11961         template <class V>
11962         BOOST_QVM_INLINE_TRIVIAL
11963         typename enable_if_c<
11964             is_vec<V>::value && vec_traits<V>::dim>=4,
11965             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11966         _1YXW( V const & a )
11967             {
11968             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11969             }
11970         template <class V>
11971         BOOST_QVM_INLINE_TRIVIAL
11972         typename enable_if_c<
11973             is_vec<V>::value && vec_traits<V>::dim>=4,
11974             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11975         _1YXW( V & a )
11976             {
11977             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11978             }
11979         template <class V>
11980         BOOST_QVM_INLINE_TRIVIAL
11981         typename enable_if_c<
11982             is_vec<V>::value && vec_traits<V>::dim>=4,
11983             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
11984         _0YXW( V const & a )
11985             {
11986             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
11987             }
11988         template <class V>
11989         BOOST_QVM_INLINE_TRIVIAL
11990         typename enable_if_c<
11991             is_vec<V>::value && vec_traits<V>::dim>=4,
11992             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
11993         _0YXW( V & a )
11994             {
11995             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
11996             }
11997         template <class V>
11998         BOOST_QVM_INLINE_TRIVIAL
11999         typename enable_if_c<
12000             is_vec<V>::value && vec_traits<V>::dim>=4,
12001             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
12002         WYXW( V const & a )
12003             {
12004             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
12005             }
12006         template <class V>
12007         BOOST_QVM_INLINE_TRIVIAL
12008         typename enable_if_c<
12009             is_vec<V>::value && vec_traits<V>::dim>=4,
12010             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
12011         WYXW( V & a )
12012             {
12013             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
12014             }
12015         template <class V>
12016         BOOST_QVM_INLINE_TRIVIAL
12017         typename enable_if_c<
12018             is_vec<V>::value && vec_traits<V>::dim>=4,
12019             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
12020         ZYXW( V const & a )
12021             {
12022             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
12023             }
12024         template <class V>
12025         BOOST_QVM_INLINE_TRIVIAL
12026         typename enable_if_c<
12027             is_vec<V>::value && vec_traits<V>::dim>=4,
12028             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
12029         ZYXW( V & a )
12030             {
12031             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
12032             }
12033         template <class V>
12034         BOOST_QVM_INLINE_TRIVIAL
12035         typename enable_if_c<
12036             is_vec<V>::value && vec_traits<V>::dim>=4,
12037             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
12038         YYXW( V const & a )
12039             {
12040             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
12041             }
12042         template <class V>
12043         BOOST_QVM_INLINE_TRIVIAL
12044         typename enable_if_c<
12045             is_vec<V>::value && vec_traits<V>::dim>=4,
12046             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
12047         YYXW( V & a )
12048             {
12049             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
12050             }
12051         template <class V>
12052         BOOST_QVM_INLINE_TRIVIAL
12053         typename enable_if_c<
12054             is_vec<V>::value && vec_traits<V>::dim>=4,
12055             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
12056         XYXW( V const & a )
12057             {
12058             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
12059             }
12060         template <class V>
12061         BOOST_QVM_INLINE_TRIVIAL
12062         typename enable_if_c<
12063             is_vec<V>::value && vec_traits<V>::dim>=4,
12064             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
12065         XYXW( V & a )
12066             {
12067             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
12068             }
12069         template <class V>
12070         BOOST_QVM_INLINE_TRIVIAL
12071         typename enable_if_c<
12072             is_vec<V>::value && vec_traits<V>::dim>=4,
12073             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
12074         _1XXW( V const & a )
12075             {
12076             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
12077             }
12078         template <class V>
12079         BOOST_QVM_INLINE_TRIVIAL
12080         typename enable_if_c<
12081             is_vec<V>::value && vec_traits<V>::dim>=4,
12082             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
12083         _1XXW( V & a )
12084             {
12085             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
12086             }
12087         template <class V>
12088         BOOST_QVM_INLINE_TRIVIAL
12089         typename enable_if_c<
12090             is_vec<V>::value && vec_traits<V>::dim>=4,
12091             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
12092         _0XXW( V const & a )
12093             {
12094             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
12095             }
12096         template <class V>
12097         BOOST_QVM_INLINE_TRIVIAL
12098         typename enable_if_c<
12099             is_vec<V>::value && vec_traits<V>::dim>=4,
12100             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
12101         _0XXW( V & a )
12102             {
12103             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
12104             }
12105         template <class V>
12106         BOOST_QVM_INLINE_TRIVIAL
12107         typename enable_if_c<
12108             is_vec<V>::value && vec_traits<V>::dim>=4,
12109             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
12110         WXXW( V const & a )
12111             {
12112             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
12113             }
12114         template <class V>
12115         BOOST_QVM_INLINE_TRIVIAL
12116         typename enable_if_c<
12117             is_vec<V>::value && vec_traits<V>::dim>=4,
12118             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
12119         WXXW( V & a )
12120             {
12121             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
12122             }
12123         template <class V>
12124         BOOST_QVM_INLINE_TRIVIAL
12125         typename enable_if_c<
12126             is_vec<V>::value && vec_traits<V>::dim>=4,
12127             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
12128         ZXXW( V const & a )
12129             {
12130             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
12131             }
12132         template <class V>
12133         BOOST_QVM_INLINE_TRIVIAL
12134         typename enable_if_c<
12135             is_vec<V>::value && vec_traits<V>::dim>=4,
12136             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
12137         ZXXW( V & a )
12138             {
12139             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
12140             }
12141         template <class V>
12142         BOOST_QVM_INLINE_TRIVIAL
12143         typename enable_if_c<
12144             is_vec<V>::value && vec_traits<V>::dim>=4,
12145             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
12146         YXXW( V const & a )
12147             {
12148             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
12149             }
12150         template <class V>
12151         BOOST_QVM_INLINE_TRIVIAL
12152         typename enable_if_c<
12153             is_vec<V>::value && vec_traits<V>::dim>=4,
12154             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
12155         YXXW( V & a )
12156             {
12157             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
12158             }
12159         template <class V>
12160         BOOST_QVM_INLINE_TRIVIAL
12161         typename enable_if_c<
12162             is_vec<V>::value && vec_traits<V>::dim>=4,
12163             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>::type
12164         XXXW( V const & a )
12165             {
12166             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > const &>(a);
12167             }
12168         template <class V>
12169         BOOST_QVM_INLINE_TRIVIAL
12170         typename enable_if_c<
12171             is_vec<V>::value && vec_traits<V>::dim>=4,
12172             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>::type
12173         XXXW( V & a )
12174             {
12175             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3 > > > > > &>(a);
12176             }
12177         template <class V>
12178         BOOST_QVM_INLINE_TRIVIAL
12179         typename enable_if_c<
12180             is_vec<V>::value && vec_traits<V>::dim>=3,
12181             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12182         _111Z( V const & a )
12183             {
12184             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12185             }
12186         template <class V>
12187         BOOST_QVM_INLINE_TRIVIAL
12188         typename enable_if_c<
12189             is_vec<V>::value && vec_traits<V>::dim>=3,
12190             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12191         _111Z( V & a )
12192             {
12193             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12194             }
12195         template <class V>
12196         BOOST_QVM_INLINE_TRIVIAL
12197         typename enable_if_c<
12198             is_vec<V>::value && vec_traits<V>::dim>=3,
12199             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12200         _011Z( V const & a )
12201             {
12202             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12203             }
12204         template <class V>
12205         BOOST_QVM_INLINE_TRIVIAL
12206         typename enable_if_c<
12207             is_vec<V>::value && vec_traits<V>::dim>=3,
12208             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12209         _011Z( V & a )
12210             {
12211             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12212             }
12213         template <class V>
12214         BOOST_QVM_INLINE_TRIVIAL
12215         typename enable_if_c<
12216             is_vec<V>::value && vec_traits<V>::dim>=4,
12217             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12218         W11Z( V const & a )
12219             {
12220             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12221             }
12222         template <class V>
12223         BOOST_QVM_INLINE_TRIVIAL
12224         typename enable_if_c<
12225             is_vec<V>::value && vec_traits<V>::dim>=4,
12226             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12227         W11Z( V & a )
12228             {
12229             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12230             }
12231         template <class V>
12232         BOOST_QVM_INLINE_TRIVIAL
12233         typename enable_if_c<
12234             is_vec<V>::value && vec_traits<V>::dim>=3,
12235             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12236         Z11Z( V const & a )
12237             {
12238             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12239             }
12240         template <class V>
12241         BOOST_QVM_INLINE_TRIVIAL
12242         typename enable_if_c<
12243             is_vec<V>::value && vec_traits<V>::dim>=3,
12244             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12245         Z11Z( V & a )
12246             {
12247             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12248             }
12249         template <class V>
12250         BOOST_QVM_INLINE_TRIVIAL
12251         typename enable_if_c<
12252             is_vec<V>::value && vec_traits<V>::dim>=3,
12253             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12254         Y11Z( V const & a )
12255             {
12256             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12257             }
12258         template <class V>
12259         BOOST_QVM_INLINE_TRIVIAL
12260         typename enable_if_c<
12261             is_vec<V>::value && vec_traits<V>::dim>=3,
12262             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12263         Y11Z( V & a )
12264             {
12265             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12266             }
12267         template <class V>
12268         BOOST_QVM_INLINE_TRIVIAL
12269         typename enable_if_c<
12270             is_vec<V>::value && vec_traits<V>::dim>=3,
12271             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12272         X11Z( V const & a )
12273             {
12274             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12275             }
12276         template <class V>
12277         BOOST_QVM_INLINE_TRIVIAL
12278         typename enable_if_c<
12279             is_vec<V>::value && vec_traits<V>::dim>=3,
12280             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12281         X11Z( V & a )
12282             {
12283             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12284             }
12285         template <class V>
12286         BOOST_QVM_INLINE_TRIVIAL
12287         typename enable_if_c<
12288             is_vec<V>::value && vec_traits<V>::dim>=3,
12289             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12290         _101Z( V const & a )
12291             {
12292             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12293             }
12294         template <class V>
12295         BOOST_QVM_INLINE_TRIVIAL
12296         typename enable_if_c<
12297             is_vec<V>::value && vec_traits<V>::dim>=3,
12298             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12299         _101Z( V & a )
12300             {
12301             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12302             }
12303         template <class V>
12304         BOOST_QVM_INLINE_TRIVIAL
12305         typename enable_if_c<
12306             is_vec<V>::value && vec_traits<V>::dim>=3,
12307             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12308         _001Z( V const & a )
12309             {
12310             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12311             }
12312         template <class V>
12313         BOOST_QVM_INLINE_TRIVIAL
12314         typename enable_if_c<
12315             is_vec<V>::value && vec_traits<V>::dim>=3,
12316             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12317         _001Z( V & a )
12318             {
12319             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12320             }
12321         template <class V>
12322         BOOST_QVM_INLINE_TRIVIAL
12323         typename enable_if_c<
12324             is_vec<V>::value && vec_traits<V>::dim>=4,
12325             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12326         W01Z( V const & a )
12327             {
12328             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12329             }
12330         template <class V>
12331         BOOST_QVM_INLINE_TRIVIAL
12332         typename enable_if_c<
12333             is_vec<V>::value && vec_traits<V>::dim>=4,
12334             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12335         W01Z( V & a )
12336             {
12337             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12338             }
12339         template <class V>
12340         BOOST_QVM_INLINE_TRIVIAL
12341         typename enable_if_c<
12342             is_vec<V>::value && vec_traits<V>::dim>=3,
12343             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12344         Z01Z( V const & a )
12345             {
12346             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12347             }
12348         template <class V>
12349         BOOST_QVM_INLINE_TRIVIAL
12350         typename enable_if_c<
12351             is_vec<V>::value && vec_traits<V>::dim>=3,
12352             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12353         Z01Z( V & a )
12354             {
12355             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12356             }
12357         template <class V>
12358         BOOST_QVM_INLINE_TRIVIAL
12359         typename enable_if_c<
12360             is_vec<V>::value && vec_traits<V>::dim>=3,
12361             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12362         Y01Z( V const & a )
12363             {
12364             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12365             }
12366         template <class V>
12367         BOOST_QVM_INLINE_TRIVIAL
12368         typename enable_if_c<
12369             is_vec<V>::value && vec_traits<V>::dim>=3,
12370             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12371         Y01Z( V & a )
12372             {
12373             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12374             }
12375         template <class V>
12376         BOOST_QVM_INLINE_TRIVIAL
12377         typename enable_if_c<
12378             is_vec<V>::value && vec_traits<V>::dim>=3,
12379             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12380         X01Z( V const & a )
12381             {
12382             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12383             }
12384         template <class V>
12385         BOOST_QVM_INLINE_TRIVIAL
12386         typename enable_if_c<
12387             is_vec<V>::value && vec_traits<V>::dim>=3,
12388             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12389         X01Z( V & a )
12390             {
12391             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12392             }
12393         template <class V>
12394         BOOST_QVM_INLINE_TRIVIAL
12395         typename enable_if_c<
12396             is_vec<V>::value && vec_traits<V>::dim>=4,
12397             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12398         _1W1Z( V const & a )
12399             {
12400             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12401             }
12402         template <class V>
12403         BOOST_QVM_INLINE_TRIVIAL
12404         typename enable_if_c<
12405             is_vec<V>::value && vec_traits<V>::dim>=4,
12406             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12407         _1W1Z( V & a )
12408             {
12409             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12410             }
12411         template <class V>
12412         BOOST_QVM_INLINE_TRIVIAL
12413         typename enable_if_c<
12414             is_vec<V>::value && vec_traits<V>::dim>=4,
12415             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12416         _0W1Z( V const & a )
12417             {
12418             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12419             }
12420         template <class V>
12421         BOOST_QVM_INLINE_TRIVIAL
12422         typename enable_if_c<
12423             is_vec<V>::value && vec_traits<V>::dim>=4,
12424             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12425         _0W1Z( V & a )
12426             {
12427             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12428             }
12429         template <class V>
12430         BOOST_QVM_INLINE_TRIVIAL
12431         typename enable_if_c<
12432             is_vec<V>::value && vec_traits<V>::dim>=4,
12433             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12434         WW1Z( V const & a )
12435             {
12436             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12437             }
12438         template <class V>
12439         BOOST_QVM_INLINE_TRIVIAL
12440         typename enable_if_c<
12441             is_vec<V>::value && vec_traits<V>::dim>=4,
12442             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12443         WW1Z( V & a )
12444             {
12445             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12446             }
12447         template <class V>
12448         BOOST_QVM_INLINE_TRIVIAL
12449         typename enable_if_c<
12450             is_vec<V>::value && vec_traits<V>::dim>=4,
12451             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12452         ZW1Z( V const & a )
12453             {
12454             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12455             }
12456         template <class V>
12457         BOOST_QVM_INLINE_TRIVIAL
12458         typename enable_if_c<
12459             is_vec<V>::value && vec_traits<V>::dim>=4,
12460             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12461         ZW1Z( V & a )
12462             {
12463             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12464             }
12465         template <class V>
12466         BOOST_QVM_INLINE_TRIVIAL
12467         typename enable_if_c<
12468             is_vec<V>::value && vec_traits<V>::dim>=4,
12469             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12470         YW1Z( V const & a )
12471             {
12472             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12473             }
12474         template <class V>
12475         BOOST_QVM_INLINE_TRIVIAL
12476         typename enable_if_c<
12477             is_vec<V>::value && vec_traits<V>::dim>=4,
12478             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12479         YW1Z( V & a )
12480             {
12481             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12482             }
12483         template <class V>
12484         BOOST_QVM_INLINE_TRIVIAL
12485         typename enable_if_c<
12486             is_vec<V>::value && vec_traits<V>::dim>=4,
12487             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12488         XW1Z( V const & a )
12489             {
12490             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12491             }
12492         template <class V>
12493         BOOST_QVM_INLINE_TRIVIAL
12494         typename enable_if_c<
12495             is_vec<V>::value && vec_traits<V>::dim>=4,
12496             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12497         XW1Z( V & a )
12498             {
12499             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12500             }
12501         template <class V>
12502         BOOST_QVM_INLINE_TRIVIAL
12503         typename enable_if_c<
12504             is_vec<V>::value && vec_traits<V>::dim>=3,
12505             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12506         _1Z1Z( V const & a )
12507             {
12508             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12509             }
12510         template <class V>
12511         BOOST_QVM_INLINE_TRIVIAL
12512         typename enable_if_c<
12513             is_vec<V>::value && vec_traits<V>::dim>=3,
12514             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12515         _1Z1Z( V & a )
12516             {
12517             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12518             }
12519         template <class V>
12520         BOOST_QVM_INLINE_TRIVIAL
12521         typename enable_if_c<
12522             is_vec<V>::value && vec_traits<V>::dim>=3,
12523             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12524         _0Z1Z( V const & a )
12525             {
12526             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12527             }
12528         template <class V>
12529         BOOST_QVM_INLINE_TRIVIAL
12530         typename enable_if_c<
12531             is_vec<V>::value && vec_traits<V>::dim>=3,
12532             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12533         _0Z1Z( V & a )
12534             {
12535             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12536             }
12537         template <class V>
12538         BOOST_QVM_INLINE_TRIVIAL
12539         typename enable_if_c<
12540             is_vec<V>::value && vec_traits<V>::dim>=4,
12541             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12542         WZ1Z( V const & a )
12543             {
12544             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12545             }
12546         template <class V>
12547         BOOST_QVM_INLINE_TRIVIAL
12548         typename enable_if_c<
12549             is_vec<V>::value && vec_traits<V>::dim>=4,
12550             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12551         WZ1Z( V & a )
12552             {
12553             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12554             }
12555         template <class V>
12556         BOOST_QVM_INLINE_TRIVIAL
12557         typename enable_if_c<
12558             is_vec<V>::value && vec_traits<V>::dim>=3,
12559             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12560         ZZ1Z( V const & a )
12561             {
12562             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12563             }
12564         template <class V>
12565         BOOST_QVM_INLINE_TRIVIAL
12566         typename enable_if_c<
12567             is_vec<V>::value && vec_traits<V>::dim>=3,
12568             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12569         ZZ1Z( V & a )
12570             {
12571             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12572             }
12573         template <class V>
12574         BOOST_QVM_INLINE_TRIVIAL
12575         typename enable_if_c<
12576             is_vec<V>::value && vec_traits<V>::dim>=3,
12577             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12578         YZ1Z( V const & a )
12579             {
12580             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12581             }
12582         template <class V>
12583         BOOST_QVM_INLINE_TRIVIAL
12584         typename enable_if_c<
12585             is_vec<V>::value && vec_traits<V>::dim>=3,
12586             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12587         YZ1Z( V & a )
12588             {
12589             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12590             }
12591         template <class V>
12592         BOOST_QVM_INLINE_TRIVIAL
12593         typename enable_if_c<
12594             is_vec<V>::value && vec_traits<V>::dim>=3,
12595             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12596         XZ1Z( V const & a )
12597             {
12598             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12599             }
12600         template <class V>
12601         BOOST_QVM_INLINE_TRIVIAL
12602         typename enable_if_c<
12603             is_vec<V>::value && vec_traits<V>::dim>=3,
12604             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12605         XZ1Z( V & a )
12606             {
12607             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12608             }
12609         template <class V>
12610         BOOST_QVM_INLINE_TRIVIAL
12611         typename enable_if_c<
12612             is_vec<V>::value && vec_traits<V>::dim>=3,
12613             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12614         _1Y1Z( V const & a )
12615             {
12616             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12617             }
12618         template <class V>
12619         BOOST_QVM_INLINE_TRIVIAL
12620         typename enable_if_c<
12621             is_vec<V>::value && vec_traits<V>::dim>=3,
12622             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12623         _1Y1Z( V & a )
12624             {
12625             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12626             }
12627         template <class V>
12628         BOOST_QVM_INLINE_TRIVIAL
12629         typename enable_if_c<
12630             is_vec<V>::value && vec_traits<V>::dim>=3,
12631             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12632         _0Y1Z( V const & a )
12633             {
12634             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12635             }
12636         template <class V>
12637         BOOST_QVM_INLINE_TRIVIAL
12638         typename enable_if_c<
12639             is_vec<V>::value && vec_traits<V>::dim>=3,
12640             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12641         _0Y1Z( V & a )
12642             {
12643             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12644             }
12645         template <class V>
12646         BOOST_QVM_INLINE_TRIVIAL
12647         typename enable_if_c<
12648             is_vec<V>::value && vec_traits<V>::dim>=4,
12649             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12650         WY1Z( V const & a )
12651             {
12652             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12653             }
12654         template <class V>
12655         BOOST_QVM_INLINE_TRIVIAL
12656         typename enable_if_c<
12657             is_vec<V>::value && vec_traits<V>::dim>=4,
12658             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12659         WY1Z( V & a )
12660             {
12661             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12662             }
12663         template <class V>
12664         BOOST_QVM_INLINE_TRIVIAL
12665         typename enable_if_c<
12666             is_vec<V>::value && vec_traits<V>::dim>=3,
12667             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12668         ZY1Z( V const & a )
12669             {
12670             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12671             }
12672         template <class V>
12673         BOOST_QVM_INLINE_TRIVIAL
12674         typename enable_if_c<
12675             is_vec<V>::value && vec_traits<V>::dim>=3,
12676             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12677         ZY1Z( V & a )
12678             {
12679             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12680             }
12681         template <class V>
12682         BOOST_QVM_INLINE_TRIVIAL
12683         typename enable_if_c<
12684             is_vec<V>::value && vec_traits<V>::dim>=3,
12685             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12686         YY1Z( V const & a )
12687             {
12688             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12689             }
12690         template <class V>
12691         BOOST_QVM_INLINE_TRIVIAL
12692         typename enable_if_c<
12693             is_vec<V>::value && vec_traits<V>::dim>=3,
12694             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12695         YY1Z( V & a )
12696             {
12697             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12698             }
12699         template <class V>
12700         BOOST_QVM_INLINE_TRIVIAL
12701         typename enable_if_c<
12702             is_vec<V>::value && vec_traits<V>::dim>=3,
12703             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12704         XY1Z( V const & a )
12705             {
12706             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12707             }
12708         template <class V>
12709         BOOST_QVM_INLINE_TRIVIAL
12710         typename enable_if_c<
12711             is_vec<V>::value && vec_traits<V>::dim>=3,
12712             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12713         XY1Z( V & a )
12714             {
12715             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12716             }
12717         template <class V>
12718         BOOST_QVM_INLINE_TRIVIAL
12719         typename enable_if_c<
12720             is_vec<V>::value && vec_traits<V>::dim>=3,
12721             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12722         _1X1Z( V const & a )
12723             {
12724             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12725             }
12726         template <class V>
12727         BOOST_QVM_INLINE_TRIVIAL
12728         typename enable_if_c<
12729             is_vec<V>::value && vec_traits<V>::dim>=3,
12730             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12731         _1X1Z( V & a )
12732             {
12733             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12734             }
12735         template <class V>
12736         BOOST_QVM_INLINE_TRIVIAL
12737         typename enable_if_c<
12738             is_vec<V>::value && vec_traits<V>::dim>=3,
12739             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12740         _0X1Z( V const & a )
12741             {
12742             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12743             }
12744         template <class V>
12745         BOOST_QVM_INLINE_TRIVIAL
12746         typename enable_if_c<
12747             is_vec<V>::value && vec_traits<V>::dim>=3,
12748             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12749         _0X1Z( V & a )
12750             {
12751             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12752             }
12753         template <class V>
12754         BOOST_QVM_INLINE_TRIVIAL
12755         typename enable_if_c<
12756             is_vec<V>::value && vec_traits<V>::dim>=4,
12757             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12758         WX1Z( V const & a )
12759             {
12760             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12761             }
12762         template <class V>
12763         BOOST_QVM_INLINE_TRIVIAL
12764         typename enable_if_c<
12765             is_vec<V>::value && vec_traits<V>::dim>=4,
12766             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12767         WX1Z( V & a )
12768             {
12769             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12770             }
12771         template <class V>
12772         BOOST_QVM_INLINE_TRIVIAL
12773         typename enable_if_c<
12774             is_vec<V>::value && vec_traits<V>::dim>=3,
12775             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12776         ZX1Z( V const & a )
12777             {
12778             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12779             }
12780         template <class V>
12781         BOOST_QVM_INLINE_TRIVIAL
12782         typename enable_if_c<
12783             is_vec<V>::value && vec_traits<V>::dim>=3,
12784             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12785         ZX1Z( V & a )
12786             {
12787             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12788             }
12789         template <class V>
12790         BOOST_QVM_INLINE_TRIVIAL
12791         typename enable_if_c<
12792             is_vec<V>::value && vec_traits<V>::dim>=3,
12793             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12794         YX1Z( V const & a )
12795             {
12796             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12797             }
12798         template <class V>
12799         BOOST_QVM_INLINE_TRIVIAL
12800         typename enable_if_c<
12801             is_vec<V>::value && vec_traits<V>::dim>=3,
12802             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12803         YX1Z( V & a )
12804             {
12805             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12806             }
12807         template <class V>
12808         BOOST_QVM_INLINE_TRIVIAL
12809         typename enable_if_c<
12810             is_vec<V>::value && vec_traits<V>::dim>=3,
12811             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12812         XX1Z( V const & a )
12813             {
12814             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12815             }
12816         template <class V>
12817         BOOST_QVM_INLINE_TRIVIAL
12818         typename enable_if_c<
12819             is_vec<V>::value && vec_traits<V>::dim>=3,
12820             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>::type
12821         XX1Z( V & a )
12822             {
12823             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12824             }
12825         template <class V>
12826         BOOST_QVM_INLINE_TRIVIAL
12827         typename enable_if_c<
12828             is_vec<V>::value && vec_traits<V>::dim>=3,
12829             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12830         _110Z( V const & a )
12831             {
12832             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12833             }
12834         template <class V>
12835         BOOST_QVM_INLINE_TRIVIAL
12836         typename enable_if_c<
12837             is_vec<V>::value && vec_traits<V>::dim>=3,
12838             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
12839         _110Z( V & a )
12840             {
12841             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12842             }
12843         template <class V>
12844         BOOST_QVM_INLINE_TRIVIAL
12845         typename enable_if_c<
12846             is_vec<V>::value && vec_traits<V>::dim>=3,
12847             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12848         _010Z( V const & a )
12849             {
12850             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12851             }
12852         template <class V>
12853         BOOST_QVM_INLINE_TRIVIAL
12854         typename enable_if_c<
12855             is_vec<V>::value && vec_traits<V>::dim>=3,
12856             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
12857         _010Z( V & a )
12858             {
12859             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12860             }
12861         template <class V>
12862         BOOST_QVM_INLINE_TRIVIAL
12863         typename enable_if_c<
12864             is_vec<V>::value && vec_traits<V>::dim>=4,
12865             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12866         W10Z( V const & a )
12867             {
12868             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12869             }
12870         template <class V>
12871         BOOST_QVM_INLINE_TRIVIAL
12872         typename enable_if_c<
12873             is_vec<V>::value && vec_traits<V>::dim>=4,
12874             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
12875         W10Z( V & a )
12876             {
12877             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12878             }
12879         template <class V>
12880         BOOST_QVM_INLINE_TRIVIAL
12881         typename enable_if_c<
12882             is_vec<V>::value && vec_traits<V>::dim>=3,
12883             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12884         Z10Z( V const & a )
12885             {
12886             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12887             }
12888         template <class V>
12889         BOOST_QVM_INLINE_TRIVIAL
12890         typename enable_if_c<
12891             is_vec<V>::value && vec_traits<V>::dim>=3,
12892             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
12893         Z10Z( V & a )
12894             {
12895             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12896             }
12897         template <class V>
12898         BOOST_QVM_INLINE_TRIVIAL
12899         typename enable_if_c<
12900             is_vec<V>::value && vec_traits<V>::dim>=3,
12901             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12902         Y10Z( V const & a )
12903             {
12904             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12905             }
12906         template <class V>
12907         BOOST_QVM_INLINE_TRIVIAL
12908         typename enable_if_c<
12909             is_vec<V>::value && vec_traits<V>::dim>=3,
12910             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
12911         Y10Z( V & a )
12912             {
12913             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12914             }
12915         template <class V>
12916         BOOST_QVM_INLINE_TRIVIAL
12917         typename enable_if_c<
12918             is_vec<V>::value && vec_traits<V>::dim>=3,
12919             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12920         X10Z( V const & a )
12921             {
12922             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12923             }
12924         template <class V>
12925         BOOST_QVM_INLINE_TRIVIAL
12926         typename enable_if_c<
12927             is_vec<V>::value && vec_traits<V>::dim>=3,
12928             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
12929         X10Z( V & a )
12930             {
12931             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12932             }
12933         template <class V>
12934         BOOST_QVM_INLINE_TRIVIAL
12935         typename enable_if_c<
12936             is_vec<V>::value && vec_traits<V>::dim>=3,
12937             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12938         _100Z( V const & a )
12939             {
12940             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12941             }
12942         template <class V>
12943         BOOST_QVM_INLINE_TRIVIAL
12944         typename enable_if_c<
12945             is_vec<V>::value && vec_traits<V>::dim>=3,
12946             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
12947         _100Z( V & a )
12948             {
12949             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12950             }
12951         template <class V>
12952         BOOST_QVM_INLINE_TRIVIAL
12953         typename enable_if_c<
12954             is_vec<V>::value && vec_traits<V>::dim>=3,
12955             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12956         _000Z( V const & a )
12957             {
12958             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12959             }
12960         template <class V>
12961         BOOST_QVM_INLINE_TRIVIAL
12962         typename enable_if_c<
12963             is_vec<V>::value && vec_traits<V>::dim>=3,
12964             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
12965         _000Z( V & a )
12966             {
12967             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12968             }
12969         template <class V>
12970         BOOST_QVM_INLINE_TRIVIAL
12971         typename enable_if_c<
12972             is_vec<V>::value && vec_traits<V>::dim>=4,
12973             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12974         W00Z( V const & a )
12975             {
12976             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12977             }
12978         template <class V>
12979         BOOST_QVM_INLINE_TRIVIAL
12980         typename enable_if_c<
12981             is_vec<V>::value && vec_traits<V>::dim>=4,
12982             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
12983         W00Z( V & a )
12984             {
12985             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
12986             }
12987         template <class V>
12988         BOOST_QVM_INLINE_TRIVIAL
12989         typename enable_if_c<
12990             is_vec<V>::value && vec_traits<V>::dim>=3,
12991             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
12992         Z00Z( V const & a )
12993             {
12994             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
12995             }
12996         template <class V>
12997         BOOST_QVM_INLINE_TRIVIAL
12998         typename enable_if_c<
12999             is_vec<V>::value && vec_traits<V>::dim>=3,
13000             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13001         Z00Z( V & a )
13002             {
13003             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13004             }
13005         template <class V>
13006         BOOST_QVM_INLINE_TRIVIAL
13007         typename enable_if_c<
13008             is_vec<V>::value && vec_traits<V>::dim>=3,
13009             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13010         Y00Z( V const & a )
13011             {
13012             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13013             }
13014         template <class V>
13015         BOOST_QVM_INLINE_TRIVIAL
13016         typename enable_if_c<
13017             is_vec<V>::value && vec_traits<V>::dim>=3,
13018             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13019         Y00Z( V & a )
13020             {
13021             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13022             }
13023         template <class V>
13024         BOOST_QVM_INLINE_TRIVIAL
13025         typename enable_if_c<
13026             is_vec<V>::value && vec_traits<V>::dim>=3,
13027             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13028         X00Z( V const & a )
13029             {
13030             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13031             }
13032         template <class V>
13033         BOOST_QVM_INLINE_TRIVIAL
13034         typename enable_if_c<
13035             is_vec<V>::value && vec_traits<V>::dim>=3,
13036             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13037         X00Z( V & a )
13038             {
13039             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13040             }
13041         template <class V>
13042         BOOST_QVM_INLINE_TRIVIAL
13043         typename enable_if_c<
13044             is_vec<V>::value && vec_traits<V>::dim>=4,
13045             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13046         _1W0Z( V const & a )
13047             {
13048             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13049             }
13050         template <class V>
13051         BOOST_QVM_INLINE_TRIVIAL
13052         typename enable_if_c<
13053             is_vec<V>::value && vec_traits<V>::dim>=4,
13054             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13055         _1W0Z( V & a )
13056             {
13057             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13058             }
13059         template <class V>
13060         BOOST_QVM_INLINE_TRIVIAL
13061         typename enable_if_c<
13062             is_vec<V>::value && vec_traits<V>::dim>=4,
13063             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13064         _0W0Z( V const & a )
13065             {
13066             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13067             }
13068         template <class V>
13069         BOOST_QVM_INLINE_TRIVIAL
13070         typename enable_if_c<
13071             is_vec<V>::value && vec_traits<V>::dim>=4,
13072             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13073         _0W0Z( V & a )
13074             {
13075             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13076             }
13077         template <class V>
13078         BOOST_QVM_INLINE_TRIVIAL
13079         typename enable_if_c<
13080             is_vec<V>::value && vec_traits<V>::dim>=4,
13081             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13082         WW0Z( V const & a )
13083             {
13084             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13085             }
13086         template <class V>
13087         BOOST_QVM_INLINE_TRIVIAL
13088         typename enable_if_c<
13089             is_vec<V>::value && vec_traits<V>::dim>=4,
13090             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13091         WW0Z( V & a )
13092             {
13093             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13094             }
13095         template <class V>
13096         BOOST_QVM_INLINE_TRIVIAL
13097         typename enable_if_c<
13098             is_vec<V>::value && vec_traits<V>::dim>=4,
13099             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13100         ZW0Z( V const & a )
13101             {
13102             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13103             }
13104         template <class V>
13105         BOOST_QVM_INLINE_TRIVIAL
13106         typename enable_if_c<
13107             is_vec<V>::value && vec_traits<V>::dim>=4,
13108             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13109         ZW0Z( V & a )
13110             {
13111             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13112             }
13113         template <class V>
13114         BOOST_QVM_INLINE_TRIVIAL
13115         typename enable_if_c<
13116             is_vec<V>::value && vec_traits<V>::dim>=4,
13117             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13118         YW0Z( V const & a )
13119             {
13120             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13121             }
13122         template <class V>
13123         BOOST_QVM_INLINE_TRIVIAL
13124         typename enable_if_c<
13125             is_vec<V>::value && vec_traits<V>::dim>=4,
13126             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13127         YW0Z( V & a )
13128             {
13129             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13130             }
13131         template <class V>
13132         BOOST_QVM_INLINE_TRIVIAL
13133         typename enable_if_c<
13134             is_vec<V>::value && vec_traits<V>::dim>=4,
13135             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13136         XW0Z( V const & a )
13137             {
13138             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13139             }
13140         template <class V>
13141         BOOST_QVM_INLINE_TRIVIAL
13142         typename enable_if_c<
13143             is_vec<V>::value && vec_traits<V>::dim>=4,
13144             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13145         XW0Z( V & a )
13146             {
13147             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13148             }
13149         template <class V>
13150         BOOST_QVM_INLINE_TRIVIAL
13151         typename enable_if_c<
13152             is_vec<V>::value && vec_traits<V>::dim>=3,
13153             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13154         _1Z0Z( V const & a )
13155             {
13156             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13157             }
13158         template <class V>
13159         BOOST_QVM_INLINE_TRIVIAL
13160         typename enable_if_c<
13161             is_vec<V>::value && vec_traits<V>::dim>=3,
13162             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13163         _1Z0Z( V & a )
13164             {
13165             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13166             }
13167         template <class V>
13168         BOOST_QVM_INLINE_TRIVIAL
13169         typename enable_if_c<
13170             is_vec<V>::value && vec_traits<V>::dim>=3,
13171             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13172         _0Z0Z( V const & a )
13173             {
13174             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13175             }
13176         template <class V>
13177         BOOST_QVM_INLINE_TRIVIAL
13178         typename enable_if_c<
13179             is_vec<V>::value && vec_traits<V>::dim>=3,
13180             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13181         _0Z0Z( V & a )
13182             {
13183             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13184             }
13185         template <class V>
13186         BOOST_QVM_INLINE_TRIVIAL
13187         typename enable_if_c<
13188             is_vec<V>::value && vec_traits<V>::dim>=4,
13189             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13190         WZ0Z( V const & a )
13191             {
13192             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13193             }
13194         template <class V>
13195         BOOST_QVM_INLINE_TRIVIAL
13196         typename enable_if_c<
13197             is_vec<V>::value && vec_traits<V>::dim>=4,
13198             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13199         WZ0Z( V & a )
13200             {
13201             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13202             }
13203         template <class V>
13204         BOOST_QVM_INLINE_TRIVIAL
13205         typename enable_if_c<
13206             is_vec<V>::value && vec_traits<V>::dim>=3,
13207             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13208         ZZ0Z( V const & a )
13209             {
13210             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13211             }
13212         template <class V>
13213         BOOST_QVM_INLINE_TRIVIAL
13214         typename enable_if_c<
13215             is_vec<V>::value && vec_traits<V>::dim>=3,
13216             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13217         ZZ0Z( V & a )
13218             {
13219             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13220             }
13221         template <class V>
13222         BOOST_QVM_INLINE_TRIVIAL
13223         typename enable_if_c<
13224             is_vec<V>::value && vec_traits<V>::dim>=3,
13225             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13226         YZ0Z( V const & a )
13227             {
13228             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13229             }
13230         template <class V>
13231         BOOST_QVM_INLINE_TRIVIAL
13232         typename enable_if_c<
13233             is_vec<V>::value && vec_traits<V>::dim>=3,
13234             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13235         YZ0Z( V & a )
13236             {
13237             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13238             }
13239         template <class V>
13240         BOOST_QVM_INLINE_TRIVIAL
13241         typename enable_if_c<
13242             is_vec<V>::value && vec_traits<V>::dim>=3,
13243             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13244         XZ0Z( V const & a )
13245             {
13246             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13247             }
13248         template <class V>
13249         BOOST_QVM_INLINE_TRIVIAL
13250         typename enable_if_c<
13251             is_vec<V>::value && vec_traits<V>::dim>=3,
13252             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13253         XZ0Z( V & a )
13254             {
13255             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13256             }
13257         template <class V>
13258         BOOST_QVM_INLINE_TRIVIAL
13259         typename enable_if_c<
13260             is_vec<V>::value && vec_traits<V>::dim>=3,
13261             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13262         _1Y0Z( V const & a )
13263             {
13264             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13265             }
13266         template <class V>
13267         BOOST_QVM_INLINE_TRIVIAL
13268         typename enable_if_c<
13269             is_vec<V>::value && vec_traits<V>::dim>=3,
13270             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13271         _1Y0Z( V & a )
13272             {
13273             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13274             }
13275         template <class V>
13276         BOOST_QVM_INLINE_TRIVIAL
13277         typename enable_if_c<
13278             is_vec<V>::value && vec_traits<V>::dim>=3,
13279             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13280         _0Y0Z( V const & a )
13281             {
13282             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13283             }
13284         template <class V>
13285         BOOST_QVM_INLINE_TRIVIAL
13286         typename enable_if_c<
13287             is_vec<V>::value && vec_traits<V>::dim>=3,
13288             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13289         _0Y0Z( V & a )
13290             {
13291             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13292             }
13293         template <class V>
13294         BOOST_QVM_INLINE_TRIVIAL
13295         typename enable_if_c<
13296             is_vec<V>::value && vec_traits<V>::dim>=4,
13297             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13298         WY0Z( V const & a )
13299             {
13300             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13301             }
13302         template <class V>
13303         BOOST_QVM_INLINE_TRIVIAL
13304         typename enable_if_c<
13305             is_vec<V>::value && vec_traits<V>::dim>=4,
13306             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13307         WY0Z( V & a )
13308             {
13309             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13310             }
13311         template <class V>
13312         BOOST_QVM_INLINE_TRIVIAL
13313         typename enable_if_c<
13314             is_vec<V>::value && vec_traits<V>::dim>=3,
13315             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13316         ZY0Z( V const & a )
13317             {
13318             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13319             }
13320         template <class V>
13321         BOOST_QVM_INLINE_TRIVIAL
13322         typename enable_if_c<
13323             is_vec<V>::value && vec_traits<V>::dim>=3,
13324             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13325         ZY0Z( V & a )
13326             {
13327             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13328             }
13329         template <class V>
13330         BOOST_QVM_INLINE_TRIVIAL
13331         typename enable_if_c<
13332             is_vec<V>::value && vec_traits<V>::dim>=3,
13333             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13334         YY0Z( V const & a )
13335             {
13336             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13337             }
13338         template <class V>
13339         BOOST_QVM_INLINE_TRIVIAL
13340         typename enable_if_c<
13341             is_vec<V>::value && vec_traits<V>::dim>=3,
13342             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13343         YY0Z( V & a )
13344             {
13345             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13346             }
13347         template <class V>
13348         BOOST_QVM_INLINE_TRIVIAL
13349         typename enable_if_c<
13350             is_vec<V>::value && vec_traits<V>::dim>=3,
13351             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13352         XY0Z( V const & a )
13353             {
13354             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13355             }
13356         template <class V>
13357         BOOST_QVM_INLINE_TRIVIAL
13358         typename enable_if_c<
13359             is_vec<V>::value && vec_traits<V>::dim>=3,
13360             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13361         XY0Z( V & a )
13362             {
13363             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13364             }
13365         template <class V>
13366         BOOST_QVM_INLINE_TRIVIAL
13367         typename enable_if_c<
13368             is_vec<V>::value && vec_traits<V>::dim>=3,
13369             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13370         _1X0Z( V const & a )
13371             {
13372             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13373             }
13374         template <class V>
13375         BOOST_QVM_INLINE_TRIVIAL
13376         typename enable_if_c<
13377             is_vec<V>::value && vec_traits<V>::dim>=3,
13378             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13379         _1X0Z( V & a )
13380             {
13381             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13382             }
13383         template <class V>
13384         BOOST_QVM_INLINE_TRIVIAL
13385         typename enable_if_c<
13386             is_vec<V>::value && vec_traits<V>::dim>=3,
13387             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13388         _0X0Z( V const & a )
13389             {
13390             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13391             }
13392         template <class V>
13393         BOOST_QVM_INLINE_TRIVIAL
13394         typename enable_if_c<
13395             is_vec<V>::value && vec_traits<V>::dim>=3,
13396             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13397         _0X0Z( V & a )
13398             {
13399             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13400             }
13401         template <class V>
13402         BOOST_QVM_INLINE_TRIVIAL
13403         typename enable_if_c<
13404             is_vec<V>::value && vec_traits<V>::dim>=4,
13405             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13406         WX0Z( V const & a )
13407             {
13408             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13409             }
13410         template <class V>
13411         BOOST_QVM_INLINE_TRIVIAL
13412         typename enable_if_c<
13413             is_vec<V>::value && vec_traits<V>::dim>=4,
13414             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13415         WX0Z( V & a )
13416             {
13417             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13418             }
13419         template <class V>
13420         BOOST_QVM_INLINE_TRIVIAL
13421         typename enable_if_c<
13422             is_vec<V>::value && vec_traits<V>::dim>=3,
13423             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13424         ZX0Z( V const & a )
13425             {
13426             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13427             }
13428         template <class V>
13429         BOOST_QVM_INLINE_TRIVIAL
13430         typename enable_if_c<
13431             is_vec<V>::value && vec_traits<V>::dim>=3,
13432             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13433         ZX0Z( V & a )
13434             {
13435             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13436             }
13437         template <class V>
13438         BOOST_QVM_INLINE_TRIVIAL
13439         typename enable_if_c<
13440             is_vec<V>::value && vec_traits<V>::dim>=3,
13441             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13442         YX0Z( V const & a )
13443             {
13444             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13445             }
13446         template <class V>
13447         BOOST_QVM_INLINE_TRIVIAL
13448         typename enable_if_c<
13449             is_vec<V>::value && vec_traits<V>::dim>=3,
13450             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13451         YX0Z( V & a )
13452             {
13453             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13454             }
13455         template <class V>
13456         BOOST_QVM_INLINE_TRIVIAL
13457         typename enable_if_c<
13458             is_vec<V>::value && vec_traits<V>::dim>=3,
13459             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13460         XX0Z( V const & a )
13461             {
13462             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13463             }
13464         template <class V>
13465         BOOST_QVM_INLINE_TRIVIAL
13466         typename enable_if_c<
13467             is_vec<V>::value && vec_traits<V>::dim>=3,
13468             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>::type
13469         XX0Z( V & a )
13470             {
13471             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13472             }
13473         template <class V>
13474         BOOST_QVM_INLINE_TRIVIAL
13475         typename enable_if_c<
13476             is_vec<V>::value && vec_traits<V>::dim>=4,
13477             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13478         _11WZ( V const & a )
13479             {
13480             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13481             }
13482         template <class V>
13483         BOOST_QVM_INLINE_TRIVIAL
13484         typename enable_if_c<
13485             is_vec<V>::value && vec_traits<V>::dim>=4,
13486             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13487         _11WZ( V & a )
13488             {
13489             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13490             }
13491         template <class V>
13492         BOOST_QVM_INLINE_TRIVIAL
13493         typename enable_if_c<
13494             is_vec<V>::value && vec_traits<V>::dim>=4,
13495             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13496         _01WZ( V const & a )
13497             {
13498             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13499             }
13500         template <class V>
13501         BOOST_QVM_INLINE_TRIVIAL
13502         typename enable_if_c<
13503             is_vec<V>::value && vec_traits<V>::dim>=4,
13504             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13505         _01WZ( V & a )
13506             {
13507             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13508             }
13509         template <class V>
13510         BOOST_QVM_INLINE_TRIVIAL
13511         typename enable_if_c<
13512             is_vec<V>::value && vec_traits<V>::dim>=4,
13513             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13514         W1WZ( V const & a )
13515             {
13516             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13517             }
13518         template <class V>
13519         BOOST_QVM_INLINE_TRIVIAL
13520         typename enable_if_c<
13521             is_vec<V>::value && vec_traits<V>::dim>=4,
13522             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13523         W1WZ( V & a )
13524             {
13525             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13526             }
13527         template <class V>
13528         BOOST_QVM_INLINE_TRIVIAL
13529         typename enable_if_c<
13530             is_vec<V>::value && vec_traits<V>::dim>=4,
13531             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13532         Z1WZ( V const & a )
13533             {
13534             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13535             }
13536         template <class V>
13537         BOOST_QVM_INLINE_TRIVIAL
13538         typename enable_if_c<
13539             is_vec<V>::value && vec_traits<V>::dim>=4,
13540             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13541         Z1WZ( V & a )
13542             {
13543             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13544             }
13545         template <class V>
13546         BOOST_QVM_INLINE_TRIVIAL
13547         typename enable_if_c<
13548             is_vec<V>::value && vec_traits<V>::dim>=4,
13549             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13550         Y1WZ( V const & a )
13551             {
13552             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13553             }
13554         template <class V>
13555         BOOST_QVM_INLINE_TRIVIAL
13556         typename enable_if_c<
13557             is_vec<V>::value && vec_traits<V>::dim>=4,
13558             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13559         Y1WZ( V & a )
13560             {
13561             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13562             }
13563         template <class V>
13564         BOOST_QVM_INLINE_TRIVIAL
13565         typename enable_if_c<
13566             is_vec<V>::value && vec_traits<V>::dim>=4,
13567             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13568         X1WZ( V const & a )
13569             {
13570             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13571             }
13572         template <class V>
13573         BOOST_QVM_INLINE_TRIVIAL
13574         typename enable_if_c<
13575             is_vec<V>::value && vec_traits<V>::dim>=4,
13576             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13577         X1WZ( V & a )
13578             {
13579             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13580             }
13581         template <class V>
13582         BOOST_QVM_INLINE_TRIVIAL
13583         typename enable_if_c<
13584             is_vec<V>::value && vec_traits<V>::dim>=4,
13585             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13586         _10WZ( V const & a )
13587             {
13588             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13589             }
13590         template <class V>
13591         BOOST_QVM_INLINE_TRIVIAL
13592         typename enable_if_c<
13593             is_vec<V>::value && vec_traits<V>::dim>=4,
13594             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13595         _10WZ( V & a )
13596             {
13597             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13598             }
13599         template <class V>
13600         BOOST_QVM_INLINE_TRIVIAL
13601         typename enable_if_c<
13602             is_vec<V>::value && vec_traits<V>::dim>=4,
13603             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13604         _00WZ( V const & a )
13605             {
13606             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13607             }
13608         template <class V>
13609         BOOST_QVM_INLINE_TRIVIAL
13610         typename enable_if_c<
13611             is_vec<V>::value && vec_traits<V>::dim>=4,
13612             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13613         _00WZ( V & a )
13614             {
13615             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13616             }
13617         template <class V>
13618         BOOST_QVM_INLINE_TRIVIAL
13619         typename enable_if_c<
13620             is_vec<V>::value && vec_traits<V>::dim>=4,
13621             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13622         W0WZ( V const & a )
13623             {
13624             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13625             }
13626         template <class V>
13627         BOOST_QVM_INLINE_TRIVIAL
13628         typename enable_if_c<
13629             is_vec<V>::value && vec_traits<V>::dim>=4,
13630             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13631         W0WZ( V & a )
13632             {
13633             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13634             }
13635         template <class V>
13636         BOOST_QVM_INLINE_TRIVIAL
13637         typename enable_if_c<
13638             is_vec<V>::value && vec_traits<V>::dim>=4,
13639             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13640         Z0WZ( V const & a )
13641             {
13642             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13643             }
13644         template <class V>
13645         BOOST_QVM_INLINE_TRIVIAL
13646         typename enable_if_c<
13647             is_vec<V>::value && vec_traits<V>::dim>=4,
13648             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13649         Z0WZ( V & a )
13650             {
13651             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13652             }
13653         template <class V>
13654         BOOST_QVM_INLINE_TRIVIAL
13655         typename enable_if_c<
13656             is_vec<V>::value && vec_traits<V>::dim>=4,
13657             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13658         Y0WZ( V const & a )
13659             {
13660             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13661             }
13662         template <class V>
13663         BOOST_QVM_INLINE_TRIVIAL
13664         typename enable_if_c<
13665             is_vec<V>::value && vec_traits<V>::dim>=4,
13666             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13667         Y0WZ( V & a )
13668             {
13669             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13670             }
13671         template <class V>
13672         BOOST_QVM_INLINE_TRIVIAL
13673         typename enable_if_c<
13674             is_vec<V>::value && vec_traits<V>::dim>=4,
13675             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13676         X0WZ( V const & a )
13677             {
13678             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13679             }
13680         template <class V>
13681         BOOST_QVM_INLINE_TRIVIAL
13682         typename enable_if_c<
13683             is_vec<V>::value && vec_traits<V>::dim>=4,
13684             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13685         X0WZ( V & a )
13686             {
13687             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13688             }
13689         template <class V>
13690         BOOST_QVM_INLINE_TRIVIAL
13691         typename enable_if_c<
13692             is_vec<V>::value && vec_traits<V>::dim>=4,
13693             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13694         _1WWZ( V const & a )
13695             {
13696             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13697             }
13698         template <class V>
13699         BOOST_QVM_INLINE_TRIVIAL
13700         typename enable_if_c<
13701             is_vec<V>::value && vec_traits<V>::dim>=4,
13702             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13703         _1WWZ( V & a )
13704             {
13705             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13706             }
13707         template <class V>
13708         BOOST_QVM_INLINE_TRIVIAL
13709         typename enable_if_c<
13710             is_vec<V>::value && vec_traits<V>::dim>=4,
13711             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13712         _0WWZ( V const & a )
13713             {
13714             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13715             }
13716         template <class V>
13717         BOOST_QVM_INLINE_TRIVIAL
13718         typename enable_if_c<
13719             is_vec<V>::value && vec_traits<V>::dim>=4,
13720             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13721         _0WWZ( V & a )
13722             {
13723             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13724             }
13725         template <class V>
13726         BOOST_QVM_INLINE_TRIVIAL
13727         typename enable_if_c<
13728             is_vec<V>::value && vec_traits<V>::dim>=4,
13729             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13730         WWWZ( V const & a )
13731             {
13732             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13733             }
13734         template <class V>
13735         BOOST_QVM_INLINE_TRIVIAL
13736         typename enable_if_c<
13737             is_vec<V>::value && vec_traits<V>::dim>=4,
13738             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13739         WWWZ( V & a )
13740             {
13741             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13742             }
13743         template <class V>
13744         BOOST_QVM_INLINE_TRIVIAL
13745         typename enable_if_c<
13746             is_vec<V>::value && vec_traits<V>::dim>=4,
13747             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13748         ZWWZ( V const & a )
13749             {
13750             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13751             }
13752         template <class V>
13753         BOOST_QVM_INLINE_TRIVIAL
13754         typename enable_if_c<
13755             is_vec<V>::value && vec_traits<V>::dim>=4,
13756             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13757         ZWWZ( V & a )
13758             {
13759             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13760             }
13761         template <class V>
13762         BOOST_QVM_INLINE_TRIVIAL
13763         typename enable_if_c<
13764             is_vec<V>::value && vec_traits<V>::dim>=4,
13765             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13766         YWWZ( V const & a )
13767             {
13768             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13769             }
13770         template <class V>
13771         BOOST_QVM_INLINE_TRIVIAL
13772         typename enable_if_c<
13773             is_vec<V>::value && vec_traits<V>::dim>=4,
13774             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13775         YWWZ( V & a )
13776             {
13777             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13778             }
13779         template <class V>
13780         BOOST_QVM_INLINE_TRIVIAL
13781         typename enable_if_c<
13782             is_vec<V>::value && vec_traits<V>::dim>=4,
13783             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13784         XWWZ( V const & a )
13785             {
13786             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13787             }
13788         template <class V>
13789         BOOST_QVM_INLINE_TRIVIAL
13790         typename enable_if_c<
13791             is_vec<V>::value && vec_traits<V>::dim>=4,
13792             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13793         XWWZ( V & a )
13794             {
13795             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13796             }
13797         template <class V>
13798         BOOST_QVM_INLINE_TRIVIAL
13799         typename enable_if_c<
13800             is_vec<V>::value && vec_traits<V>::dim>=4,
13801             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13802         _1ZWZ( V const & a )
13803             {
13804             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13805             }
13806         template <class V>
13807         BOOST_QVM_INLINE_TRIVIAL
13808         typename enable_if_c<
13809             is_vec<V>::value && vec_traits<V>::dim>=4,
13810             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13811         _1ZWZ( V & a )
13812             {
13813             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13814             }
13815         template <class V>
13816         BOOST_QVM_INLINE_TRIVIAL
13817         typename enable_if_c<
13818             is_vec<V>::value && vec_traits<V>::dim>=4,
13819             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13820         _0ZWZ( V const & a )
13821             {
13822             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13823             }
13824         template <class V>
13825         BOOST_QVM_INLINE_TRIVIAL
13826         typename enable_if_c<
13827             is_vec<V>::value && vec_traits<V>::dim>=4,
13828             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13829         _0ZWZ( V & a )
13830             {
13831             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13832             }
13833         template <class V>
13834         BOOST_QVM_INLINE_TRIVIAL
13835         typename enable_if_c<
13836             is_vec<V>::value && vec_traits<V>::dim>=4,
13837             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13838         WZWZ( V const & a )
13839             {
13840             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13841             }
13842         template <class V>
13843         BOOST_QVM_INLINE_TRIVIAL
13844         typename enable_if_c<
13845             is_vec<V>::value && vec_traits<V>::dim>=4,
13846             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13847         WZWZ( V & a )
13848             {
13849             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13850             }
13851         template <class V>
13852         BOOST_QVM_INLINE_TRIVIAL
13853         typename enable_if_c<
13854             is_vec<V>::value && vec_traits<V>::dim>=4,
13855             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13856         ZZWZ( V const & a )
13857             {
13858             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13859             }
13860         template <class V>
13861         BOOST_QVM_INLINE_TRIVIAL
13862         typename enable_if_c<
13863             is_vec<V>::value && vec_traits<V>::dim>=4,
13864             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13865         ZZWZ( V & a )
13866             {
13867             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13868             }
13869         template <class V>
13870         BOOST_QVM_INLINE_TRIVIAL
13871         typename enable_if_c<
13872             is_vec<V>::value && vec_traits<V>::dim>=4,
13873             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13874         YZWZ( V const & a )
13875             {
13876             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13877             }
13878         template <class V>
13879         BOOST_QVM_INLINE_TRIVIAL
13880         typename enable_if_c<
13881             is_vec<V>::value && vec_traits<V>::dim>=4,
13882             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13883         YZWZ( V & a )
13884             {
13885             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13886             }
13887         template <class V>
13888         BOOST_QVM_INLINE_TRIVIAL
13889         typename enable_if_c<
13890             is_vec<V>::value && vec_traits<V>::dim>=4,
13891             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13892         XZWZ( V const & a )
13893             {
13894             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13895             }
13896         template <class V>
13897         BOOST_QVM_INLINE_TRIVIAL
13898         typename enable_if_c<
13899             is_vec<V>::value && vec_traits<V>::dim>=4,
13900             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13901         XZWZ( V & a )
13902             {
13903             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13904             }
13905         template <class V>
13906         BOOST_QVM_INLINE_TRIVIAL
13907         typename enable_if_c<
13908             is_vec<V>::value && vec_traits<V>::dim>=4,
13909             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13910         _1YWZ( V const & a )
13911             {
13912             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13913             }
13914         template <class V>
13915         BOOST_QVM_INLINE_TRIVIAL
13916         typename enable_if_c<
13917             is_vec<V>::value && vec_traits<V>::dim>=4,
13918             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13919         _1YWZ( V & a )
13920             {
13921             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13922             }
13923         template <class V>
13924         BOOST_QVM_INLINE_TRIVIAL
13925         typename enable_if_c<
13926             is_vec<V>::value && vec_traits<V>::dim>=4,
13927             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13928         _0YWZ( V const & a )
13929             {
13930             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13931             }
13932         template <class V>
13933         BOOST_QVM_INLINE_TRIVIAL
13934         typename enable_if_c<
13935             is_vec<V>::value && vec_traits<V>::dim>=4,
13936             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13937         _0YWZ( V & a )
13938             {
13939             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13940             }
13941         template <class V>
13942         BOOST_QVM_INLINE_TRIVIAL
13943         typename enable_if_c<
13944             is_vec<V>::value && vec_traits<V>::dim>=4,
13945             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13946         WYWZ( V const & a )
13947             {
13948             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13949             }
13950         template <class V>
13951         BOOST_QVM_INLINE_TRIVIAL
13952         typename enable_if_c<
13953             is_vec<V>::value && vec_traits<V>::dim>=4,
13954             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13955         WYWZ( V & a )
13956             {
13957             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13958             }
13959         template <class V>
13960         BOOST_QVM_INLINE_TRIVIAL
13961         typename enable_if_c<
13962             is_vec<V>::value && vec_traits<V>::dim>=4,
13963             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13964         ZYWZ( V const & a )
13965             {
13966             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13967             }
13968         template <class V>
13969         BOOST_QVM_INLINE_TRIVIAL
13970         typename enable_if_c<
13971             is_vec<V>::value && vec_traits<V>::dim>=4,
13972             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13973         ZYWZ( V & a )
13974             {
13975             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13976             }
13977         template <class V>
13978         BOOST_QVM_INLINE_TRIVIAL
13979         typename enable_if_c<
13980             is_vec<V>::value && vec_traits<V>::dim>=4,
13981             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
13982         YYWZ( V const & a )
13983             {
13984             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
13985             }
13986         template <class V>
13987         BOOST_QVM_INLINE_TRIVIAL
13988         typename enable_if_c<
13989             is_vec<V>::value && vec_traits<V>::dim>=4,
13990             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
13991         YYWZ( V & a )
13992             {
13993             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
13994             }
13995         template <class V>
13996         BOOST_QVM_INLINE_TRIVIAL
13997         typename enable_if_c<
13998             is_vec<V>::value && vec_traits<V>::dim>=4,
13999             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14000         XYWZ( V const & a )
14001             {
14002             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14003             }
14004         template <class V>
14005         BOOST_QVM_INLINE_TRIVIAL
14006         typename enable_if_c<
14007             is_vec<V>::value && vec_traits<V>::dim>=4,
14008             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
14009         XYWZ( V & a )
14010             {
14011             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14012             }
14013         template <class V>
14014         BOOST_QVM_INLINE_TRIVIAL
14015         typename enable_if_c<
14016             is_vec<V>::value && vec_traits<V>::dim>=4,
14017             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14018         _1XWZ( V const & a )
14019             {
14020             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14021             }
14022         template <class V>
14023         BOOST_QVM_INLINE_TRIVIAL
14024         typename enable_if_c<
14025             is_vec<V>::value && vec_traits<V>::dim>=4,
14026             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
14027         _1XWZ( V & a )
14028             {
14029             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14030             }
14031         template <class V>
14032         BOOST_QVM_INLINE_TRIVIAL
14033         typename enable_if_c<
14034             is_vec<V>::value && vec_traits<V>::dim>=4,
14035             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14036         _0XWZ( V const & a )
14037             {
14038             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14039             }
14040         template <class V>
14041         BOOST_QVM_INLINE_TRIVIAL
14042         typename enable_if_c<
14043             is_vec<V>::value && vec_traits<V>::dim>=4,
14044             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
14045         _0XWZ( V & a )
14046             {
14047             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14048             }
14049         template <class V>
14050         BOOST_QVM_INLINE_TRIVIAL
14051         typename enable_if_c<
14052             is_vec<V>::value && vec_traits<V>::dim>=4,
14053             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14054         WXWZ( V const & a )
14055             {
14056             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14057             }
14058         template <class V>
14059         BOOST_QVM_INLINE_TRIVIAL
14060         typename enable_if_c<
14061             is_vec<V>::value && vec_traits<V>::dim>=4,
14062             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
14063         WXWZ( V & a )
14064             {
14065             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14066             }
14067         template <class V>
14068         BOOST_QVM_INLINE_TRIVIAL
14069         typename enable_if_c<
14070             is_vec<V>::value && vec_traits<V>::dim>=4,
14071             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14072         ZXWZ( V const & a )
14073             {
14074             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14075             }
14076         template <class V>
14077         BOOST_QVM_INLINE_TRIVIAL
14078         typename enable_if_c<
14079             is_vec<V>::value && vec_traits<V>::dim>=4,
14080             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
14081         ZXWZ( V & a )
14082             {
14083             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14084             }
14085         template <class V>
14086         BOOST_QVM_INLINE_TRIVIAL
14087         typename enable_if_c<
14088             is_vec<V>::value && vec_traits<V>::dim>=4,
14089             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14090         YXWZ( V const & a )
14091             {
14092             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14093             }
14094         template <class V>
14095         BOOST_QVM_INLINE_TRIVIAL
14096         typename enable_if_c<
14097             is_vec<V>::value && vec_traits<V>::dim>=4,
14098             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
14099         YXWZ( V & a )
14100             {
14101             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14102             }
14103         template <class V>
14104         BOOST_QVM_INLINE_TRIVIAL
14105         typename enable_if_c<
14106             is_vec<V>::value && vec_traits<V>::dim>=4,
14107             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14108         XXWZ( V const & a )
14109             {
14110             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14111             }
14112         template <class V>
14113         BOOST_QVM_INLINE_TRIVIAL
14114         typename enable_if_c<
14115             is_vec<V>::value && vec_traits<V>::dim>=4,
14116             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>::type
14117         XXWZ( V & a )
14118             {
14119             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14120             }
14121         template <class V>
14122         BOOST_QVM_INLINE_TRIVIAL
14123         typename enable_if_c<
14124             is_vec<V>::value && vec_traits<V>::dim>=3,
14125             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14126         _11ZZ( V const & a )
14127             {
14128             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14129             }
14130         template <class V>
14131         BOOST_QVM_INLINE_TRIVIAL
14132         typename enable_if_c<
14133             is_vec<V>::value && vec_traits<V>::dim>=3,
14134             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14135         _11ZZ( V & a )
14136             {
14137             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14138             }
14139         template <class V>
14140         BOOST_QVM_INLINE_TRIVIAL
14141         typename enable_if_c<
14142             is_vec<V>::value && vec_traits<V>::dim>=3,
14143             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14144         _01ZZ( V const & a )
14145             {
14146             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14147             }
14148         template <class V>
14149         BOOST_QVM_INLINE_TRIVIAL
14150         typename enable_if_c<
14151             is_vec<V>::value && vec_traits<V>::dim>=3,
14152             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14153         _01ZZ( V & a )
14154             {
14155             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14156             }
14157         template <class V>
14158         BOOST_QVM_INLINE_TRIVIAL
14159         typename enable_if_c<
14160             is_vec<V>::value && vec_traits<V>::dim>=4,
14161             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14162         W1ZZ( V const & a )
14163             {
14164             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14165             }
14166         template <class V>
14167         BOOST_QVM_INLINE_TRIVIAL
14168         typename enable_if_c<
14169             is_vec<V>::value && vec_traits<V>::dim>=4,
14170             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14171         W1ZZ( V & a )
14172             {
14173             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14174             }
14175         template <class V>
14176         BOOST_QVM_INLINE_TRIVIAL
14177         typename enable_if_c<
14178             is_vec<V>::value && vec_traits<V>::dim>=3,
14179             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14180         Z1ZZ( V const & a )
14181             {
14182             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14183             }
14184         template <class V>
14185         BOOST_QVM_INLINE_TRIVIAL
14186         typename enable_if_c<
14187             is_vec<V>::value && vec_traits<V>::dim>=3,
14188             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14189         Z1ZZ( V & a )
14190             {
14191             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14192             }
14193         template <class V>
14194         BOOST_QVM_INLINE_TRIVIAL
14195         typename enable_if_c<
14196             is_vec<V>::value && vec_traits<V>::dim>=3,
14197             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14198         Y1ZZ( V const & a )
14199             {
14200             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14201             }
14202         template <class V>
14203         BOOST_QVM_INLINE_TRIVIAL
14204         typename enable_if_c<
14205             is_vec<V>::value && vec_traits<V>::dim>=3,
14206             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14207         Y1ZZ( V & a )
14208             {
14209             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14210             }
14211         template <class V>
14212         BOOST_QVM_INLINE_TRIVIAL
14213         typename enable_if_c<
14214             is_vec<V>::value && vec_traits<V>::dim>=3,
14215             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14216         X1ZZ( V const & a )
14217             {
14218             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14219             }
14220         template <class V>
14221         BOOST_QVM_INLINE_TRIVIAL
14222         typename enable_if_c<
14223             is_vec<V>::value && vec_traits<V>::dim>=3,
14224             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14225         X1ZZ( V & a )
14226             {
14227             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14228             }
14229         template <class V>
14230         BOOST_QVM_INLINE_TRIVIAL
14231         typename enable_if_c<
14232             is_vec<V>::value && vec_traits<V>::dim>=3,
14233             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14234         _10ZZ( V const & a )
14235             {
14236             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14237             }
14238         template <class V>
14239         BOOST_QVM_INLINE_TRIVIAL
14240         typename enable_if_c<
14241             is_vec<V>::value && vec_traits<V>::dim>=3,
14242             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14243         _10ZZ( V & a )
14244             {
14245             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14246             }
14247         template <class V>
14248         BOOST_QVM_INLINE_TRIVIAL
14249         typename enable_if_c<
14250             is_vec<V>::value && vec_traits<V>::dim>=3,
14251             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14252         _00ZZ( V const & a )
14253             {
14254             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14255             }
14256         template <class V>
14257         BOOST_QVM_INLINE_TRIVIAL
14258         typename enable_if_c<
14259             is_vec<V>::value && vec_traits<V>::dim>=3,
14260             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14261         _00ZZ( V & a )
14262             {
14263             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14264             }
14265         template <class V>
14266         BOOST_QVM_INLINE_TRIVIAL
14267         typename enable_if_c<
14268             is_vec<V>::value && vec_traits<V>::dim>=4,
14269             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14270         W0ZZ( V const & a )
14271             {
14272             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14273             }
14274         template <class V>
14275         BOOST_QVM_INLINE_TRIVIAL
14276         typename enable_if_c<
14277             is_vec<V>::value && vec_traits<V>::dim>=4,
14278             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14279         W0ZZ( V & a )
14280             {
14281             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14282             }
14283         template <class V>
14284         BOOST_QVM_INLINE_TRIVIAL
14285         typename enable_if_c<
14286             is_vec<V>::value && vec_traits<V>::dim>=3,
14287             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14288         Z0ZZ( V const & a )
14289             {
14290             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14291             }
14292         template <class V>
14293         BOOST_QVM_INLINE_TRIVIAL
14294         typename enable_if_c<
14295             is_vec<V>::value && vec_traits<V>::dim>=3,
14296             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14297         Z0ZZ( V & a )
14298             {
14299             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14300             }
14301         template <class V>
14302         BOOST_QVM_INLINE_TRIVIAL
14303         typename enable_if_c<
14304             is_vec<V>::value && vec_traits<V>::dim>=3,
14305             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14306         Y0ZZ( V const & a )
14307             {
14308             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14309             }
14310         template <class V>
14311         BOOST_QVM_INLINE_TRIVIAL
14312         typename enable_if_c<
14313             is_vec<V>::value && vec_traits<V>::dim>=3,
14314             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14315         Y0ZZ( V & a )
14316             {
14317             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14318             }
14319         template <class V>
14320         BOOST_QVM_INLINE_TRIVIAL
14321         typename enable_if_c<
14322             is_vec<V>::value && vec_traits<V>::dim>=3,
14323             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14324         X0ZZ( V const & a )
14325             {
14326             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14327             }
14328         template <class V>
14329         BOOST_QVM_INLINE_TRIVIAL
14330         typename enable_if_c<
14331             is_vec<V>::value && vec_traits<V>::dim>=3,
14332             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14333         X0ZZ( V & a )
14334             {
14335             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14336             }
14337         template <class V>
14338         BOOST_QVM_INLINE_TRIVIAL
14339         typename enable_if_c<
14340             is_vec<V>::value && vec_traits<V>::dim>=4,
14341             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14342         _1WZZ( V const & a )
14343             {
14344             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14345             }
14346         template <class V>
14347         BOOST_QVM_INLINE_TRIVIAL
14348         typename enable_if_c<
14349             is_vec<V>::value && vec_traits<V>::dim>=4,
14350             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14351         _1WZZ( V & a )
14352             {
14353             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14354             }
14355         template <class V>
14356         BOOST_QVM_INLINE_TRIVIAL
14357         typename enable_if_c<
14358             is_vec<V>::value && vec_traits<V>::dim>=4,
14359             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14360         _0WZZ( V const & a )
14361             {
14362             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14363             }
14364         template <class V>
14365         BOOST_QVM_INLINE_TRIVIAL
14366         typename enable_if_c<
14367             is_vec<V>::value && vec_traits<V>::dim>=4,
14368             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14369         _0WZZ( V & a )
14370             {
14371             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14372             }
14373         template <class V>
14374         BOOST_QVM_INLINE_TRIVIAL
14375         typename enable_if_c<
14376             is_vec<V>::value && vec_traits<V>::dim>=4,
14377             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14378         WWZZ( V const & a )
14379             {
14380             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14381             }
14382         template <class V>
14383         BOOST_QVM_INLINE_TRIVIAL
14384         typename enable_if_c<
14385             is_vec<V>::value && vec_traits<V>::dim>=4,
14386             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14387         WWZZ( V & a )
14388             {
14389             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14390             }
14391         template <class V>
14392         BOOST_QVM_INLINE_TRIVIAL
14393         typename enable_if_c<
14394             is_vec<V>::value && vec_traits<V>::dim>=4,
14395             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14396         ZWZZ( V const & a )
14397             {
14398             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14399             }
14400         template <class V>
14401         BOOST_QVM_INLINE_TRIVIAL
14402         typename enable_if_c<
14403             is_vec<V>::value && vec_traits<V>::dim>=4,
14404             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14405         ZWZZ( V & a )
14406             {
14407             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14408             }
14409         template <class V>
14410         BOOST_QVM_INLINE_TRIVIAL
14411         typename enable_if_c<
14412             is_vec<V>::value && vec_traits<V>::dim>=4,
14413             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14414         YWZZ( V const & a )
14415             {
14416             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14417             }
14418         template <class V>
14419         BOOST_QVM_INLINE_TRIVIAL
14420         typename enable_if_c<
14421             is_vec<V>::value && vec_traits<V>::dim>=4,
14422             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14423         YWZZ( V & a )
14424             {
14425             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14426             }
14427         template <class V>
14428         BOOST_QVM_INLINE_TRIVIAL
14429         typename enable_if_c<
14430             is_vec<V>::value && vec_traits<V>::dim>=4,
14431             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14432         XWZZ( V const & a )
14433             {
14434             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14435             }
14436         template <class V>
14437         BOOST_QVM_INLINE_TRIVIAL
14438         typename enable_if_c<
14439             is_vec<V>::value && vec_traits<V>::dim>=4,
14440             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14441         XWZZ( V & a )
14442             {
14443             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14444             }
14445         template <class V>
14446         BOOST_QVM_INLINE_TRIVIAL
14447         typename enable_if_c<
14448             is_vec<V>::value && vec_traits<V>::dim>=3,
14449             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14450         _1ZZZ( V const & a )
14451             {
14452             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14453             }
14454         template <class V>
14455         BOOST_QVM_INLINE_TRIVIAL
14456         typename enable_if_c<
14457             is_vec<V>::value && vec_traits<V>::dim>=3,
14458             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14459         _1ZZZ( V & a )
14460             {
14461             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14462             }
14463         template <class V>
14464         BOOST_QVM_INLINE_TRIVIAL
14465         typename enable_if_c<
14466             is_vec<V>::value && vec_traits<V>::dim>=3,
14467             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14468         _0ZZZ( V const & a )
14469             {
14470             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14471             }
14472         template <class V>
14473         BOOST_QVM_INLINE_TRIVIAL
14474         typename enable_if_c<
14475             is_vec<V>::value && vec_traits<V>::dim>=3,
14476             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14477         _0ZZZ( V & a )
14478             {
14479             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14480             }
14481         template <class V>
14482         BOOST_QVM_INLINE_TRIVIAL
14483         typename enable_if_c<
14484             is_vec<V>::value && vec_traits<V>::dim>=4,
14485             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14486         WZZZ( V const & a )
14487             {
14488             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14489             }
14490         template <class V>
14491         BOOST_QVM_INLINE_TRIVIAL
14492         typename enable_if_c<
14493             is_vec<V>::value && vec_traits<V>::dim>=4,
14494             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14495         WZZZ( V & a )
14496             {
14497             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14498             }
14499         template <class V>
14500         BOOST_QVM_INLINE_TRIVIAL
14501         typename enable_if_c<
14502             is_vec<V>::value && vec_traits<V>::dim>=3,
14503             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14504         ZZZZ( V const & a )
14505             {
14506             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14507             }
14508         template <class V>
14509         BOOST_QVM_INLINE_TRIVIAL
14510         typename enable_if_c<
14511             is_vec<V>::value && vec_traits<V>::dim>=3,
14512             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14513         ZZZZ( V & a )
14514             {
14515             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14516             }
14517         template <class V>
14518         BOOST_QVM_INLINE_TRIVIAL
14519         typename enable_if_c<
14520             is_vec<V>::value && vec_traits<V>::dim>=3,
14521             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14522         YZZZ( V const & a )
14523             {
14524             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14525             }
14526         template <class V>
14527         BOOST_QVM_INLINE_TRIVIAL
14528         typename enable_if_c<
14529             is_vec<V>::value && vec_traits<V>::dim>=3,
14530             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14531         YZZZ( V & a )
14532             {
14533             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14534             }
14535         template <class V>
14536         BOOST_QVM_INLINE_TRIVIAL
14537         typename enable_if_c<
14538             is_vec<V>::value && vec_traits<V>::dim>=3,
14539             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14540         XZZZ( V const & a )
14541             {
14542             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14543             }
14544         template <class V>
14545         BOOST_QVM_INLINE_TRIVIAL
14546         typename enable_if_c<
14547             is_vec<V>::value && vec_traits<V>::dim>=3,
14548             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14549         XZZZ( V & a )
14550             {
14551             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14552             }
14553         template <class V>
14554         BOOST_QVM_INLINE_TRIVIAL
14555         typename enable_if_c<
14556             is_vec<V>::value && vec_traits<V>::dim>=3,
14557             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14558         _1YZZ( V const & a )
14559             {
14560             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14561             }
14562         template <class V>
14563         BOOST_QVM_INLINE_TRIVIAL
14564         typename enable_if_c<
14565             is_vec<V>::value && vec_traits<V>::dim>=3,
14566             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14567         _1YZZ( V & a )
14568             {
14569             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14570             }
14571         template <class V>
14572         BOOST_QVM_INLINE_TRIVIAL
14573         typename enable_if_c<
14574             is_vec<V>::value && vec_traits<V>::dim>=3,
14575             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14576         _0YZZ( V const & a )
14577             {
14578             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14579             }
14580         template <class V>
14581         BOOST_QVM_INLINE_TRIVIAL
14582         typename enable_if_c<
14583             is_vec<V>::value && vec_traits<V>::dim>=3,
14584             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14585         _0YZZ( V & a )
14586             {
14587             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14588             }
14589         template <class V>
14590         BOOST_QVM_INLINE_TRIVIAL
14591         typename enable_if_c<
14592             is_vec<V>::value && vec_traits<V>::dim>=4,
14593             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14594         WYZZ( V const & a )
14595             {
14596             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14597             }
14598         template <class V>
14599         BOOST_QVM_INLINE_TRIVIAL
14600         typename enable_if_c<
14601             is_vec<V>::value && vec_traits<V>::dim>=4,
14602             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14603         WYZZ( V & a )
14604             {
14605             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14606             }
14607         template <class V>
14608         BOOST_QVM_INLINE_TRIVIAL
14609         typename enable_if_c<
14610             is_vec<V>::value && vec_traits<V>::dim>=3,
14611             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14612         ZYZZ( V const & a )
14613             {
14614             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14615             }
14616         template <class V>
14617         BOOST_QVM_INLINE_TRIVIAL
14618         typename enable_if_c<
14619             is_vec<V>::value && vec_traits<V>::dim>=3,
14620             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14621         ZYZZ( V & a )
14622             {
14623             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14624             }
14625         template <class V>
14626         BOOST_QVM_INLINE_TRIVIAL
14627         typename enable_if_c<
14628             is_vec<V>::value && vec_traits<V>::dim>=3,
14629             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14630         YYZZ( V const & a )
14631             {
14632             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14633             }
14634         template <class V>
14635         BOOST_QVM_INLINE_TRIVIAL
14636         typename enable_if_c<
14637             is_vec<V>::value && vec_traits<V>::dim>=3,
14638             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14639         YYZZ( V & a )
14640             {
14641             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14642             }
14643         template <class V>
14644         BOOST_QVM_INLINE_TRIVIAL
14645         typename enable_if_c<
14646             is_vec<V>::value && vec_traits<V>::dim>=3,
14647             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14648         XYZZ( V const & a )
14649             {
14650             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14651             }
14652         template <class V>
14653         BOOST_QVM_INLINE_TRIVIAL
14654         typename enable_if_c<
14655             is_vec<V>::value && vec_traits<V>::dim>=3,
14656             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14657         XYZZ( V & a )
14658             {
14659             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14660             }
14661         template <class V>
14662         BOOST_QVM_INLINE_TRIVIAL
14663         typename enable_if_c<
14664             is_vec<V>::value && vec_traits<V>::dim>=3,
14665             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14666         _1XZZ( V const & a )
14667             {
14668             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14669             }
14670         template <class V>
14671         BOOST_QVM_INLINE_TRIVIAL
14672         typename enable_if_c<
14673             is_vec<V>::value && vec_traits<V>::dim>=3,
14674             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14675         _1XZZ( V & a )
14676             {
14677             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14678             }
14679         template <class V>
14680         BOOST_QVM_INLINE_TRIVIAL
14681         typename enable_if_c<
14682             is_vec<V>::value && vec_traits<V>::dim>=3,
14683             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14684         _0XZZ( V const & a )
14685             {
14686             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14687             }
14688         template <class V>
14689         BOOST_QVM_INLINE_TRIVIAL
14690         typename enable_if_c<
14691             is_vec<V>::value && vec_traits<V>::dim>=3,
14692             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14693         _0XZZ( V & a )
14694             {
14695             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14696             }
14697         template <class V>
14698         BOOST_QVM_INLINE_TRIVIAL
14699         typename enable_if_c<
14700             is_vec<V>::value && vec_traits<V>::dim>=4,
14701             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14702         WXZZ( V const & a )
14703             {
14704             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14705             }
14706         template <class V>
14707         BOOST_QVM_INLINE_TRIVIAL
14708         typename enable_if_c<
14709             is_vec<V>::value && vec_traits<V>::dim>=4,
14710             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14711         WXZZ( V & a )
14712             {
14713             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14714             }
14715         template <class V>
14716         BOOST_QVM_INLINE_TRIVIAL
14717         typename enable_if_c<
14718             is_vec<V>::value && vec_traits<V>::dim>=3,
14719             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14720         ZXZZ( V const & a )
14721             {
14722             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14723             }
14724         template <class V>
14725         BOOST_QVM_INLINE_TRIVIAL
14726         typename enable_if_c<
14727             is_vec<V>::value && vec_traits<V>::dim>=3,
14728             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14729         ZXZZ( V & a )
14730             {
14731             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14732             }
14733         template <class V>
14734         BOOST_QVM_INLINE_TRIVIAL
14735         typename enable_if_c<
14736             is_vec<V>::value && vec_traits<V>::dim>=3,
14737             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14738         YXZZ( V const & a )
14739             {
14740             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14741             }
14742         template <class V>
14743         BOOST_QVM_INLINE_TRIVIAL
14744         typename enable_if_c<
14745             is_vec<V>::value && vec_traits<V>::dim>=3,
14746             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14747         YXZZ( V & a )
14748             {
14749             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14750             }
14751         template <class V>
14752         BOOST_QVM_INLINE_TRIVIAL
14753         typename enable_if_c<
14754             is_vec<V>::value && vec_traits<V>::dim>=3,
14755             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14756         XXZZ( V const & a )
14757             {
14758             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14759             }
14760         template <class V>
14761         BOOST_QVM_INLINE_TRIVIAL
14762         typename enable_if_c<
14763             is_vec<V>::value && vec_traits<V>::dim>=3,
14764             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>::type
14765         XXZZ( V & a )
14766             {
14767             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14768             }
14769         template <class V>
14770         BOOST_QVM_INLINE_TRIVIAL
14771         typename enable_if_c<
14772             is_vec<V>::value && vec_traits<V>::dim>=3,
14773             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14774         _11YZ( V const & a )
14775             {
14776             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14777             }
14778         template <class V>
14779         BOOST_QVM_INLINE_TRIVIAL
14780         typename enable_if_c<
14781             is_vec<V>::value && vec_traits<V>::dim>=3,
14782             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14783         _11YZ( V & a )
14784             {
14785             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14786             }
14787         template <class V>
14788         BOOST_QVM_INLINE_TRIVIAL
14789         typename enable_if_c<
14790             is_vec<V>::value && vec_traits<V>::dim>=3,
14791             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14792         _01YZ( V const & a )
14793             {
14794             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14795             }
14796         template <class V>
14797         BOOST_QVM_INLINE_TRIVIAL
14798         typename enable_if_c<
14799             is_vec<V>::value && vec_traits<V>::dim>=3,
14800             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14801         _01YZ( V & a )
14802             {
14803             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14804             }
14805         template <class V>
14806         BOOST_QVM_INLINE_TRIVIAL
14807         typename enable_if_c<
14808             is_vec<V>::value && vec_traits<V>::dim>=4,
14809             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14810         W1YZ( V const & a )
14811             {
14812             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14813             }
14814         template <class V>
14815         BOOST_QVM_INLINE_TRIVIAL
14816         typename enable_if_c<
14817             is_vec<V>::value && vec_traits<V>::dim>=4,
14818             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14819         W1YZ( V & a )
14820             {
14821             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14822             }
14823         template <class V>
14824         BOOST_QVM_INLINE_TRIVIAL
14825         typename enable_if_c<
14826             is_vec<V>::value && vec_traits<V>::dim>=3,
14827             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14828         Z1YZ( V const & a )
14829             {
14830             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14831             }
14832         template <class V>
14833         BOOST_QVM_INLINE_TRIVIAL
14834         typename enable_if_c<
14835             is_vec<V>::value && vec_traits<V>::dim>=3,
14836             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14837         Z1YZ( V & a )
14838             {
14839             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14840             }
14841         template <class V>
14842         BOOST_QVM_INLINE_TRIVIAL
14843         typename enable_if_c<
14844             is_vec<V>::value && vec_traits<V>::dim>=3,
14845             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14846         Y1YZ( V const & a )
14847             {
14848             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14849             }
14850         template <class V>
14851         BOOST_QVM_INLINE_TRIVIAL
14852         typename enable_if_c<
14853             is_vec<V>::value && vec_traits<V>::dim>=3,
14854             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14855         Y1YZ( V & a )
14856             {
14857             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14858             }
14859         template <class V>
14860         BOOST_QVM_INLINE_TRIVIAL
14861         typename enable_if_c<
14862             is_vec<V>::value && vec_traits<V>::dim>=3,
14863             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14864         X1YZ( V const & a )
14865             {
14866             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14867             }
14868         template <class V>
14869         BOOST_QVM_INLINE_TRIVIAL
14870         typename enable_if_c<
14871             is_vec<V>::value && vec_traits<V>::dim>=3,
14872             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14873         X1YZ( V & a )
14874             {
14875             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14876             }
14877         template <class V>
14878         BOOST_QVM_INLINE_TRIVIAL
14879         typename enable_if_c<
14880             is_vec<V>::value && vec_traits<V>::dim>=3,
14881             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14882         _10YZ( V const & a )
14883             {
14884             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14885             }
14886         template <class V>
14887         BOOST_QVM_INLINE_TRIVIAL
14888         typename enable_if_c<
14889             is_vec<V>::value && vec_traits<V>::dim>=3,
14890             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14891         _10YZ( V & a )
14892             {
14893             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14894             }
14895         template <class V>
14896         BOOST_QVM_INLINE_TRIVIAL
14897         typename enable_if_c<
14898             is_vec<V>::value && vec_traits<V>::dim>=3,
14899             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14900         _00YZ( V const & a )
14901             {
14902             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14903             }
14904         template <class V>
14905         BOOST_QVM_INLINE_TRIVIAL
14906         typename enable_if_c<
14907             is_vec<V>::value && vec_traits<V>::dim>=3,
14908             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14909         _00YZ( V & a )
14910             {
14911             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14912             }
14913         template <class V>
14914         BOOST_QVM_INLINE_TRIVIAL
14915         typename enable_if_c<
14916             is_vec<V>::value && vec_traits<V>::dim>=4,
14917             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14918         W0YZ( V const & a )
14919             {
14920             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14921             }
14922         template <class V>
14923         BOOST_QVM_INLINE_TRIVIAL
14924         typename enable_if_c<
14925             is_vec<V>::value && vec_traits<V>::dim>=4,
14926             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14927         W0YZ( V & a )
14928             {
14929             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14930             }
14931         template <class V>
14932         BOOST_QVM_INLINE_TRIVIAL
14933         typename enable_if_c<
14934             is_vec<V>::value && vec_traits<V>::dim>=3,
14935             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14936         Z0YZ( V const & a )
14937             {
14938             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14939             }
14940         template <class V>
14941         BOOST_QVM_INLINE_TRIVIAL
14942         typename enable_if_c<
14943             is_vec<V>::value && vec_traits<V>::dim>=3,
14944             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14945         Z0YZ( V & a )
14946             {
14947             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14948             }
14949         template <class V>
14950         BOOST_QVM_INLINE_TRIVIAL
14951         typename enable_if_c<
14952             is_vec<V>::value && vec_traits<V>::dim>=3,
14953             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14954         Y0YZ( V const & a )
14955             {
14956             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14957             }
14958         template <class V>
14959         BOOST_QVM_INLINE_TRIVIAL
14960         typename enable_if_c<
14961             is_vec<V>::value && vec_traits<V>::dim>=3,
14962             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14963         Y0YZ( V & a )
14964             {
14965             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14966             }
14967         template <class V>
14968         BOOST_QVM_INLINE_TRIVIAL
14969         typename enable_if_c<
14970             is_vec<V>::value && vec_traits<V>::dim>=3,
14971             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14972         X0YZ( V const & a )
14973             {
14974             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14975             }
14976         template <class V>
14977         BOOST_QVM_INLINE_TRIVIAL
14978         typename enable_if_c<
14979             is_vec<V>::value && vec_traits<V>::dim>=3,
14980             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14981         X0YZ( V & a )
14982             {
14983             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
14984             }
14985         template <class V>
14986         BOOST_QVM_INLINE_TRIVIAL
14987         typename enable_if_c<
14988             is_vec<V>::value && vec_traits<V>::dim>=4,
14989             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
14990         _1WYZ( V const & a )
14991             {
14992             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
14993             }
14994         template <class V>
14995         BOOST_QVM_INLINE_TRIVIAL
14996         typename enable_if_c<
14997             is_vec<V>::value && vec_traits<V>::dim>=4,
14998             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
14999         _1WYZ( V & a )
15000             {
15001             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15002             }
15003         template <class V>
15004         BOOST_QVM_INLINE_TRIVIAL
15005         typename enable_if_c<
15006             is_vec<V>::value && vec_traits<V>::dim>=4,
15007             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15008         _0WYZ( V const & a )
15009             {
15010             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15011             }
15012         template <class V>
15013         BOOST_QVM_INLINE_TRIVIAL
15014         typename enable_if_c<
15015             is_vec<V>::value && vec_traits<V>::dim>=4,
15016             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15017         _0WYZ( V & a )
15018             {
15019             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15020             }
15021         template <class V>
15022         BOOST_QVM_INLINE_TRIVIAL
15023         typename enable_if_c<
15024             is_vec<V>::value && vec_traits<V>::dim>=4,
15025             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15026         WWYZ( V const & a )
15027             {
15028             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15029             }
15030         template <class V>
15031         BOOST_QVM_INLINE_TRIVIAL
15032         typename enable_if_c<
15033             is_vec<V>::value && vec_traits<V>::dim>=4,
15034             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15035         WWYZ( V & a )
15036             {
15037             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15038             }
15039         template <class V>
15040         BOOST_QVM_INLINE_TRIVIAL
15041         typename enable_if_c<
15042             is_vec<V>::value && vec_traits<V>::dim>=4,
15043             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15044         ZWYZ( V const & a )
15045             {
15046             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15047             }
15048         template <class V>
15049         BOOST_QVM_INLINE_TRIVIAL
15050         typename enable_if_c<
15051             is_vec<V>::value && vec_traits<V>::dim>=4,
15052             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15053         ZWYZ( V & a )
15054             {
15055             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15056             }
15057         template <class V>
15058         BOOST_QVM_INLINE_TRIVIAL
15059         typename enable_if_c<
15060             is_vec<V>::value && vec_traits<V>::dim>=4,
15061             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15062         YWYZ( V const & a )
15063             {
15064             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15065             }
15066         template <class V>
15067         BOOST_QVM_INLINE_TRIVIAL
15068         typename enable_if_c<
15069             is_vec<V>::value && vec_traits<V>::dim>=4,
15070             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15071         YWYZ( V & a )
15072             {
15073             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15074             }
15075         template <class V>
15076         BOOST_QVM_INLINE_TRIVIAL
15077         typename enable_if_c<
15078             is_vec<V>::value && vec_traits<V>::dim>=4,
15079             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15080         XWYZ( V const & a )
15081             {
15082             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15083             }
15084         template <class V>
15085         BOOST_QVM_INLINE_TRIVIAL
15086         typename enable_if_c<
15087             is_vec<V>::value && vec_traits<V>::dim>=4,
15088             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15089         XWYZ( V & a )
15090             {
15091             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15092             }
15093         template <class V>
15094         BOOST_QVM_INLINE_TRIVIAL
15095         typename enable_if_c<
15096             is_vec<V>::value && vec_traits<V>::dim>=3,
15097             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15098         _1ZYZ( V const & a )
15099             {
15100             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15101             }
15102         template <class V>
15103         BOOST_QVM_INLINE_TRIVIAL
15104         typename enable_if_c<
15105             is_vec<V>::value && vec_traits<V>::dim>=3,
15106             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15107         _1ZYZ( V & a )
15108             {
15109             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15110             }
15111         template <class V>
15112         BOOST_QVM_INLINE_TRIVIAL
15113         typename enable_if_c<
15114             is_vec<V>::value && vec_traits<V>::dim>=3,
15115             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15116         _0ZYZ( V const & a )
15117             {
15118             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15119             }
15120         template <class V>
15121         BOOST_QVM_INLINE_TRIVIAL
15122         typename enable_if_c<
15123             is_vec<V>::value && vec_traits<V>::dim>=3,
15124             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15125         _0ZYZ( V & a )
15126             {
15127             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15128             }
15129         template <class V>
15130         BOOST_QVM_INLINE_TRIVIAL
15131         typename enable_if_c<
15132             is_vec<V>::value && vec_traits<V>::dim>=4,
15133             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15134         WZYZ( V const & a )
15135             {
15136             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15137             }
15138         template <class V>
15139         BOOST_QVM_INLINE_TRIVIAL
15140         typename enable_if_c<
15141             is_vec<V>::value && vec_traits<V>::dim>=4,
15142             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15143         WZYZ( V & a )
15144             {
15145             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15146             }
15147         template <class V>
15148         BOOST_QVM_INLINE_TRIVIAL
15149         typename enable_if_c<
15150             is_vec<V>::value && vec_traits<V>::dim>=3,
15151             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15152         ZZYZ( V const & a )
15153             {
15154             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15155             }
15156         template <class V>
15157         BOOST_QVM_INLINE_TRIVIAL
15158         typename enable_if_c<
15159             is_vec<V>::value && vec_traits<V>::dim>=3,
15160             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15161         ZZYZ( V & a )
15162             {
15163             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15164             }
15165         template <class V>
15166         BOOST_QVM_INLINE_TRIVIAL
15167         typename enable_if_c<
15168             is_vec<V>::value && vec_traits<V>::dim>=3,
15169             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15170         YZYZ( V const & a )
15171             {
15172             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15173             }
15174         template <class V>
15175         BOOST_QVM_INLINE_TRIVIAL
15176         typename enable_if_c<
15177             is_vec<V>::value && vec_traits<V>::dim>=3,
15178             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15179         YZYZ( V & a )
15180             {
15181             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15182             }
15183         template <class V>
15184         BOOST_QVM_INLINE_TRIVIAL
15185         typename enable_if_c<
15186             is_vec<V>::value && vec_traits<V>::dim>=3,
15187             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15188         XZYZ( V const & a )
15189             {
15190             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15191             }
15192         template <class V>
15193         BOOST_QVM_INLINE_TRIVIAL
15194         typename enable_if_c<
15195             is_vec<V>::value && vec_traits<V>::dim>=3,
15196             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15197         XZYZ( V & a )
15198             {
15199             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15200             }
15201         template <class V>
15202         BOOST_QVM_INLINE_TRIVIAL
15203         typename enable_if_c<
15204             is_vec<V>::value && vec_traits<V>::dim>=3,
15205             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15206         _1YYZ( V const & a )
15207             {
15208             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15209             }
15210         template <class V>
15211         BOOST_QVM_INLINE_TRIVIAL
15212         typename enable_if_c<
15213             is_vec<V>::value && vec_traits<V>::dim>=3,
15214             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15215         _1YYZ( V & a )
15216             {
15217             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15218             }
15219         template <class V>
15220         BOOST_QVM_INLINE_TRIVIAL
15221         typename enable_if_c<
15222             is_vec<V>::value && vec_traits<V>::dim>=3,
15223             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15224         _0YYZ( V const & a )
15225             {
15226             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15227             }
15228         template <class V>
15229         BOOST_QVM_INLINE_TRIVIAL
15230         typename enable_if_c<
15231             is_vec<V>::value && vec_traits<V>::dim>=3,
15232             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15233         _0YYZ( V & a )
15234             {
15235             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15236             }
15237         template <class V>
15238         BOOST_QVM_INLINE_TRIVIAL
15239         typename enable_if_c<
15240             is_vec<V>::value && vec_traits<V>::dim>=4,
15241             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15242         WYYZ( V const & a )
15243             {
15244             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15245             }
15246         template <class V>
15247         BOOST_QVM_INLINE_TRIVIAL
15248         typename enable_if_c<
15249             is_vec<V>::value && vec_traits<V>::dim>=4,
15250             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15251         WYYZ( V & a )
15252             {
15253             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15254             }
15255         template <class V>
15256         BOOST_QVM_INLINE_TRIVIAL
15257         typename enable_if_c<
15258             is_vec<V>::value && vec_traits<V>::dim>=3,
15259             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15260         ZYYZ( V const & a )
15261             {
15262             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15263             }
15264         template <class V>
15265         BOOST_QVM_INLINE_TRIVIAL
15266         typename enable_if_c<
15267             is_vec<V>::value && vec_traits<V>::dim>=3,
15268             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15269         ZYYZ( V & a )
15270             {
15271             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15272             }
15273         template <class V>
15274         BOOST_QVM_INLINE_TRIVIAL
15275         typename enable_if_c<
15276             is_vec<V>::value && vec_traits<V>::dim>=3,
15277             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15278         YYYZ( V const & a )
15279             {
15280             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15281             }
15282         template <class V>
15283         BOOST_QVM_INLINE_TRIVIAL
15284         typename enable_if_c<
15285             is_vec<V>::value && vec_traits<V>::dim>=3,
15286             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15287         YYYZ( V & a )
15288             {
15289             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15290             }
15291         template <class V>
15292         BOOST_QVM_INLINE_TRIVIAL
15293         typename enable_if_c<
15294             is_vec<V>::value && vec_traits<V>::dim>=3,
15295             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15296         XYYZ( V const & a )
15297             {
15298             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15299             }
15300         template <class V>
15301         BOOST_QVM_INLINE_TRIVIAL
15302         typename enable_if_c<
15303             is_vec<V>::value && vec_traits<V>::dim>=3,
15304             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15305         XYYZ( V & a )
15306             {
15307             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15308             }
15309         template <class V>
15310         BOOST_QVM_INLINE_TRIVIAL
15311         typename enable_if_c<
15312             is_vec<V>::value && vec_traits<V>::dim>=3,
15313             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15314         _1XYZ( V const & a )
15315             {
15316             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15317             }
15318         template <class V>
15319         BOOST_QVM_INLINE_TRIVIAL
15320         typename enable_if_c<
15321             is_vec<V>::value && vec_traits<V>::dim>=3,
15322             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15323         _1XYZ( V & a )
15324             {
15325             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15326             }
15327         template <class V>
15328         BOOST_QVM_INLINE_TRIVIAL
15329         typename enable_if_c<
15330             is_vec<V>::value && vec_traits<V>::dim>=3,
15331             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15332         _0XYZ( V const & a )
15333             {
15334             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15335             }
15336         template <class V>
15337         BOOST_QVM_INLINE_TRIVIAL
15338         typename enable_if_c<
15339             is_vec<V>::value && vec_traits<V>::dim>=3,
15340             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15341         _0XYZ( V & a )
15342             {
15343             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15344             }
15345         template <class V>
15346         BOOST_QVM_INLINE_TRIVIAL
15347         typename enable_if_c<
15348             is_vec<V>::value && vec_traits<V>::dim>=4,
15349             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15350         WXYZ( V const & a )
15351             {
15352             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15353             }
15354         template <class V>
15355         BOOST_QVM_INLINE_TRIVIAL
15356         typename enable_if_c<
15357             is_vec<V>::value && vec_traits<V>::dim>=4,
15358             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15359         WXYZ( V & a )
15360             {
15361             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15362             }
15363         template <class V>
15364         BOOST_QVM_INLINE_TRIVIAL
15365         typename enable_if_c<
15366             is_vec<V>::value && vec_traits<V>::dim>=3,
15367             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15368         ZXYZ( V const & a )
15369             {
15370             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15371             }
15372         template <class V>
15373         BOOST_QVM_INLINE_TRIVIAL
15374         typename enable_if_c<
15375             is_vec<V>::value && vec_traits<V>::dim>=3,
15376             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15377         ZXYZ( V & a )
15378             {
15379             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15380             }
15381         template <class V>
15382         BOOST_QVM_INLINE_TRIVIAL
15383         typename enable_if_c<
15384             is_vec<V>::value && vec_traits<V>::dim>=3,
15385             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15386         YXYZ( V const & a )
15387             {
15388             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15389             }
15390         template <class V>
15391         BOOST_QVM_INLINE_TRIVIAL
15392         typename enable_if_c<
15393             is_vec<V>::value && vec_traits<V>::dim>=3,
15394             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15395         YXYZ( V & a )
15396             {
15397             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15398             }
15399         template <class V>
15400         BOOST_QVM_INLINE_TRIVIAL
15401         typename enable_if_c<
15402             is_vec<V>::value && vec_traits<V>::dim>=3,
15403             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15404         XXYZ( V const & a )
15405             {
15406             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15407             }
15408         template <class V>
15409         BOOST_QVM_INLINE_TRIVIAL
15410         typename enable_if_c<
15411             is_vec<V>::value && vec_traits<V>::dim>=3,
15412             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>::type
15413         XXYZ( V & a )
15414             {
15415             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15416             }
15417         template <class V>
15418         BOOST_QVM_INLINE_TRIVIAL
15419         typename enable_if_c<
15420             is_vec<V>::value && vec_traits<V>::dim>=3,
15421             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15422         _11XZ( V const & a )
15423             {
15424             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15425             }
15426         template <class V>
15427         BOOST_QVM_INLINE_TRIVIAL
15428         typename enable_if_c<
15429             is_vec<V>::value && vec_traits<V>::dim>=3,
15430             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15431         _11XZ( V & a )
15432             {
15433             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15434             }
15435         template <class V>
15436         BOOST_QVM_INLINE_TRIVIAL
15437         typename enable_if_c<
15438             is_vec<V>::value && vec_traits<V>::dim>=3,
15439             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15440         _01XZ( V const & a )
15441             {
15442             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15443             }
15444         template <class V>
15445         BOOST_QVM_INLINE_TRIVIAL
15446         typename enable_if_c<
15447             is_vec<V>::value && vec_traits<V>::dim>=3,
15448             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15449         _01XZ( V & a )
15450             {
15451             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15452             }
15453         template <class V>
15454         BOOST_QVM_INLINE_TRIVIAL
15455         typename enable_if_c<
15456             is_vec<V>::value && vec_traits<V>::dim>=4,
15457             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15458         W1XZ( V const & a )
15459             {
15460             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15461             }
15462         template <class V>
15463         BOOST_QVM_INLINE_TRIVIAL
15464         typename enable_if_c<
15465             is_vec<V>::value && vec_traits<V>::dim>=4,
15466             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15467         W1XZ( V & a )
15468             {
15469             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15470             }
15471         template <class V>
15472         BOOST_QVM_INLINE_TRIVIAL
15473         typename enable_if_c<
15474             is_vec<V>::value && vec_traits<V>::dim>=3,
15475             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15476         Z1XZ( V const & a )
15477             {
15478             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15479             }
15480         template <class V>
15481         BOOST_QVM_INLINE_TRIVIAL
15482         typename enable_if_c<
15483             is_vec<V>::value && vec_traits<V>::dim>=3,
15484             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15485         Z1XZ( V & a )
15486             {
15487             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15488             }
15489         template <class V>
15490         BOOST_QVM_INLINE_TRIVIAL
15491         typename enable_if_c<
15492             is_vec<V>::value && vec_traits<V>::dim>=3,
15493             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15494         Y1XZ( V const & a )
15495             {
15496             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15497             }
15498         template <class V>
15499         BOOST_QVM_INLINE_TRIVIAL
15500         typename enable_if_c<
15501             is_vec<V>::value && vec_traits<V>::dim>=3,
15502             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15503         Y1XZ( V & a )
15504             {
15505             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15506             }
15507         template <class V>
15508         BOOST_QVM_INLINE_TRIVIAL
15509         typename enable_if_c<
15510             is_vec<V>::value && vec_traits<V>::dim>=3,
15511             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15512         X1XZ( V const & a )
15513             {
15514             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15515             }
15516         template <class V>
15517         BOOST_QVM_INLINE_TRIVIAL
15518         typename enable_if_c<
15519             is_vec<V>::value && vec_traits<V>::dim>=3,
15520             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15521         X1XZ( V & a )
15522             {
15523             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15524             }
15525         template <class V>
15526         BOOST_QVM_INLINE_TRIVIAL
15527         typename enable_if_c<
15528             is_vec<V>::value && vec_traits<V>::dim>=3,
15529             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15530         _10XZ( V const & a )
15531             {
15532             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15533             }
15534         template <class V>
15535         BOOST_QVM_INLINE_TRIVIAL
15536         typename enable_if_c<
15537             is_vec<V>::value && vec_traits<V>::dim>=3,
15538             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15539         _10XZ( V & a )
15540             {
15541             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15542             }
15543         template <class V>
15544         BOOST_QVM_INLINE_TRIVIAL
15545         typename enable_if_c<
15546             is_vec<V>::value && vec_traits<V>::dim>=3,
15547             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15548         _00XZ( V const & a )
15549             {
15550             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15551             }
15552         template <class V>
15553         BOOST_QVM_INLINE_TRIVIAL
15554         typename enable_if_c<
15555             is_vec<V>::value && vec_traits<V>::dim>=3,
15556             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15557         _00XZ( V & a )
15558             {
15559             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15560             }
15561         template <class V>
15562         BOOST_QVM_INLINE_TRIVIAL
15563         typename enable_if_c<
15564             is_vec<V>::value && vec_traits<V>::dim>=4,
15565             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15566         W0XZ( V const & a )
15567             {
15568             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15569             }
15570         template <class V>
15571         BOOST_QVM_INLINE_TRIVIAL
15572         typename enable_if_c<
15573             is_vec<V>::value && vec_traits<V>::dim>=4,
15574             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15575         W0XZ( V & a )
15576             {
15577             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15578             }
15579         template <class V>
15580         BOOST_QVM_INLINE_TRIVIAL
15581         typename enable_if_c<
15582             is_vec<V>::value && vec_traits<V>::dim>=3,
15583             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15584         Z0XZ( V const & a )
15585             {
15586             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15587             }
15588         template <class V>
15589         BOOST_QVM_INLINE_TRIVIAL
15590         typename enable_if_c<
15591             is_vec<V>::value && vec_traits<V>::dim>=3,
15592             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15593         Z0XZ( V & a )
15594             {
15595             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15596             }
15597         template <class V>
15598         BOOST_QVM_INLINE_TRIVIAL
15599         typename enable_if_c<
15600             is_vec<V>::value && vec_traits<V>::dim>=3,
15601             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15602         Y0XZ( V const & a )
15603             {
15604             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15605             }
15606         template <class V>
15607         BOOST_QVM_INLINE_TRIVIAL
15608         typename enable_if_c<
15609             is_vec<V>::value && vec_traits<V>::dim>=3,
15610             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15611         Y0XZ( V & a )
15612             {
15613             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15614             }
15615         template <class V>
15616         BOOST_QVM_INLINE_TRIVIAL
15617         typename enable_if_c<
15618             is_vec<V>::value && vec_traits<V>::dim>=3,
15619             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15620         X0XZ( V const & a )
15621             {
15622             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15623             }
15624         template <class V>
15625         BOOST_QVM_INLINE_TRIVIAL
15626         typename enable_if_c<
15627             is_vec<V>::value && vec_traits<V>::dim>=3,
15628             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15629         X0XZ( V & a )
15630             {
15631             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15632             }
15633         template <class V>
15634         BOOST_QVM_INLINE_TRIVIAL
15635         typename enable_if_c<
15636             is_vec<V>::value && vec_traits<V>::dim>=4,
15637             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15638         _1WXZ( V const & a )
15639             {
15640             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15641             }
15642         template <class V>
15643         BOOST_QVM_INLINE_TRIVIAL
15644         typename enable_if_c<
15645             is_vec<V>::value && vec_traits<V>::dim>=4,
15646             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15647         _1WXZ( V & a )
15648             {
15649             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15650             }
15651         template <class V>
15652         BOOST_QVM_INLINE_TRIVIAL
15653         typename enable_if_c<
15654             is_vec<V>::value && vec_traits<V>::dim>=4,
15655             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15656         _0WXZ( V const & a )
15657             {
15658             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15659             }
15660         template <class V>
15661         BOOST_QVM_INLINE_TRIVIAL
15662         typename enable_if_c<
15663             is_vec<V>::value && vec_traits<V>::dim>=4,
15664             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15665         _0WXZ( V & a )
15666             {
15667             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15668             }
15669         template <class V>
15670         BOOST_QVM_INLINE_TRIVIAL
15671         typename enable_if_c<
15672             is_vec<V>::value && vec_traits<V>::dim>=4,
15673             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15674         WWXZ( V const & a )
15675             {
15676             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15677             }
15678         template <class V>
15679         BOOST_QVM_INLINE_TRIVIAL
15680         typename enable_if_c<
15681             is_vec<V>::value && vec_traits<V>::dim>=4,
15682             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15683         WWXZ( V & a )
15684             {
15685             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15686             }
15687         template <class V>
15688         BOOST_QVM_INLINE_TRIVIAL
15689         typename enable_if_c<
15690             is_vec<V>::value && vec_traits<V>::dim>=4,
15691             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15692         ZWXZ( V const & a )
15693             {
15694             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15695             }
15696         template <class V>
15697         BOOST_QVM_INLINE_TRIVIAL
15698         typename enable_if_c<
15699             is_vec<V>::value && vec_traits<V>::dim>=4,
15700             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15701         ZWXZ( V & a )
15702             {
15703             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15704             }
15705         template <class V>
15706         BOOST_QVM_INLINE_TRIVIAL
15707         typename enable_if_c<
15708             is_vec<V>::value && vec_traits<V>::dim>=4,
15709             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15710         YWXZ( V const & a )
15711             {
15712             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15713             }
15714         template <class V>
15715         BOOST_QVM_INLINE_TRIVIAL
15716         typename enable_if_c<
15717             is_vec<V>::value && vec_traits<V>::dim>=4,
15718             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15719         YWXZ( V & a )
15720             {
15721             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15722             }
15723         template <class V>
15724         BOOST_QVM_INLINE_TRIVIAL
15725         typename enable_if_c<
15726             is_vec<V>::value && vec_traits<V>::dim>=4,
15727             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15728         XWXZ( V const & a )
15729             {
15730             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15731             }
15732         template <class V>
15733         BOOST_QVM_INLINE_TRIVIAL
15734         typename enable_if_c<
15735             is_vec<V>::value && vec_traits<V>::dim>=4,
15736             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15737         XWXZ( V & a )
15738             {
15739             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15740             }
15741         template <class V>
15742         BOOST_QVM_INLINE_TRIVIAL
15743         typename enable_if_c<
15744             is_vec<V>::value && vec_traits<V>::dim>=3,
15745             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15746         _1ZXZ( V const & a )
15747             {
15748             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15749             }
15750         template <class V>
15751         BOOST_QVM_INLINE_TRIVIAL
15752         typename enable_if_c<
15753             is_vec<V>::value && vec_traits<V>::dim>=3,
15754             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15755         _1ZXZ( V & a )
15756             {
15757             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15758             }
15759         template <class V>
15760         BOOST_QVM_INLINE_TRIVIAL
15761         typename enable_if_c<
15762             is_vec<V>::value && vec_traits<V>::dim>=3,
15763             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15764         _0ZXZ( V const & a )
15765             {
15766             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15767             }
15768         template <class V>
15769         BOOST_QVM_INLINE_TRIVIAL
15770         typename enable_if_c<
15771             is_vec<V>::value && vec_traits<V>::dim>=3,
15772             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15773         _0ZXZ( V & a )
15774             {
15775             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15776             }
15777         template <class V>
15778         BOOST_QVM_INLINE_TRIVIAL
15779         typename enable_if_c<
15780             is_vec<V>::value && vec_traits<V>::dim>=4,
15781             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15782         WZXZ( V const & a )
15783             {
15784             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15785             }
15786         template <class V>
15787         BOOST_QVM_INLINE_TRIVIAL
15788         typename enable_if_c<
15789             is_vec<V>::value && vec_traits<V>::dim>=4,
15790             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15791         WZXZ( V & a )
15792             {
15793             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15794             }
15795         template <class V>
15796         BOOST_QVM_INLINE_TRIVIAL
15797         typename enable_if_c<
15798             is_vec<V>::value && vec_traits<V>::dim>=3,
15799             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15800         ZZXZ( V const & a )
15801             {
15802             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15803             }
15804         template <class V>
15805         BOOST_QVM_INLINE_TRIVIAL
15806         typename enable_if_c<
15807             is_vec<V>::value && vec_traits<V>::dim>=3,
15808             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15809         ZZXZ( V & a )
15810             {
15811             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15812             }
15813         template <class V>
15814         BOOST_QVM_INLINE_TRIVIAL
15815         typename enable_if_c<
15816             is_vec<V>::value && vec_traits<V>::dim>=3,
15817             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15818         YZXZ( V const & a )
15819             {
15820             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15821             }
15822         template <class V>
15823         BOOST_QVM_INLINE_TRIVIAL
15824         typename enable_if_c<
15825             is_vec<V>::value && vec_traits<V>::dim>=3,
15826             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15827         YZXZ( V & a )
15828             {
15829             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15830             }
15831         template <class V>
15832         BOOST_QVM_INLINE_TRIVIAL
15833         typename enable_if_c<
15834             is_vec<V>::value && vec_traits<V>::dim>=3,
15835             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15836         XZXZ( V const & a )
15837             {
15838             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15839             }
15840         template <class V>
15841         BOOST_QVM_INLINE_TRIVIAL
15842         typename enable_if_c<
15843             is_vec<V>::value && vec_traits<V>::dim>=3,
15844             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15845         XZXZ( V & a )
15846             {
15847             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15848             }
15849         template <class V>
15850         BOOST_QVM_INLINE_TRIVIAL
15851         typename enable_if_c<
15852             is_vec<V>::value && vec_traits<V>::dim>=3,
15853             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15854         _1YXZ( V const & a )
15855             {
15856             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15857             }
15858         template <class V>
15859         BOOST_QVM_INLINE_TRIVIAL
15860         typename enable_if_c<
15861             is_vec<V>::value && vec_traits<V>::dim>=3,
15862             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15863         _1YXZ( V & a )
15864             {
15865             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15866             }
15867         template <class V>
15868         BOOST_QVM_INLINE_TRIVIAL
15869         typename enable_if_c<
15870             is_vec<V>::value && vec_traits<V>::dim>=3,
15871             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15872         _0YXZ( V const & a )
15873             {
15874             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15875             }
15876         template <class V>
15877         BOOST_QVM_INLINE_TRIVIAL
15878         typename enable_if_c<
15879             is_vec<V>::value && vec_traits<V>::dim>=3,
15880             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15881         _0YXZ( V & a )
15882             {
15883             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15884             }
15885         template <class V>
15886         BOOST_QVM_INLINE_TRIVIAL
15887         typename enable_if_c<
15888             is_vec<V>::value && vec_traits<V>::dim>=4,
15889             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15890         WYXZ( V const & a )
15891             {
15892             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15893             }
15894         template <class V>
15895         BOOST_QVM_INLINE_TRIVIAL
15896         typename enable_if_c<
15897             is_vec<V>::value && vec_traits<V>::dim>=4,
15898             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15899         WYXZ( V & a )
15900             {
15901             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15902             }
15903         template <class V>
15904         BOOST_QVM_INLINE_TRIVIAL
15905         typename enable_if_c<
15906             is_vec<V>::value && vec_traits<V>::dim>=3,
15907             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15908         ZYXZ( V const & a )
15909             {
15910             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15911             }
15912         template <class V>
15913         BOOST_QVM_INLINE_TRIVIAL
15914         typename enable_if_c<
15915             is_vec<V>::value && vec_traits<V>::dim>=3,
15916             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15917         ZYXZ( V & a )
15918             {
15919             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15920             }
15921         template <class V>
15922         BOOST_QVM_INLINE_TRIVIAL
15923         typename enable_if_c<
15924             is_vec<V>::value && vec_traits<V>::dim>=3,
15925             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15926         YYXZ( V const & a )
15927             {
15928             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15929             }
15930         template <class V>
15931         BOOST_QVM_INLINE_TRIVIAL
15932         typename enable_if_c<
15933             is_vec<V>::value && vec_traits<V>::dim>=3,
15934             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15935         YYXZ( V & a )
15936             {
15937             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15938             }
15939         template <class V>
15940         BOOST_QVM_INLINE_TRIVIAL
15941         typename enable_if_c<
15942             is_vec<V>::value && vec_traits<V>::dim>=3,
15943             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15944         XYXZ( V const & a )
15945             {
15946             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15947             }
15948         template <class V>
15949         BOOST_QVM_INLINE_TRIVIAL
15950         typename enable_if_c<
15951             is_vec<V>::value && vec_traits<V>::dim>=3,
15952             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15953         XYXZ( V & a )
15954             {
15955             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15956             }
15957         template <class V>
15958         BOOST_QVM_INLINE_TRIVIAL
15959         typename enable_if_c<
15960             is_vec<V>::value && vec_traits<V>::dim>=3,
15961             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15962         _1XXZ( V const & a )
15963             {
15964             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15965             }
15966         template <class V>
15967         BOOST_QVM_INLINE_TRIVIAL
15968         typename enable_if_c<
15969             is_vec<V>::value && vec_traits<V>::dim>=3,
15970             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15971         _1XXZ( V & a )
15972             {
15973             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15974             }
15975         template <class V>
15976         BOOST_QVM_INLINE_TRIVIAL
15977         typename enable_if_c<
15978             is_vec<V>::value && vec_traits<V>::dim>=3,
15979             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15980         _0XXZ( V const & a )
15981             {
15982             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
15983             }
15984         template <class V>
15985         BOOST_QVM_INLINE_TRIVIAL
15986         typename enable_if_c<
15987             is_vec<V>::value && vec_traits<V>::dim>=3,
15988             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
15989         _0XXZ( V & a )
15990             {
15991             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
15992             }
15993         template <class V>
15994         BOOST_QVM_INLINE_TRIVIAL
15995         typename enable_if_c<
15996             is_vec<V>::value && vec_traits<V>::dim>=4,
15997             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
15998         WXXZ( V const & a )
15999             {
16000             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
16001             }
16002         template <class V>
16003         BOOST_QVM_INLINE_TRIVIAL
16004         typename enable_if_c<
16005             is_vec<V>::value && vec_traits<V>::dim>=4,
16006             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
16007         WXXZ( V & a )
16008             {
16009             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
16010             }
16011         template <class V>
16012         BOOST_QVM_INLINE_TRIVIAL
16013         typename enable_if_c<
16014             is_vec<V>::value && vec_traits<V>::dim>=3,
16015             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
16016         ZXXZ( V const & a )
16017             {
16018             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
16019             }
16020         template <class V>
16021         BOOST_QVM_INLINE_TRIVIAL
16022         typename enable_if_c<
16023             is_vec<V>::value && vec_traits<V>::dim>=3,
16024             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
16025         ZXXZ( V & a )
16026             {
16027             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
16028             }
16029         template <class V>
16030         BOOST_QVM_INLINE_TRIVIAL
16031         typename enable_if_c<
16032             is_vec<V>::value && vec_traits<V>::dim>=3,
16033             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
16034         YXXZ( V const & a )
16035             {
16036             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
16037             }
16038         template <class V>
16039         BOOST_QVM_INLINE_TRIVIAL
16040         typename enable_if_c<
16041             is_vec<V>::value && vec_traits<V>::dim>=3,
16042             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
16043         YXXZ( V & a )
16044             {
16045             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
16046             }
16047         template <class V>
16048         BOOST_QVM_INLINE_TRIVIAL
16049         typename enable_if_c<
16050             is_vec<V>::value && vec_traits<V>::dim>=3,
16051             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>::type
16052         XXXZ( V const & a )
16053             {
16054             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > const &>(a);
16055             }
16056         template <class V>
16057         BOOST_QVM_INLINE_TRIVIAL
16058         typename enable_if_c<
16059             is_vec<V>::value && vec_traits<V>::dim>=3,
16060             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>::type
16061         XXXZ( V & a )
16062             {
16063             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2 > > > > > &>(a);
16064             }
16065         template <class V>
16066         BOOST_QVM_INLINE_TRIVIAL
16067         typename enable_if_c<
16068             is_vec<V>::value && vec_traits<V>::dim>=2,
16069             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16070         _111Y( V const & a )
16071             {
16072             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16073             }
16074         template <class V>
16075         BOOST_QVM_INLINE_TRIVIAL
16076         typename enable_if_c<
16077             is_vec<V>::value && vec_traits<V>::dim>=2,
16078             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16079         _111Y( V & a )
16080             {
16081             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16082             }
16083         template <class V>
16084         BOOST_QVM_INLINE_TRIVIAL
16085         typename enable_if_c<
16086             is_vec<V>::value && vec_traits<V>::dim>=2,
16087             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16088         _011Y( V const & a )
16089             {
16090             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16091             }
16092         template <class V>
16093         BOOST_QVM_INLINE_TRIVIAL
16094         typename enable_if_c<
16095             is_vec<V>::value && vec_traits<V>::dim>=2,
16096             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16097         _011Y( V & a )
16098             {
16099             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16100             }
16101         template <class V>
16102         BOOST_QVM_INLINE_TRIVIAL
16103         typename enable_if_c<
16104             is_vec<V>::value && vec_traits<V>::dim>=4,
16105             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16106         W11Y( V const & a )
16107             {
16108             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16109             }
16110         template <class V>
16111         BOOST_QVM_INLINE_TRIVIAL
16112         typename enable_if_c<
16113             is_vec<V>::value && vec_traits<V>::dim>=4,
16114             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16115         W11Y( V & a )
16116             {
16117             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16118             }
16119         template <class V>
16120         BOOST_QVM_INLINE_TRIVIAL
16121         typename enable_if_c<
16122             is_vec<V>::value && vec_traits<V>::dim>=3,
16123             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16124         Z11Y( V const & a )
16125             {
16126             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16127             }
16128         template <class V>
16129         BOOST_QVM_INLINE_TRIVIAL
16130         typename enable_if_c<
16131             is_vec<V>::value && vec_traits<V>::dim>=3,
16132             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16133         Z11Y( V & a )
16134             {
16135             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16136             }
16137         template <class V>
16138         BOOST_QVM_INLINE_TRIVIAL
16139         typename enable_if_c<
16140             is_vec<V>::value && vec_traits<V>::dim>=2,
16141             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16142         Y11Y( V const & a )
16143             {
16144             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16145             }
16146         template <class V>
16147         BOOST_QVM_INLINE_TRIVIAL
16148         typename enable_if_c<
16149             is_vec<V>::value && vec_traits<V>::dim>=2,
16150             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16151         Y11Y( V & a )
16152             {
16153             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16154             }
16155         template <class V>
16156         BOOST_QVM_INLINE_TRIVIAL
16157         typename enable_if_c<
16158             is_vec<V>::value && vec_traits<V>::dim>=2,
16159             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16160         X11Y( V const & a )
16161             {
16162             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16163             }
16164         template <class V>
16165         BOOST_QVM_INLINE_TRIVIAL
16166         typename enable_if_c<
16167             is_vec<V>::value && vec_traits<V>::dim>=2,
16168             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16169         X11Y( V & a )
16170             {
16171             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16172             }
16173         template <class V>
16174         BOOST_QVM_INLINE_TRIVIAL
16175         typename enable_if_c<
16176             is_vec<V>::value && vec_traits<V>::dim>=2,
16177             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16178         _101Y( V const & a )
16179             {
16180             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16181             }
16182         template <class V>
16183         BOOST_QVM_INLINE_TRIVIAL
16184         typename enable_if_c<
16185             is_vec<V>::value && vec_traits<V>::dim>=2,
16186             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16187         _101Y( V & a )
16188             {
16189             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16190             }
16191         template <class V>
16192         BOOST_QVM_INLINE_TRIVIAL
16193         typename enable_if_c<
16194             is_vec<V>::value && vec_traits<V>::dim>=2,
16195             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16196         _001Y( V const & a )
16197             {
16198             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16199             }
16200         template <class V>
16201         BOOST_QVM_INLINE_TRIVIAL
16202         typename enable_if_c<
16203             is_vec<V>::value && vec_traits<V>::dim>=2,
16204             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16205         _001Y( V & a )
16206             {
16207             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16208             }
16209         template <class V>
16210         BOOST_QVM_INLINE_TRIVIAL
16211         typename enable_if_c<
16212             is_vec<V>::value && vec_traits<V>::dim>=4,
16213             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16214         W01Y( V const & a )
16215             {
16216             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16217             }
16218         template <class V>
16219         BOOST_QVM_INLINE_TRIVIAL
16220         typename enable_if_c<
16221             is_vec<V>::value && vec_traits<V>::dim>=4,
16222             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16223         W01Y( V & a )
16224             {
16225             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16226             }
16227         template <class V>
16228         BOOST_QVM_INLINE_TRIVIAL
16229         typename enable_if_c<
16230             is_vec<V>::value && vec_traits<V>::dim>=3,
16231             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16232         Z01Y( V const & a )
16233             {
16234             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16235             }
16236         template <class V>
16237         BOOST_QVM_INLINE_TRIVIAL
16238         typename enable_if_c<
16239             is_vec<V>::value && vec_traits<V>::dim>=3,
16240             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16241         Z01Y( V & a )
16242             {
16243             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16244             }
16245         template <class V>
16246         BOOST_QVM_INLINE_TRIVIAL
16247         typename enable_if_c<
16248             is_vec<V>::value && vec_traits<V>::dim>=2,
16249             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16250         Y01Y( V const & a )
16251             {
16252             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16253             }
16254         template <class V>
16255         BOOST_QVM_INLINE_TRIVIAL
16256         typename enable_if_c<
16257             is_vec<V>::value && vec_traits<V>::dim>=2,
16258             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16259         Y01Y( V & a )
16260             {
16261             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16262             }
16263         template <class V>
16264         BOOST_QVM_INLINE_TRIVIAL
16265         typename enable_if_c<
16266             is_vec<V>::value && vec_traits<V>::dim>=2,
16267             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16268         X01Y( V const & a )
16269             {
16270             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16271             }
16272         template <class V>
16273         BOOST_QVM_INLINE_TRIVIAL
16274         typename enable_if_c<
16275             is_vec<V>::value && vec_traits<V>::dim>=2,
16276             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16277         X01Y( V & a )
16278             {
16279             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16280             }
16281         template <class V>
16282         BOOST_QVM_INLINE_TRIVIAL
16283         typename enable_if_c<
16284             is_vec<V>::value && vec_traits<V>::dim>=4,
16285             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16286         _1W1Y( V const & a )
16287             {
16288             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16289             }
16290         template <class V>
16291         BOOST_QVM_INLINE_TRIVIAL
16292         typename enable_if_c<
16293             is_vec<V>::value && vec_traits<V>::dim>=4,
16294             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16295         _1W1Y( V & a )
16296             {
16297             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16298             }
16299         template <class V>
16300         BOOST_QVM_INLINE_TRIVIAL
16301         typename enable_if_c<
16302             is_vec<V>::value && vec_traits<V>::dim>=4,
16303             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16304         _0W1Y( V const & a )
16305             {
16306             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16307             }
16308         template <class V>
16309         BOOST_QVM_INLINE_TRIVIAL
16310         typename enable_if_c<
16311             is_vec<V>::value && vec_traits<V>::dim>=4,
16312             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16313         _0W1Y( V & a )
16314             {
16315             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16316             }
16317         template <class V>
16318         BOOST_QVM_INLINE_TRIVIAL
16319         typename enable_if_c<
16320             is_vec<V>::value && vec_traits<V>::dim>=4,
16321             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16322         WW1Y( V const & a )
16323             {
16324             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16325             }
16326         template <class V>
16327         BOOST_QVM_INLINE_TRIVIAL
16328         typename enable_if_c<
16329             is_vec<V>::value && vec_traits<V>::dim>=4,
16330             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16331         WW1Y( V & a )
16332             {
16333             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16334             }
16335         template <class V>
16336         BOOST_QVM_INLINE_TRIVIAL
16337         typename enable_if_c<
16338             is_vec<V>::value && vec_traits<V>::dim>=4,
16339             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16340         ZW1Y( V const & a )
16341             {
16342             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16343             }
16344         template <class V>
16345         BOOST_QVM_INLINE_TRIVIAL
16346         typename enable_if_c<
16347             is_vec<V>::value && vec_traits<V>::dim>=4,
16348             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16349         ZW1Y( V & a )
16350             {
16351             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16352             }
16353         template <class V>
16354         BOOST_QVM_INLINE_TRIVIAL
16355         typename enable_if_c<
16356             is_vec<V>::value && vec_traits<V>::dim>=4,
16357             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16358         YW1Y( V const & a )
16359             {
16360             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16361             }
16362         template <class V>
16363         BOOST_QVM_INLINE_TRIVIAL
16364         typename enable_if_c<
16365             is_vec<V>::value && vec_traits<V>::dim>=4,
16366             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16367         YW1Y( V & a )
16368             {
16369             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16370             }
16371         template <class V>
16372         BOOST_QVM_INLINE_TRIVIAL
16373         typename enable_if_c<
16374             is_vec<V>::value && vec_traits<V>::dim>=4,
16375             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16376         XW1Y( V const & a )
16377             {
16378             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16379             }
16380         template <class V>
16381         BOOST_QVM_INLINE_TRIVIAL
16382         typename enable_if_c<
16383             is_vec<V>::value && vec_traits<V>::dim>=4,
16384             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16385         XW1Y( V & a )
16386             {
16387             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16388             }
16389         template <class V>
16390         BOOST_QVM_INLINE_TRIVIAL
16391         typename enable_if_c<
16392             is_vec<V>::value && vec_traits<V>::dim>=3,
16393             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16394         _1Z1Y( V const & a )
16395             {
16396             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16397             }
16398         template <class V>
16399         BOOST_QVM_INLINE_TRIVIAL
16400         typename enable_if_c<
16401             is_vec<V>::value && vec_traits<V>::dim>=3,
16402             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16403         _1Z1Y( V & a )
16404             {
16405             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16406             }
16407         template <class V>
16408         BOOST_QVM_INLINE_TRIVIAL
16409         typename enable_if_c<
16410             is_vec<V>::value && vec_traits<V>::dim>=3,
16411             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16412         _0Z1Y( V const & a )
16413             {
16414             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16415             }
16416         template <class V>
16417         BOOST_QVM_INLINE_TRIVIAL
16418         typename enable_if_c<
16419             is_vec<V>::value && vec_traits<V>::dim>=3,
16420             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16421         _0Z1Y( V & a )
16422             {
16423             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16424             }
16425         template <class V>
16426         BOOST_QVM_INLINE_TRIVIAL
16427         typename enable_if_c<
16428             is_vec<V>::value && vec_traits<V>::dim>=4,
16429             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16430         WZ1Y( V const & a )
16431             {
16432             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16433             }
16434         template <class V>
16435         BOOST_QVM_INLINE_TRIVIAL
16436         typename enable_if_c<
16437             is_vec<V>::value && vec_traits<V>::dim>=4,
16438             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16439         WZ1Y( V & a )
16440             {
16441             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16442             }
16443         template <class V>
16444         BOOST_QVM_INLINE_TRIVIAL
16445         typename enable_if_c<
16446             is_vec<V>::value && vec_traits<V>::dim>=3,
16447             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16448         ZZ1Y( V const & a )
16449             {
16450             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16451             }
16452         template <class V>
16453         BOOST_QVM_INLINE_TRIVIAL
16454         typename enable_if_c<
16455             is_vec<V>::value && vec_traits<V>::dim>=3,
16456             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16457         ZZ1Y( V & a )
16458             {
16459             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16460             }
16461         template <class V>
16462         BOOST_QVM_INLINE_TRIVIAL
16463         typename enable_if_c<
16464             is_vec<V>::value && vec_traits<V>::dim>=3,
16465             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16466         YZ1Y( V const & a )
16467             {
16468             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16469             }
16470         template <class V>
16471         BOOST_QVM_INLINE_TRIVIAL
16472         typename enable_if_c<
16473             is_vec<V>::value && vec_traits<V>::dim>=3,
16474             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16475         YZ1Y( V & a )
16476             {
16477             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16478             }
16479         template <class V>
16480         BOOST_QVM_INLINE_TRIVIAL
16481         typename enable_if_c<
16482             is_vec<V>::value && vec_traits<V>::dim>=3,
16483             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16484         XZ1Y( V const & a )
16485             {
16486             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16487             }
16488         template <class V>
16489         BOOST_QVM_INLINE_TRIVIAL
16490         typename enable_if_c<
16491             is_vec<V>::value && vec_traits<V>::dim>=3,
16492             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16493         XZ1Y( V & a )
16494             {
16495             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16496             }
16497         template <class V>
16498         BOOST_QVM_INLINE_TRIVIAL
16499         typename enable_if_c<
16500             is_vec<V>::value && vec_traits<V>::dim>=2,
16501             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16502         _1Y1Y( V const & a )
16503             {
16504             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16505             }
16506         template <class V>
16507         BOOST_QVM_INLINE_TRIVIAL
16508         typename enable_if_c<
16509             is_vec<V>::value && vec_traits<V>::dim>=2,
16510             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16511         _1Y1Y( V & a )
16512             {
16513             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16514             }
16515         template <class V>
16516         BOOST_QVM_INLINE_TRIVIAL
16517         typename enable_if_c<
16518             is_vec<V>::value && vec_traits<V>::dim>=2,
16519             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16520         _0Y1Y( V const & a )
16521             {
16522             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16523             }
16524         template <class V>
16525         BOOST_QVM_INLINE_TRIVIAL
16526         typename enable_if_c<
16527             is_vec<V>::value && vec_traits<V>::dim>=2,
16528             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16529         _0Y1Y( V & a )
16530             {
16531             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16532             }
16533         template <class V>
16534         BOOST_QVM_INLINE_TRIVIAL
16535         typename enable_if_c<
16536             is_vec<V>::value && vec_traits<V>::dim>=4,
16537             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16538         WY1Y( V const & a )
16539             {
16540             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16541             }
16542         template <class V>
16543         BOOST_QVM_INLINE_TRIVIAL
16544         typename enable_if_c<
16545             is_vec<V>::value && vec_traits<V>::dim>=4,
16546             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16547         WY1Y( V & a )
16548             {
16549             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16550             }
16551         template <class V>
16552         BOOST_QVM_INLINE_TRIVIAL
16553         typename enable_if_c<
16554             is_vec<V>::value && vec_traits<V>::dim>=3,
16555             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16556         ZY1Y( V const & a )
16557             {
16558             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16559             }
16560         template <class V>
16561         BOOST_QVM_INLINE_TRIVIAL
16562         typename enable_if_c<
16563             is_vec<V>::value && vec_traits<V>::dim>=3,
16564             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16565         ZY1Y( V & a )
16566             {
16567             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16568             }
16569         template <class V>
16570         BOOST_QVM_INLINE_TRIVIAL
16571         typename enable_if_c<
16572             is_vec<V>::value && vec_traits<V>::dim>=2,
16573             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16574         YY1Y( V const & a )
16575             {
16576             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16577             }
16578         template <class V>
16579         BOOST_QVM_INLINE_TRIVIAL
16580         typename enable_if_c<
16581             is_vec<V>::value && vec_traits<V>::dim>=2,
16582             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16583         YY1Y( V & a )
16584             {
16585             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16586             }
16587         template <class V>
16588         BOOST_QVM_INLINE_TRIVIAL
16589         typename enable_if_c<
16590             is_vec<V>::value && vec_traits<V>::dim>=2,
16591             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16592         XY1Y( V const & a )
16593             {
16594             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16595             }
16596         template <class V>
16597         BOOST_QVM_INLINE_TRIVIAL
16598         typename enable_if_c<
16599             is_vec<V>::value && vec_traits<V>::dim>=2,
16600             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16601         XY1Y( V & a )
16602             {
16603             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16604             }
16605         template <class V>
16606         BOOST_QVM_INLINE_TRIVIAL
16607         typename enable_if_c<
16608             is_vec<V>::value && vec_traits<V>::dim>=2,
16609             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16610         _1X1Y( V const & a )
16611             {
16612             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16613             }
16614         template <class V>
16615         BOOST_QVM_INLINE_TRIVIAL
16616         typename enable_if_c<
16617             is_vec<V>::value && vec_traits<V>::dim>=2,
16618             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16619         _1X1Y( V & a )
16620             {
16621             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16622             }
16623         template <class V>
16624         BOOST_QVM_INLINE_TRIVIAL
16625         typename enable_if_c<
16626             is_vec<V>::value && vec_traits<V>::dim>=2,
16627             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16628         _0X1Y( V const & a )
16629             {
16630             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16631             }
16632         template <class V>
16633         BOOST_QVM_INLINE_TRIVIAL
16634         typename enable_if_c<
16635             is_vec<V>::value && vec_traits<V>::dim>=2,
16636             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16637         _0X1Y( V & a )
16638             {
16639             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16640             }
16641         template <class V>
16642         BOOST_QVM_INLINE_TRIVIAL
16643         typename enable_if_c<
16644             is_vec<V>::value && vec_traits<V>::dim>=4,
16645             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16646         WX1Y( V const & a )
16647             {
16648             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16649             }
16650         template <class V>
16651         BOOST_QVM_INLINE_TRIVIAL
16652         typename enable_if_c<
16653             is_vec<V>::value && vec_traits<V>::dim>=4,
16654             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16655         WX1Y( V & a )
16656             {
16657             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16658             }
16659         template <class V>
16660         BOOST_QVM_INLINE_TRIVIAL
16661         typename enable_if_c<
16662             is_vec<V>::value && vec_traits<V>::dim>=3,
16663             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16664         ZX1Y( V const & a )
16665             {
16666             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16667             }
16668         template <class V>
16669         BOOST_QVM_INLINE_TRIVIAL
16670         typename enable_if_c<
16671             is_vec<V>::value && vec_traits<V>::dim>=3,
16672             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16673         ZX1Y( V & a )
16674             {
16675             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16676             }
16677         template <class V>
16678         BOOST_QVM_INLINE_TRIVIAL
16679         typename enable_if_c<
16680             is_vec<V>::value && vec_traits<V>::dim>=2,
16681             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16682         YX1Y( V const & a )
16683             {
16684             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16685             }
16686         template <class V>
16687         BOOST_QVM_INLINE_TRIVIAL
16688         typename enable_if_c<
16689             is_vec<V>::value && vec_traits<V>::dim>=2,
16690             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16691         YX1Y( V & a )
16692             {
16693             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16694             }
16695         template <class V>
16696         BOOST_QVM_INLINE_TRIVIAL
16697         typename enable_if_c<
16698             is_vec<V>::value && vec_traits<V>::dim>=2,
16699             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16700         XX1Y( V const & a )
16701             {
16702             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16703             }
16704         template <class V>
16705         BOOST_QVM_INLINE_TRIVIAL
16706         typename enable_if_c<
16707             is_vec<V>::value && vec_traits<V>::dim>=2,
16708             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>::type
16709         XX1Y( V & a )
16710             {
16711             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16712             }
16713         template <class V>
16714         BOOST_QVM_INLINE_TRIVIAL
16715         typename enable_if_c<
16716             is_vec<V>::value && vec_traits<V>::dim>=2,
16717             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16718         _110Y( V const & a )
16719             {
16720             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16721             }
16722         template <class V>
16723         BOOST_QVM_INLINE_TRIVIAL
16724         typename enable_if_c<
16725             is_vec<V>::value && vec_traits<V>::dim>=2,
16726             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16727         _110Y( V & a )
16728             {
16729             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16730             }
16731         template <class V>
16732         BOOST_QVM_INLINE_TRIVIAL
16733         typename enable_if_c<
16734             is_vec<V>::value && vec_traits<V>::dim>=2,
16735             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16736         _010Y( V const & a )
16737             {
16738             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16739             }
16740         template <class V>
16741         BOOST_QVM_INLINE_TRIVIAL
16742         typename enable_if_c<
16743             is_vec<V>::value && vec_traits<V>::dim>=2,
16744             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16745         _010Y( V & a )
16746             {
16747             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16748             }
16749         template <class V>
16750         BOOST_QVM_INLINE_TRIVIAL
16751         typename enable_if_c<
16752             is_vec<V>::value && vec_traits<V>::dim>=4,
16753             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16754         W10Y( V const & a )
16755             {
16756             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16757             }
16758         template <class V>
16759         BOOST_QVM_INLINE_TRIVIAL
16760         typename enable_if_c<
16761             is_vec<V>::value && vec_traits<V>::dim>=4,
16762             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16763         W10Y( V & a )
16764             {
16765             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16766             }
16767         template <class V>
16768         BOOST_QVM_INLINE_TRIVIAL
16769         typename enable_if_c<
16770             is_vec<V>::value && vec_traits<V>::dim>=3,
16771             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16772         Z10Y( V const & a )
16773             {
16774             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16775             }
16776         template <class V>
16777         BOOST_QVM_INLINE_TRIVIAL
16778         typename enable_if_c<
16779             is_vec<V>::value && vec_traits<V>::dim>=3,
16780             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16781         Z10Y( V & a )
16782             {
16783             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16784             }
16785         template <class V>
16786         BOOST_QVM_INLINE_TRIVIAL
16787         typename enable_if_c<
16788             is_vec<V>::value && vec_traits<V>::dim>=2,
16789             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16790         Y10Y( V const & a )
16791             {
16792             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16793             }
16794         template <class V>
16795         BOOST_QVM_INLINE_TRIVIAL
16796         typename enable_if_c<
16797             is_vec<V>::value && vec_traits<V>::dim>=2,
16798             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16799         Y10Y( V & a )
16800             {
16801             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16802             }
16803         template <class V>
16804         BOOST_QVM_INLINE_TRIVIAL
16805         typename enable_if_c<
16806             is_vec<V>::value && vec_traits<V>::dim>=2,
16807             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16808         X10Y( V const & a )
16809             {
16810             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16811             }
16812         template <class V>
16813         BOOST_QVM_INLINE_TRIVIAL
16814         typename enable_if_c<
16815             is_vec<V>::value && vec_traits<V>::dim>=2,
16816             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16817         X10Y( V & a )
16818             {
16819             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16820             }
16821         template <class V>
16822         BOOST_QVM_INLINE_TRIVIAL
16823         typename enable_if_c<
16824             is_vec<V>::value && vec_traits<V>::dim>=2,
16825             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16826         _100Y( V const & a )
16827             {
16828             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16829             }
16830         template <class V>
16831         BOOST_QVM_INLINE_TRIVIAL
16832         typename enable_if_c<
16833             is_vec<V>::value && vec_traits<V>::dim>=2,
16834             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16835         _100Y( V & a )
16836             {
16837             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16838             }
16839         template <class V>
16840         BOOST_QVM_INLINE_TRIVIAL
16841         typename enable_if_c<
16842             is_vec<V>::value && vec_traits<V>::dim>=2,
16843             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16844         _000Y( V const & a )
16845             {
16846             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16847             }
16848         template <class V>
16849         BOOST_QVM_INLINE_TRIVIAL
16850         typename enable_if_c<
16851             is_vec<V>::value && vec_traits<V>::dim>=2,
16852             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16853         _000Y( V & a )
16854             {
16855             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16856             }
16857         template <class V>
16858         BOOST_QVM_INLINE_TRIVIAL
16859         typename enable_if_c<
16860             is_vec<V>::value && vec_traits<V>::dim>=4,
16861             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16862         W00Y( V const & a )
16863             {
16864             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16865             }
16866         template <class V>
16867         BOOST_QVM_INLINE_TRIVIAL
16868         typename enable_if_c<
16869             is_vec<V>::value && vec_traits<V>::dim>=4,
16870             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16871         W00Y( V & a )
16872             {
16873             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16874             }
16875         template <class V>
16876         BOOST_QVM_INLINE_TRIVIAL
16877         typename enable_if_c<
16878             is_vec<V>::value && vec_traits<V>::dim>=3,
16879             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16880         Z00Y( V const & a )
16881             {
16882             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16883             }
16884         template <class V>
16885         BOOST_QVM_INLINE_TRIVIAL
16886         typename enable_if_c<
16887             is_vec<V>::value && vec_traits<V>::dim>=3,
16888             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16889         Z00Y( V & a )
16890             {
16891             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16892             }
16893         template <class V>
16894         BOOST_QVM_INLINE_TRIVIAL
16895         typename enable_if_c<
16896             is_vec<V>::value && vec_traits<V>::dim>=2,
16897             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16898         Y00Y( V const & a )
16899             {
16900             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16901             }
16902         template <class V>
16903         BOOST_QVM_INLINE_TRIVIAL
16904         typename enable_if_c<
16905             is_vec<V>::value && vec_traits<V>::dim>=2,
16906             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16907         Y00Y( V & a )
16908             {
16909             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16910             }
16911         template <class V>
16912         BOOST_QVM_INLINE_TRIVIAL
16913         typename enable_if_c<
16914             is_vec<V>::value && vec_traits<V>::dim>=2,
16915             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16916         X00Y( V const & a )
16917             {
16918             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16919             }
16920         template <class V>
16921         BOOST_QVM_INLINE_TRIVIAL
16922         typename enable_if_c<
16923             is_vec<V>::value && vec_traits<V>::dim>=2,
16924             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16925         X00Y( V & a )
16926             {
16927             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16928             }
16929         template <class V>
16930         BOOST_QVM_INLINE_TRIVIAL
16931         typename enable_if_c<
16932             is_vec<V>::value && vec_traits<V>::dim>=4,
16933             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16934         _1W0Y( V const & a )
16935             {
16936             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16937             }
16938         template <class V>
16939         BOOST_QVM_INLINE_TRIVIAL
16940         typename enable_if_c<
16941             is_vec<V>::value && vec_traits<V>::dim>=4,
16942             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16943         _1W0Y( V & a )
16944             {
16945             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16946             }
16947         template <class V>
16948         BOOST_QVM_INLINE_TRIVIAL
16949         typename enable_if_c<
16950             is_vec<V>::value && vec_traits<V>::dim>=4,
16951             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16952         _0W0Y( V const & a )
16953             {
16954             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16955             }
16956         template <class V>
16957         BOOST_QVM_INLINE_TRIVIAL
16958         typename enable_if_c<
16959             is_vec<V>::value && vec_traits<V>::dim>=4,
16960             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16961         _0W0Y( V & a )
16962             {
16963             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16964             }
16965         template <class V>
16966         BOOST_QVM_INLINE_TRIVIAL
16967         typename enable_if_c<
16968             is_vec<V>::value && vec_traits<V>::dim>=4,
16969             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16970         WW0Y( V const & a )
16971             {
16972             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16973             }
16974         template <class V>
16975         BOOST_QVM_INLINE_TRIVIAL
16976         typename enable_if_c<
16977             is_vec<V>::value && vec_traits<V>::dim>=4,
16978             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16979         WW0Y( V & a )
16980             {
16981             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
16982             }
16983         template <class V>
16984         BOOST_QVM_INLINE_TRIVIAL
16985         typename enable_if_c<
16986             is_vec<V>::value && vec_traits<V>::dim>=4,
16987             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
16988         ZW0Y( V const & a )
16989             {
16990             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
16991             }
16992         template <class V>
16993         BOOST_QVM_INLINE_TRIVIAL
16994         typename enable_if_c<
16995             is_vec<V>::value && vec_traits<V>::dim>=4,
16996             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
16997         ZW0Y( V & a )
16998             {
16999             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17000             }
17001         template <class V>
17002         BOOST_QVM_INLINE_TRIVIAL
17003         typename enable_if_c<
17004             is_vec<V>::value && vec_traits<V>::dim>=4,
17005             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17006         YW0Y( V const & a )
17007             {
17008             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17009             }
17010         template <class V>
17011         BOOST_QVM_INLINE_TRIVIAL
17012         typename enable_if_c<
17013             is_vec<V>::value && vec_traits<V>::dim>=4,
17014             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17015         YW0Y( V & a )
17016             {
17017             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17018             }
17019         template <class V>
17020         BOOST_QVM_INLINE_TRIVIAL
17021         typename enable_if_c<
17022             is_vec<V>::value && vec_traits<V>::dim>=4,
17023             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17024         XW0Y( V const & a )
17025             {
17026             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17027             }
17028         template <class V>
17029         BOOST_QVM_INLINE_TRIVIAL
17030         typename enable_if_c<
17031             is_vec<V>::value && vec_traits<V>::dim>=4,
17032             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17033         XW0Y( V & a )
17034             {
17035             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17036             }
17037         template <class V>
17038         BOOST_QVM_INLINE_TRIVIAL
17039         typename enable_if_c<
17040             is_vec<V>::value && vec_traits<V>::dim>=3,
17041             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17042         _1Z0Y( V const & a )
17043             {
17044             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17045             }
17046         template <class V>
17047         BOOST_QVM_INLINE_TRIVIAL
17048         typename enable_if_c<
17049             is_vec<V>::value && vec_traits<V>::dim>=3,
17050             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17051         _1Z0Y( V & a )
17052             {
17053             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17054             }
17055         template <class V>
17056         BOOST_QVM_INLINE_TRIVIAL
17057         typename enable_if_c<
17058             is_vec<V>::value && vec_traits<V>::dim>=3,
17059             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17060         _0Z0Y( V const & a )
17061             {
17062             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17063             }
17064         template <class V>
17065         BOOST_QVM_INLINE_TRIVIAL
17066         typename enable_if_c<
17067             is_vec<V>::value && vec_traits<V>::dim>=3,
17068             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17069         _0Z0Y( V & a )
17070             {
17071             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17072             }
17073         template <class V>
17074         BOOST_QVM_INLINE_TRIVIAL
17075         typename enable_if_c<
17076             is_vec<V>::value && vec_traits<V>::dim>=4,
17077             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17078         WZ0Y( V const & a )
17079             {
17080             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17081             }
17082         template <class V>
17083         BOOST_QVM_INLINE_TRIVIAL
17084         typename enable_if_c<
17085             is_vec<V>::value && vec_traits<V>::dim>=4,
17086             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17087         WZ0Y( V & a )
17088             {
17089             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17090             }
17091         template <class V>
17092         BOOST_QVM_INLINE_TRIVIAL
17093         typename enable_if_c<
17094             is_vec<V>::value && vec_traits<V>::dim>=3,
17095             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17096         ZZ0Y( V const & a )
17097             {
17098             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17099             }
17100         template <class V>
17101         BOOST_QVM_INLINE_TRIVIAL
17102         typename enable_if_c<
17103             is_vec<V>::value && vec_traits<V>::dim>=3,
17104             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17105         ZZ0Y( V & a )
17106             {
17107             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17108             }
17109         template <class V>
17110         BOOST_QVM_INLINE_TRIVIAL
17111         typename enable_if_c<
17112             is_vec<V>::value && vec_traits<V>::dim>=3,
17113             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17114         YZ0Y( V const & a )
17115             {
17116             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17117             }
17118         template <class V>
17119         BOOST_QVM_INLINE_TRIVIAL
17120         typename enable_if_c<
17121             is_vec<V>::value && vec_traits<V>::dim>=3,
17122             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17123         YZ0Y( V & a )
17124             {
17125             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17126             }
17127         template <class V>
17128         BOOST_QVM_INLINE_TRIVIAL
17129         typename enable_if_c<
17130             is_vec<V>::value && vec_traits<V>::dim>=3,
17131             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17132         XZ0Y( V const & a )
17133             {
17134             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17135             }
17136         template <class V>
17137         BOOST_QVM_INLINE_TRIVIAL
17138         typename enable_if_c<
17139             is_vec<V>::value && vec_traits<V>::dim>=3,
17140             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17141         XZ0Y( V & a )
17142             {
17143             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17144             }
17145         template <class V>
17146         BOOST_QVM_INLINE_TRIVIAL
17147         typename enable_if_c<
17148             is_vec<V>::value && vec_traits<V>::dim>=2,
17149             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17150         _1Y0Y( V const & a )
17151             {
17152             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17153             }
17154         template <class V>
17155         BOOST_QVM_INLINE_TRIVIAL
17156         typename enable_if_c<
17157             is_vec<V>::value && vec_traits<V>::dim>=2,
17158             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17159         _1Y0Y( V & a )
17160             {
17161             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17162             }
17163         template <class V>
17164         BOOST_QVM_INLINE_TRIVIAL
17165         typename enable_if_c<
17166             is_vec<V>::value && vec_traits<V>::dim>=2,
17167             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17168         _0Y0Y( V const & a )
17169             {
17170             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17171             }
17172         template <class V>
17173         BOOST_QVM_INLINE_TRIVIAL
17174         typename enable_if_c<
17175             is_vec<V>::value && vec_traits<V>::dim>=2,
17176             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17177         _0Y0Y( V & a )
17178             {
17179             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17180             }
17181         template <class V>
17182         BOOST_QVM_INLINE_TRIVIAL
17183         typename enable_if_c<
17184             is_vec<V>::value && vec_traits<V>::dim>=4,
17185             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17186         WY0Y( V const & a )
17187             {
17188             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17189             }
17190         template <class V>
17191         BOOST_QVM_INLINE_TRIVIAL
17192         typename enable_if_c<
17193             is_vec<V>::value && vec_traits<V>::dim>=4,
17194             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17195         WY0Y( V & a )
17196             {
17197             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17198             }
17199         template <class V>
17200         BOOST_QVM_INLINE_TRIVIAL
17201         typename enable_if_c<
17202             is_vec<V>::value && vec_traits<V>::dim>=3,
17203             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17204         ZY0Y( V const & a )
17205             {
17206             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17207             }
17208         template <class V>
17209         BOOST_QVM_INLINE_TRIVIAL
17210         typename enable_if_c<
17211             is_vec<V>::value && vec_traits<V>::dim>=3,
17212             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17213         ZY0Y( V & a )
17214             {
17215             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17216             }
17217         template <class V>
17218         BOOST_QVM_INLINE_TRIVIAL
17219         typename enable_if_c<
17220             is_vec<V>::value && vec_traits<V>::dim>=2,
17221             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17222         YY0Y( V const & a )
17223             {
17224             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17225             }
17226         template <class V>
17227         BOOST_QVM_INLINE_TRIVIAL
17228         typename enable_if_c<
17229             is_vec<V>::value && vec_traits<V>::dim>=2,
17230             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17231         YY0Y( V & a )
17232             {
17233             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17234             }
17235         template <class V>
17236         BOOST_QVM_INLINE_TRIVIAL
17237         typename enable_if_c<
17238             is_vec<V>::value && vec_traits<V>::dim>=2,
17239             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17240         XY0Y( V const & a )
17241             {
17242             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17243             }
17244         template <class V>
17245         BOOST_QVM_INLINE_TRIVIAL
17246         typename enable_if_c<
17247             is_vec<V>::value && vec_traits<V>::dim>=2,
17248             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17249         XY0Y( V & a )
17250             {
17251             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17252             }
17253         template <class V>
17254         BOOST_QVM_INLINE_TRIVIAL
17255         typename enable_if_c<
17256             is_vec<V>::value && vec_traits<V>::dim>=2,
17257             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17258         _1X0Y( V const & a )
17259             {
17260             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17261             }
17262         template <class V>
17263         BOOST_QVM_INLINE_TRIVIAL
17264         typename enable_if_c<
17265             is_vec<V>::value && vec_traits<V>::dim>=2,
17266             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17267         _1X0Y( V & a )
17268             {
17269             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17270             }
17271         template <class V>
17272         BOOST_QVM_INLINE_TRIVIAL
17273         typename enable_if_c<
17274             is_vec<V>::value && vec_traits<V>::dim>=2,
17275             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17276         _0X0Y( V const & a )
17277             {
17278             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17279             }
17280         template <class V>
17281         BOOST_QVM_INLINE_TRIVIAL
17282         typename enable_if_c<
17283             is_vec<V>::value && vec_traits<V>::dim>=2,
17284             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17285         _0X0Y( V & a )
17286             {
17287             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17288             }
17289         template <class V>
17290         BOOST_QVM_INLINE_TRIVIAL
17291         typename enable_if_c<
17292             is_vec<V>::value && vec_traits<V>::dim>=4,
17293             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17294         WX0Y( V const & a )
17295             {
17296             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17297             }
17298         template <class V>
17299         BOOST_QVM_INLINE_TRIVIAL
17300         typename enable_if_c<
17301             is_vec<V>::value && vec_traits<V>::dim>=4,
17302             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17303         WX0Y( V & a )
17304             {
17305             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17306             }
17307         template <class V>
17308         BOOST_QVM_INLINE_TRIVIAL
17309         typename enable_if_c<
17310             is_vec<V>::value && vec_traits<V>::dim>=3,
17311             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17312         ZX0Y( V const & a )
17313             {
17314             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17315             }
17316         template <class V>
17317         BOOST_QVM_INLINE_TRIVIAL
17318         typename enable_if_c<
17319             is_vec<V>::value && vec_traits<V>::dim>=3,
17320             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17321         ZX0Y( V & a )
17322             {
17323             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17324             }
17325         template <class V>
17326         BOOST_QVM_INLINE_TRIVIAL
17327         typename enable_if_c<
17328             is_vec<V>::value && vec_traits<V>::dim>=2,
17329             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17330         YX0Y( V const & a )
17331             {
17332             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17333             }
17334         template <class V>
17335         BOOST_QVM_INLINE_TRIVIAL
17336         typename enable_if_c<
17337             is_vec<V>::value && vec_traits<V>::dim>=2,
17338             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17339         YX0Y( V & a )
17340             {
17341             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17342             }
17343         template <class V>
17344         BOOST_QVM_INLINE_TRIVIAL
17345         typename enable_if_c<
17346             is_vec<V>::value && vec_traits<V>::dim>=2,
17347             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17348         XX0Y( V const & a )
17349             {
17350             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17351             }
17352         template <class V>
17353         BOOST_QVM_INLINE_TRIVIAL
17354         typename enable_if_c<
17355             is_vec<V>::value && vec_traits<V>::dim>=2,
17356             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>::type
17357         XX0Y( V & a )
17358             {
17359             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17360             }
17361         template <class V>
17362         BOOST_QVM_INLINE_TRIVIAL
17363         typename enable_if_c<
17364             is_vec<V>::value && vec_traits<V>::dim>=4,
17365             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17366         _11WY( V const & a )
17367             {
17368             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17369             }
17370         template <class V>
17371         BOOST_QVM_INLINE_TRIVIAL
17372         typename enable_if_c<
17373             is_vec<V>::value && vec_traits<V>::dim>=4,
17374             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17375         _11WY( V & a )
17376             {
17377             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17378             }
17379         template <class V>
17380         BOOST_QVM_INLINE_TRIVIAL
17381         typename enable_if_c<
17382             is_vec<V>::value && vec_traits<V>::dim>=4,
17383             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17384         _01WY( V const & a )
17385             {
17386             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17387             }
17388         template <class V>
17389         BOOST_QVM_INLINE_TRIVIAL
17390         typename enable_if_c<
17391             is_vec<V>::value && vec_traits<V>::dim>=4,
17392             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17393         _01WY( V & a )
17394             {
17395             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17396             }
17397         template <class V>
17398         BOOST_QVM_INLINE_TRIVIAL
17399         typename enable_if_c<
17400             is_vec<V>::value && vec_traits<V>::dim>=4,
17401             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17402         W1WY( V const & a )
17403             {
17404             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17405             }
17406         template <class V>
17407         BOOST_QVM_INLINE_TRIVIAL
17408         typename enable_if_c<
17409             is_vec<V>::value && vec_traits<V>::dim>=4,
17410             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17411         W1WY( V & a )
17412             {
17413             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17414             }
17415         template <class V>
17416         BOOST_QVM_INLINE_TRIVIAL
17417         typename enable_if_c<
17418             is_vec<V>::value && vec_traits<V>::dim>=4,
17419             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17420         Z1WY( V const & a )
17421             {
17422             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17423             }
17424         template <class V>
17425         BOOST_QVM_INLINE_TRIVIAL
17426         typename enable_if_c<
17427             is_vec<V>::value && vec_traits<V>::dim>=4,
17428             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17429         Z1WY( V & a )
17430             {
17431             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17432             }
17433         template <class V>
17434         BOOST_QVM_INLINE_TRIVIAL
17435         typename enable_if_c<
17436             is_vec<V>::value && vec_traits<V>::dim>=4,
17437             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17438         Y1WY( V const & a )
17439             {
17440             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17441             }
17442         template <class V>
17443         BOOST_QVM_INLINE_TRIVIAL
17444         typename enable_if_c<
17445             is_vec<V>::value && vec_traits<V>::dim>=4,
17446             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17447         Y1WY( V & a )
17448             {
17449             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17450             }
17451         template <class V>
17452         BOOST_QVM_INLINE_TRIVIAL
17453         typename enable_if_c<
17454             is_vec<V>::value && vec_traits<V>::dim>=4,
17455             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17456         X1WY( V const & a )
17457             {
17458             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17459             }
17460         template <class V>
17461         BOOST_QVM_INLINE_TRIVIAL
17462         typename enable_if_c<
17463             is_vec<V>::value && vec_traits<V>::dim>=4,
17464             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17465         X1WY( V & a )
17466             {
17467             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17468             }
17469         template <class V>
17470         BOOST_QVM_INLINE_TRIVIAL
17471         typename enable_if_c<
17472             is_vec<V>::value && vec_traits<V>::dim>=4,
17473             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17474         _10WY( V const & a )
17475             {
17476             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17477             }
17478         template <class V>
17479         BOOST_QVM_INLINE_TRIVIAL
17480         typename enable_if_c<
17481             is_vec<V>::value && vec_traits<V>::dim>=4,
17482             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17483         _10WY( V & a )
17484             {
17485             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17486             }
17487         template <class V>
17488         BOOST_QVM_INLINE_TRIVIAL
17489         typename enable_if_c<
17490             is_vec<V>::value && vec_traits<V>::dim>=4,
17491             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17492         _00WY( V const & a )
17493             {
17494             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17495             }
17496         template <class V>
17497         BOOST_QVM_INLINE_TRIVIAL
17498         typename enable_if_c<
17499             is_vec<V>::value && vec_traits<V>::dim>=4,
17500             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17501         _00WY( V & a )
17502             {
17503             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17504             }
17505         template <class V>
17506         BOOST_QVM_INLINE_TRIVIAL
17507         typename enable_if_c<
17508             is_vec<V>::value && vec_traits<V>::dim>=4,
17509             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17510         W0WY( V const & a )
17511             {
17512             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17513             }
17514         template <class V>
17515         BOOST_QVM_INLINE_TRIVIAL
17516         typename enable_if_c<
17517             is_vec<V>::value && vec_traits<V>::dim>=4,
17518             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17519         W0WY( V & a )
17520             {
17521             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17522             }
17523         template <class V>
17524         BOOST_QVM_INLINE_TRIVIAL
17525         typename enable_if_c<
17526             is_vec<V>::value && vec_traits<V>::dim>=4,
17527             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17528         Z0WY( V const & a )
17529             {
17530             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17531             }
17532         template <class V>
17533         BOOST_QVM_INLINE_TRIVIAL
17534         typename enable_if_c<
17535             is_vec<V>::value && vec_traits<V>::dim>=4,
17536             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17537         Z0WY( V & a )
17538             {
17539             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17540             }
17541         template <class V>
17542         BOOST_QVM_INLINE_TRIVIAL
17543         typename enable_if_c<
17544             is_vec<V>::value && vec_traits<V>::dim>=4,
17545             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17546         Y0WY( V const & a )
17547             {
17548             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17549             }
17550         template <class V>
17551         BOOST_QVM_INLINE_TRIVIAL
17552         typename enable_if_c<
17553             is_vec<V>::value && vec_traits<V>::dim>=4,
17554             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17555         Y0WY( V & a )
17556             {
17557             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17558             }
17559         template <class V>
17560         BOOST_QVM_INLINE_TRIVIAL
17561         typename enable_if_c<
17562             is_vec<V>::value && vec_traits<V>::dim>=4,
17563             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17564         X0WY( V const & a )
17565             {
17566             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17567             }
17568         template <class V>
17569         BOOST_QVM_INLINE_TRIVIAL
17570         typename enable_if_c<
17571             is_vec<V>::value && vec_traits<V>::dim>=4,
17572             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17573         X0WY( V & a )
17574             {
17575             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17576             }
17577         template <class V>
17578         BOOST_QVM_INLINE_TRIVIAL
17579         typename enable_if_c<
17580             is_vec<V>::value && vec_traits<V>::dim>=4,
17581             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17582         _1WWY( V const & a )
17583             {
17584             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17585             }
17586         template <class V>
17587         BOOST_QVM_INLINE_TRIVIAL
17588         typename enable_if_c<
17589             is_vec<V>::value && vec_traits<V>::dim>=4,
17590             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17591         _1WWY( V & a )
17592             {
17593             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17594             }
17595         template <class V>
17596         BOOST_QVM_INLINE_TRIVIAL
17597         typename enable_if_c<
17598             is_vec<V>::value && vec_traits<V>::dim>=4,
17599             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17600         _0WWY( V const & a )
17601             {
17602             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17603             }
17604         template <class V>
17605         BOOST_QVM_INLINE_TRIVIAL
17606         typename enable_if_c<
17607             is_vec<V>::value && vec_traits<V>::dim>=4,
17608             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17609         _0WWY( V & a )
17610             {
17611             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17612             }
17613         template <class V>
17614         BOOST_QVM_INLINE_TRIVIAL
17615         typename enable_if_c<
17616             is_vec<V>::value && vec_traits<V>::dim>=4,
17617             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17618         WWWY( V const & a )
17619             {
17620             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17621             }
17622         template <class V>
17623         BOOST_QVM_INLINE_TRIVIAL
17624         typename enable_if_c<
17625             is_vec<V>::value && vec_traits<V>::dim>=4,
17626             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17627         WWWY( V & a )
17628             {
17629             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17630             }
17631         template <class V>
17632         BOOST_QVM_INLINE_TRIVIAL
17633         typename enable_if_c<
17634             is_vec<V>::value && vec_traits<V>::dim>=4,
17635             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17636         ZWWY( V const & a )
17637             {
17638             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17639             }
17640         template <class V>
17641         BOOST_QVM_INLINE_TRIVIAL
17642         typename enable_if_c<
17643             is_vec<V>::value && vec_traits<V>::dim>=4,
17644             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17645         ZWWY( V & a )
17646             {
17647             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17648             }
17649         template <class V>
17650         BOOST_QVM_INLINE_TRIVIAL
17651         typename enable_if_c<
17652             is_vec<V>::value && vec_traits<V>::dim>=4,
17653             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17654         YWWY( V const & a )
17655             {
17656             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17657             }
17658         template <class V>
17659         BOOST_QVM_INLINE_TRIVIAL
17660         typename enable_if_c<
17661             is_vec<V>::value && vec_traits<V>::dim>=4,
17662             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17663         YWWY( V & a )
17664             {
17665             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17666             }
17667         template <class V>
17668         BOOST_QVM_INLINE_TRIVIAL
17669         typename enable_if_c<
17670             is_vec<V>::value && vec_traits<V>::dim>=4,
17671             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17672         XWWY( V const & a )
17673             {
17674             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17675             }
17676         template <class V>
17677         BOOST_QVM_INLINE_TRIVIAL
17678         typename enable_if_c<
17679             is_vec<V>::value && vec_traits<V>::dim>=4,
17680             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17681         XWWY( V & a )
17682             {
17683             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17684             }
17685         template <class V>
17686         BOOST_QVM_INLINE_TRIVIAL
17687         typename enable_if_c<
17688             is_vec<V>::value && vec_traits<V>::dim>=4,
17689             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17690         _1ZWY( V const & a )
17691             {
17692             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17693             }
17694         template <class V>
17695         BOOST_QVM_INLINE_TRIVIAL
17696         typename enable_if_c<
17697             is_vec<V>::value && vec_traits<V>::dim>=4,
17698             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17699         _1ZWY( V & a )
17700             {
17701             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17702             }
17703         template <class V>
17704         BOOST_QVM_INLINE_TRIVIAL
17705         typename enable_if_c<
17706             is_vec<V>::value && vec_traits<V>::dim>=4,
17707             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17708         _0ZWY( V const & a )
17709             {
17710             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17711             }
17712         template <class V>
17713         BOOST_QVM_INLINE_TRIVIAL
17714         typename enable_if_c<
17715             is_vec<V>::value && vec_traits<V>::dim>=4,
17716             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17717         _0ZWY( V & a )
17718             {
17719             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17720             }
17721         template <class V>
17722         BOOST_QVM_INLINE_TRIVIAL
17723         typename enable_if_c<
17724             is_vec<V>::value && vec_traits<V>::dim>=4,
17725             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17726         WZWY( V const & a )
17727             {
17728             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17729             }
17730         template <class V>
17731         BOOST_QVM_INLINE_TRIVIAL
17732         typename enable_if_c<
17733             is_vec<V>::value && vec_traits<V>::dim>=4,
17734             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17735         WZWY( V & a )
17736             {
17737             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17738             }
17739         template <class V>
17740         BOOST_QVM_INLINE_TRIVIAL
17741         typename enable_if_c<
17742             is_vec<V>::value && vec_traits<V>::dim>=4,
17743             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17744         ZZWY( V const & a )
17745             {
17746             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17747             }
17748         template <class V>
17749         BOOST_QVM_INLINE_TRIVIAL
17750         typename enable_if_c<
17751             is_vec<V>::value && vec_traits<V>::dim>=4,
17752             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17753         ZZWY( V & a )
17754             {
17755             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17756             }
17757         template <class V>
17758         BOOST_QVM_INLINE_TRIVIAL
17759         typename enable_if_c<
17760             is_vec<V>::value && vec_traits<V>::dim>=4,
17761             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17762         YZWY( V const & a )
17763             {
17764             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17765             }
17766         template <class V>
17767         BOOST_QVM_INLINE_TRIVIAL
17768         typename enable_if_c<
17769             is_vec<V>::value && vec_traits<V>::dim>=4,
17770             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17771         YZWY( V & a )
17772             {
17773             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17774             }
17775         template <class V>
17776         BOOST_QVM_INLINE_TRIVIAL
17777         typename enable_if_c<
17778             is_vec<V>::value && vec_traits<V>::dim>=4,
17779             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17780         XZWY( V const & a )
17781             {
17782             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17783             }
17784         template <class V>
17785         BOOST_QVM_INLINE_TRIVIAL
17786         typename enable_if_c<
17787             is_vec<V>::value && vec_traits<V>::dim>=4,
17788             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17789         XZWY( V & a )
17790             {
17791             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17792             }
17793         template <class V>
17794         BOOST_QVM_INLINE_TRIVIAL
17795         typename enable_if_c<
17796             is_vec<V>::value && vec_traits<V>::dim>=4,
17797             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17798         _1YWY( V const & a )
17799             {
17800             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17801             }
17802         template <class V>
17803         BOOST_QVM_INLINE_TRIVIAL
17804         typename enable_if_c<
17805             is_vec<V>::value && vec_traits<V>::dim>=4,
17806             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17807         _1YWY( V & a )
17808             {
17809             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17810             }
17811         template <class V>
17812         BOOST_QVM_INLINE_TRIVIAL
17813         typename enable_if_c<
17814             is_vec<V>::value && vec_traits<V>::dim>=4,
17815             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17816         _0YWY( V const & a )
17817             {
17818             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17819             }
17820         template <class V>
17821         BOOST_QVM_INLINE_TRIVIAL
17822         typename enable_if_c<
17823             is_vec<V>::value && vec_traits<V>::dim>=4,
17824             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17825         _0YWY( V & a )
17826             {
17827             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17828             }
17829         template <class V>
17830         BOOST_QVM_INLINE_TRIVIAL
17831         typename enable_if_c<
17832             is_vec<V>::value && vec_traits<V>::dim>=4,
17833             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17834         WYWY( V const & a )
17835             {
17836             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17837             }
17838         template <class V>
17839         BOOST_QVM_INLINE_TRIVIAL
17840         typename enable_if_c<
17841             is_vec<V>::value && vec_traits<V>::dim>=4,
17842             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17843         WYWY( V & a )
17844             {
17845             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17846             }
17847         template <class V>
17848         BOOST_QVM_INLINE_TRIVIAL
17849         typename enable_if_c<
17850             is_vec<V>::value && vec_traits<V>::dim>=4,
17851             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17852         ZYWY( V const & a )
17853             {
17854             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17855             }
17856         template <class V>
17857         BOOST_QVM_INLINE_TRIVIAL
17858         typename enable_if_c<
17859             is_vec<V>::value && vec_traits<V>::dim>=4,
17860             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17861         ZYWY( V & a )
17862             {
17863             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17864             }
17865         template <class V>
17866         BOOST_QVM_INLINE_TRIVIAL
17867         typename enable_if_c<
17868             is_vec<V>::value && vec_traits<V>::dim>=4,
17869             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17870         YYWY( V const & a )
17871             {
17872             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17873             }
17874         template <class V>
17875         BOOST_QVM_INLINE_TRIVIAL
17876         typename enable_if_c<
17877             is_vec<V>::value && vec_traits<V>::dim>=4,
17878             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17879         YYWY( V & a )
17880             {
17881             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17882             }
17883         template <class V>
17884         BOOST_QVM_INLINE_TRIVIAL
17885         typename enable_if_c<
17886             is_vec<V>::value && vec_traits<V>::dim>=4,
17887             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17888         XYWY( V const & a )
17889             {
17890             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17891             }
17892         template <class V>
17893         BOOST_QVM_INLINE_TRIVIAL
17894         typename enable_if_c<
17895             is_vec<V>::value && vec_traits<V>::dim>=4,
17896             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17897         XYWY( V & a )
17898             {
17899             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17900             }
17901         template <class V>
17902         BOOST_QVM_INLINE_TRIVIAL
17903         typename enable_if_c<
17904             is_vec<V>::value && vec_traits<V>::dim>=4,
17905             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17906         _1XWY( V const & a )
17907             {
17908             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17909             }
17910         template <class V>
17911         BOOST_QVM_INLINE_TRIVIAL
17912         typename enable_if_c<
17913             is_vec<V>::value && vec_traits<V>::dim>=4,
17914             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17915         _1XWY( V & a )
17916             {
17917             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17918             }
17919         template <class V>
17920         BOOST_QVM_INLINE_TRIVIAL
17921         typename enable_if_c<
17922             is_vec<V>::value && vec_traits<V>::dim>=4,
17923             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17924         _0XWY( V const & a )
17925             {
17926             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17927             }
17928         template <class V>
17929         BOOST_QVM_INLINE_TRIVIAL
17930         typename enable_if_c<
17931             is_vec<V>::value && vec_traits<V>::dim>=4,
17932             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17933         _0XWY( V & a )
17934             {
17935             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17936             }
17937         template <class V>
17938         BOOST_QVM_INLINE_TRIVIAL
17939         typename enable_if_c<
17940             is_vec<V>::value && vec_traits<V>::dim>=4,
17941             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17942         WXWY( V const & a )
17943             {
17944             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17945             }
17946         template <class V>
17947         BOOST_QVM_INLINE_TRIVIAL
17948         typename enable_if_c<
17949             is_vec<V>::value && vec_traits<V>::dim>=4,
17950             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17951         WXWY( V & a )
17952             {
17953             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17954             }
17955         template <class V>
17956         BOOST_QVM_INLINE_TRIVIAL
17957         typename enable_if_c<
17958             is_vec<V>::value && vec_traits<V>::dim>=4,
17959             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17960         ZXWY( V const & a )
17961             {
17962             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17963             }
17964         template <class V>
17965         BOOST_QVM_INLINE_TRIVIAL
17966         typename enable_if_c<
17967             is_vec<V>::value && vec_traits<V>::dim>=4,
17968             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17969         ZXWY( V & a )
17970             {
17971             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17972             }
17973         template <class V>
17974         BOOST_QVM_INLINE_TRIVIAL
17975         typename enable_if_c<
17976             is_vec<V>::value && vec_traits<V>::dim>=4,
17977             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17978         YXWY( V const & a )
17979             {
17980             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17981             }
17982         template <class V>
17983         BOOST_QVM_INLINE_TRIVIAL
17984         typename enable_if_c<
17985             is_vec<V>::value && vec_traits<V>::dim>=4,
17986             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
17987         YXWY( V & a )
17988             {
17989             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
17990             }
17991         template <class V>
17992         BOOST_QVM_INLINE_TRIVIAL
17993         typename enable_if_c<
17994             is_vec<V>::value && vec_traits<V>::dim>=4,
17995             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>::type
17996         XXWY( V const & a )
17997             {
17998             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
17999             }
18000         template <class V>
18001         BOOST_QVM_INLINE_TRIVIAL
18002         typename enable_if_c<
18003             is_vec<V>::value && vec_traits<V>::dim>=4,
18004             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>::type
18005         XXWY( V & a )
18006             {
18007             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18008             }
18009         template <class V>
18010         BOOST_QVM_INLINE_TRIVIAL
18011         typename enable_if_c<
18012             is_vec<V>::value && vec_traits<V>::dim>=3,
18013             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18014         _11ZY( V const & a )
18015             {
18016             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18017             }
18018         template <class V>
18019         BOOST_QVM_INLINE_TRIVIAL
18020         typename enable_if_c<
18021             is_vec<V>::value && vec_traits<V>::dim>=3,
18022             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18023         _11ZY( V & a )
18024             {
18025             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18026             }
18027         template <class V>
18028         BOOST_QVM_INLINE_TRIVIAL
18029         typename enable_if_c<
18030             is_vec<V>::value && vec_traits<V>::dim>=3,
18031             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18032         _01ZY( V const & a )
18033             {
18034             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18035             }
18036         template <class V>
18037         BOOST_QVM_INLINE_TRIVIAL
18038         typename enable_if_c<
18039             is_vec<V>::value && vec_traits<V>::dim>=3,
18040             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18041         _01ZY( V & a )
18042             {
18043             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18044             }
18045         template <class V>
18046         BOOST_QVM_INLINE_TRIVIAL
18047         typename enable_if_c<
18048             is_vec<V>::value && vec_traits<V>::dim>=4,
18049             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18050         W1ZY( V const & a )
18051             {
18052             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18053             }
18054         template <class V>
18055         BOOST_QVM_INLINE_TRIVIAL
18056         typename enable_if_c<
18057             is_vec<V>::value && vec_traits<V>::dim>=4,
18058             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18059         W1ZY( V & a )
18060             {
18061             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18062             }
18063         template <class V>
18064         BOOST_QVM_INLINE_TRIVIAL
18065         typename enable_if_c<
18066             is_vec<V>::value && vec_traits<V>::dim>=3,
18067             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18068         Z1ZY( V const & a )
18069             {
18070             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18071             }
18072         template <class V>
18073         BOOST_QVM_INLINE_TRIVIAL
18074         typename enable_if_c<
18075             is_vec<V>::value && vec_traits<V>::dim>=3,
18076             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18077         Z1ZY( V & a )
18078             {
18079             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18080             }
18081         template <class V>
18082         BOOST_QVM_INLINE_TRIVIAL
18083         typename enable_if_c<
18084             is_vec<V>::value && vec_traits<V>::dim>=3,
18085             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18086         Y1ZY( V const & a )
18087             {
18088             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18089             }
18090         template <class V>
18091         BOOST_QVM_INLINE_TRIVIAL
18092         typename enable_if_c<
18093             is_vec<V>::value && vec_traits<V>::dim>=3,
18094             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18095         Y1ZY( V & a )
18096             {
18097             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18098             }
18099         template <class V>
18100         BOOST_QVM_INLINE_TRIVIAL
18101         typename enable_if_c<
18102             is_vec<V>::value && vec_traits<V>::dim>=3,
18103             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18104         X1ZY( V const & a )
18105             {
18106             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18107             }
18108         template <class V>
18109         BOOST_QVM_INLINE_TRIVIAL
18110         typename enable_if_c<
18111             is_vec<V>::value && vec_traits<V>::dim>=3,
18112             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18113         X1ZY( V & a )
18114             {
18115             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18116             }
18117         template <class V>
18118         BOOST_QVM_INLINE_TRIVIAL
18119         typename enable_if_c<
18120             is_vec<V>::value && vec_traits<V>::dim>=3,
18121             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18122         _10ZY( V const & a )
18123             {
18124             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18125             }
18126         template <class V>
18127         BOOST_QVM_INLINE_TRIVIAL
18128         typename enable_if_c<
18129             is_vec<V>::value && vec_traits<V>::dim>=3,
18130             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18131         _10ZY( V & a )
18132             {
18133             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18134             }
18135         template <class V>
18136         BOOST_QVM_INLINE_TRIVIAL
18137         typename enable_if_c<
18138             is_vec<V>::value && vec_traits<V>::dim>=3,
18139             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18140         _00ZY( V const & a )
18141             {
18142             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18143             }
18144         template <class V>
18145         BOOST_QVM_INLINE_TRIVIAL
18146         typename enable_if_c<
18147             is_vec<V>::value && vec_traits<V>::dim>=3,
18148             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18149         _00ZY( V & a )
18150             {
18151             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18152             }
18153         template <class V>
18154         BOOST_QVM_INLINE_TRIVIAL
18155         typename enable_if_c<
18156             is_vec<V>::value && vec_traits<V>::dim>=4,
18157             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18158         W0ZY( V const & a )
18159             {
18160             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18161             }
18162         template <class V>
18163         BOOST_QVM_INLINE_TRIVIAL
18164         typename enable_if_c<
18165             is_vec<V>::value && vec_traits<V>::dim>=4,
18166             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18167         W0ZY( V & a )
18168             {
18169             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18170             }
18171         template <class V>
18172         BOOST_QVM_INLINE_TRIVIAL
18173         typename enable_if_c<
18174             is_vec<V>::value && vec_traits<V>::dim>=3,
18175             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18176         Z0ZY( V const & a )
18177             {
18178             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18179             }
18180         template <class V>
18181         BOOST_QVM_INLINE_TRIVIAL
18182         typename enable_if_c<
18183             is_vec<V>::value && vec_traits<V>::dim>=3,
18184             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18185         Z0ZY( V & a )
18186             {
18187             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18188             }
18189         template <class V>
18190         BOOST_QVM_INLINE_TRIVIAL
18191         typename enable_if_c<
18192             is_vec<V>::value && vec_traits<V>::dim>=3,
18193             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18194         Y0ZY( V const & a )
18195             {
18196             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18197             }
18198         template <class V>
18199         BOOST_QVM_INLINE_TRIVIAL
18200         typename enable_if_c<
18201             is_vec<V>::value && vec_traits<V>::dim>=3,
18202             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18203         Y0ZY( V & a )
18204             {
18205             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18206             }
18207         template <class V>
18208         BOOST_QVM_INLINE_TRIVIAL
18209         typename enable_if_c<
18210             is_vec<V>::value && vec_traits<V>::dim>=3,
18211             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18212         X0ZY( V const & a )
18213             {
18214             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18215             }
18216         template <class V>
18217         BOOST_QVM_INLINE_TRIVIAL
18218         typename enable_if_c<
18219             is_vec<V>::value && vec_traits<V>::dim>=3,
18220             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18221         X0ZY( V & a )
18222             {
18223             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18224             }
18225         template <class V>
18226         BOOST_QVM_INLINE_TRIVIAL
18227         typename enable_if_c<
18228             is_vec<V>::value && vec_traits<V>::dim>=4,
18229             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18230         _1WZY( V const & a )
18231             {
18232             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18233             }
18234         template <class V>
18235         BOOST_QVM_INLINE_TRIVIAL
18236         typename enable_if_c<
18237             is_vec<V>::value && vec_traits<V>::dim>=4,
18238             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18239         _1WZY( V & a )
18240             {
18241             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18242             }
18243         template <class V>
18244         BOOST_QVM_INLINE_TRIVIAL
18245         typename enable_if_c<
18246             is_vec<V>::value && vec_traits<V>::dim>=4,
18247             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18248         _0WZY( V const & a )
18249             {
18250             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18251             }
18252         template <class V>
18253         BOOST_QVM_INLINE_TRIVIAL
18254         typename enable_if_c<
18255             is_vec<V>::value && vec_traits<V>::dim>=4,
18256             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18257         _0WZY( V & a )
18258             {
18259             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18260             }
18261         template <class V>
18262         BOOST_QVM_INLINE_TRIVIAL
18263         typename enable_if_c<
18264             is_vec<V>::value && vec_traits<V>::dim>=4,
18265             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18266         WWZY( V const & a )
18267             {
18268             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18269             }
18270         template <class V>
18271         BOOST_QVM_INLINE_TRIVIAL
18272         typename enable_if_c<
18273             is_vec<V>::value && vec_traits<V>::dim>=4,
18274             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18275         WWZY( V & a )
18276             {
18277             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18278             }
18279         template <class V>
18280         BOOST_QVM_INLINE_TRIVIAL
18281         typename enable_if_c<
18282             is_vec<V>::value && vec_traits<V>::dim>=4,
18283             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18284         ZWZY( V const & a )
18285             {
18286             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18287             }
18288         template <class V>
18289         BOOST_QVM_INLINE_TRIVIAL
18290         typename enable_if_c<
18291             is_vec<V>::value && vec_traits<V>::dim>=4,
18292             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18293         ZWZY( V & a )
18294             {
18295             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18296             }
18297         template <class V>
18298         BOOST_QVM_INLINE_TRIVIAL
18299         typename enable_if_c<
18300             is_vec<V>::value && vec_traits<V>::dim>=4,
18301             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18302         YWZY( V const & a )
18303             {
18304             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18305             }
18306         template <class V>
18307         BOOST_QVM_INLINE_TRIVIAL
18308         typename enable_if_c<
18309             is_vec<V>::value && vec_traits<V>::dim>=4,
18310             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18311         YWZY( V & a )
18312             {
18313             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18314             }
18315         template <class V>
18316         BOOST_QVM_INLINE_TRIVIAL
18317         typename enable_if_c<
18318             is_vec<V>::value && vec_traits<V>::dim>=4,
18319             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18320         XWZY( V const & a )
18321             {
18322             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18323             }
18324         template <class V>
18325         BOOST_QVM_INLINE_TRIVIAL
18326         typename enable_if_c<
18327             is_vec<V>::value && vec_traits<V>::dim>=4,
18328             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18329         XWZY( V & a )
18330             {
18331             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18332             }
18333         template <class V>
18334         BOOST_QVM_INLINE_TRIVIAL
18335         typename enable_if_c<
18336             is_vec<V>::value && vec_traits<V>::dim>=3,
18337             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18338         _1ZZY( V const & a )
18339             {
18340             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18341             }
18342         template <class V>
18343         BOOST_QVM_INLINE_TRIVIAL
18344         typename enable_if_c<
18345             is_vec<V>::value && vec_traits<V>::dim>=3,
18346             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18347         _1ZZY( V & a )
18348             {
18349             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18350             }
18351         template <class V>
18352         BOOST_QVM_INLINE_TRIVIAL
18353         typename enable_if_c<
18354             is_vec<V>::value && vec_traits<V>::dim>=3,
18355             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18356         _0ZZY( V const & a )
18357             {
18358             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18359             }
18360         template <class V>
18361         BOOST_QVM_INLINE_TRIVIAL
18362         typename enable_if_c<
18363             is_vec<V>::value && vec_traits<V>::dim>=3,
18364             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18365         _0ZZY( V & a )
18366             {
18367             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18368             }
18369         template <class V>
18370         BOOST_QVM_INLINE_TRIVIAL
18371         typename enable_if_c<
18372             is_vec<V>::value && vec_traits<V>::dim>=4,
18373             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18374         WZZY( V const & a )
18375             {
18376             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18377             }
18378         template <class V>
18379         BOOST_QVM_INLINE_TRIVIAL
18380         typename enable_if_c<
18381             is_vec<V>::value && vec_traits<V>::dim>=4,
18382             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18383         WZZY( V & a )
18384             {
18385             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18386             }
18387         template <class V>
18388         BOOST_QVM_INLINE_TRIVIAL
18389         typename enable_if_c<
18390             is_vec<V>::value && vec_traits<V>::dim>=3,
18391             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18392         ZZZY( V const & a )
18393             {
18394             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18395             }
18396         template <class V>
18397         BOOST_QVM_INLINE_TRIVIAL
18398         typename enable_if_c<
18399             is_vec<V>::value && vec_traits<V>::dim>=3,
18400             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18401         ZZZY( V & a )
18402             {
18403             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18404             }
18405         template <class V>
18406         BOOST_QVM_INLINE_TRIVIAL
18407         typename enable_if_c<
18408             is_vec<V>::value && vec_traits<V>::dim>=3,
18409             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18410         YZZY( V const & a )
18411             {
18412             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18413             }
18414         template <class V>
18415         BOOST_QVM_INLINE_TRIVIAL
18416         typename enable_if_c<
18417             is_vec<V>::value && vec_traits<V>::dim>=3,
18418             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18419         YZZY( V & a )
18420             {
18421             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18422             }
18423         template <class V>
18424         BOOST_QVM_INLINE_TRIVIAL
18425         typename enable_if_c<
18426             is_vec<V>::value && vec_traits<V>::dim>=3,
18427             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18428         XZZY( V const & a )
18429             {
18430             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18431             }
18432         template <class V>
18433         BOOST_QVM_INLINE_TRIVIAL
18434         typename enable_if_c<
18435             is_vec<V>::value && vec_traits<V>::dim>=3,
18436             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18437         XZZY( V & a )
18438             {
18439             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18440             }
18441         template <class V>
18442         BOOST_QVM_INLINE_TRIVIAL
18443         typename enable_if_c<
18444             is_vec<V>::value && vec_traits<V>::dim>=3,
18445             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18446         _1YZY( V const & a )
18447             {
18448             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18449             }
18450         template <class V>
18451         BOOST_QVM_INLINE_TRIVIAL
18452         typename enable_if_c<
18453             is_vec<V>::value && vec_traits<V>::dim>=3,
18454             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18455         _1YZY( V & a )
18456             {
18457             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18458             }
18459         template <class V>
18460         BOOST_QVM_INLINE_TRIVIAL
18461         typename enable_if_c<
18462             is_vec<V>::value && vec_traits<V>::dim>=3,
18463             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18464         _0YZY( V const & a )
18465             {
18466             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18467             }
18468         template <class V>
18469         BOOST_QVM_INLINE_TRIVIAL
18470         typename enable_if_c<
18471             is_vec<V>::value && vec_traits<V>::dim>=3,
18472             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18473         _0YZY( V & a )
18474             {
18475             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18476             }
18477         template <class V>
18478         BOOST_QVM_INLINE_TRIVIAL
18479         typename enable_if_c<
18480             is_vec<V>::value && vec_traits<V>::dim>=4,
18481             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18482         WYZY( V const & a )
18483             {
18484             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18485             }
18486         template <class V>
18487         BOOST_QVM_INLINE_TRIVIAL
18488         typename enable_if_c<
18489             is_vec<V>::value && vec_traits<V>::dim>=4,
18490             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18491         WYZY( V & a )
18492             {
18493             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18494             }
18495         template <class V>
18496         BOOST_QVM_INLINE_TRIVIAL
18497         typename enable_if_c<
18498             is_vec<V>::value && vec_traits<V>::dim>=3,
18499             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18500         ZYZY( V const & a )
18501             {
18502             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18503             }
18504         template <class V>
18505         BOOST_QVM_INLINE_TRIVIAL
18506         typename enable_if_c<
18507             is_vec<V>::value && vec_traits<V>::dim>=3,
18508             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18509         ZYZY( V & a )
18510             {
18511             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18512             }
18513         template <class V>
18514         BOOST_QVM_INLINE_TRIVIAL
18515         typename enable_if_c<
18516             is_vec<V>::value && vec_traits<V>::dim>=3,
18517             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18518         YYZY( V const & a )
18519             {
18520             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18521             }
18522         template <class V>
18523         BOOST_QVM_INLINE_TRIVIAL
18524         typename enable_if_c<
18525             is_vec<V>::value && vec_traits<V>::dim>=3,
18526             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18527         YYZY( V & a )
18528             {
18529             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18530             }
18531         template <class V>
18532         BOOST_QVM_INLINE_TRIVIAL
18533         typename enable_if_c<
18534             is_vec<V>::value && vec_traits<V>::dim>=3,
18535             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18536         XYZY( V const & a )
18537             {
18538             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18539             }
18540         template <class V>
18541         BOOST_QVM_INLINE_TRIVIAL
18542         typename enable_if_c<
18543             is_vec<V>::value && vec_traits<V>::dim>=3,
18544             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18545         XYZY( V & a )
18546             {
18547             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18548             }
18549         template <class V>
18550         BOOST_QVM_INLINE_TRIVIAL
18551         typename enable_if_c<
18552             is_vec<V>::value && vec_traits<V>::dim>=3,
18553             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18554         _1XZY( V const & a )
18555             {
18556             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18557             }
18558         template <class V>
18559         BOOST_QVM_INLINE_TRIVIAL
18560         typename enable_if_c<
18561             is_vec<V>::value && vec_traits<V>::dim>=3,
18562             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18563         _1XZY( V & a )
18564             {
18565             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18566             }
18567         template <class V>
18568         BOOST_QVM_INLINE_TRIVIAL
18569         typename enable_if_c<
18570             is_vec<V>::value && vec_traits<V>::dim>=3,
18571             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18572         _0XZY( V const & a )
18573             {
18574             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18575             }
18576         template <class V>
18577         BOOST_QVM_INLINE_TRIVIAL
18578         typename enable_if_c<
18579             is_vec<V>::value && vec_traits<V>::dim>=3,
18580             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18581         _0XZY( V & a )
18582             {
18583             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18584             }
18585         template <class V>
18586         BOOST_QVM_INLINE_TRIVIAL
18587         typename enable_if_c<
18588             is_vec<V>::value && vec_traits<V>::dim>=4,
18589             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18590         WXZY( V const & a )
18591             {
18592             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18593             }
18594         template <class V>
18595         BOOST_QVM_INLINE_TRIVIAL
18596         typename enable_if_c<
18597             is_vec<V>::value && vec_traits<V>::dim>=4,
18598             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18599         WXZY( V & a )
18600             {
18601             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18602             }
18603         template <class V>
18604         BOOST_QVM_INLINE_TRIVIAL
18605         typename enable_if_c<
18606             is_vec<V>::value && vec_traits<V>::dim>=3,
18607             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18608         ZXZY( V const & a )
18609             {
18610             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18611             }
18612         template <class V>
18613         BOOST_QVM_INLINE_TRIVIAL
18614         typename enable_if_c<
18615             is_vec<V>::value && vec_traits<V>::dim>=3,
18616             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18617         ZXZY( V & a )
18618             {
18619             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18620             }
18621         template <class V>
18622         BOOST_QVM_INLINE_TRIVIAL
18623         typename enable_if_c<
18624             is_vec<V>::value && vec_traits<V>::dim>=3,
18625             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18626         YXZY( V const & a )
18627             {
18628             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18629             }
18630         template <class V>
18631         BOOST_QVM_INLINE_TRIVIAL
18632         typename enable_if_c<
18633             is_vec<V>::value && vec_traits<V>::dim>=3,
18634             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18635         YXZY( V & a )
18636             {
18637             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18638             }
18639         template <class V>
18640         BOOST_QVM_INLINE_TRIVIAL
18641         typename enable_if_c<
18642             is_vec<V>::value && vec_traits<V>::dim>=3,
18643             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18644         XXZY( V const & a )
18645             {
18646             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18647             }
18648         template <class V>
18649         BOOST_QVM_INLINE_TRIVIAL
18650         typename enable_if_c<
18651             is_vec<V>::value && vec_traits<V>::dim>=3,
18652             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>::type
18653         XXZY( V & a )
18654             {
18655             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18656             }
18657         template <class V>
18658         BOOST_QVM_INLINE_TRIVIAL
18659         typename enable_if_c<
18660             is_vec<V>::value && vec_traits<V>::dim>=2,
18661             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18662         _11YY( V const & a )
18663             {
18664             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18665             }
18666         template <class V>
18667         BOOST_QVM_INLINE_TRIVIAL
18668         typename enable_if_c<
18669             is_vec<V>::value && vec_traits<V>::dim>=2,
18670             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18671         _11YY( V & a )
18672             {
18673             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18674             }
18675         template <class V>
18676         BOOST_QVM_INLINE_TRIVIAL
18677         typename enable_if_c<
18678             is_vec<V>::value && vec_traits<V>::dim>=2,
18679             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18680         _01YY( V const & a )
18681             {
18682             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18683             }
18684         template <class V>
18685         BOOST_QVM_INLINE_TRIVIAL
18686         typename enable_if_c<
18687             is_vec<V>::value && vec_traits<V>::dim>=2,
18688             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18689         _01YY( V & a )
18690             {
18691             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18692             }
18693         template <class V>
18694         BOOST_QVM_INLINE_TRIVIAL
18695         typename enable_if_c<
18696             is_vec<V>::value && vec_traits<V>::dim>=4,
18697             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18698         W1YY( V const & a )
18699             {
18700             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18701             }
18702         template <class V>
18703         BOOST_QVM_INLINE_TRIVIAL
18704         typename enable_if_c<
18705             is_vec<V>::value && vec_traits<V>::dim>=4,
18706             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18707         W1YY( V & a )
18708             {
18709             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18710             }
18711         template <class V>
18712         BOOST_QVM_INLINE_TRIVIAL
18713         typename enable_if_c<
18714             is_vec<V>::value && vec_traits<V>::dim>=3,
18715             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18716         Z1YY( V const & a )
18717             {
18718             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18719             }
18720         template <class V>
18721         BOOST_QVM_INLINE_TRIVIAL
18722         typename enable_if_c<
18723             is_vec<V>::value && vec_traits<V>::dim>=3,
18724             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18725         Z1YY( V & a )
18726             {
18727             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18728             }
18729         template <class V>
18730         BOOST_QVM_INLINE_TRIVIAL
18731         typename enable_if_c<
18732             is_vec<V>::value && vec_traits<V>::dim>=2,
18733             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18734         Y1YY( V const & a )
18735             {
18736             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18737             }
18738         template <class V>
18739         BOOST_QVM_INLINE_TRIVIAL
18740         typename enable_if_c<
18741             is_vec<V>::value && vec_traits<V>::dim>=2,
18742             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18743         Y1YY( V & a )
18744             {
18745             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18746             }
18747         template <class V>
18748         BOOST_QVM_INLINE_TRIVIAL
18749         typename enable_if_c<
18750             is_vec<V>::value && vec_traits<V>::dim>=2,
18751             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18752         X1YY( V const & a )
18753             {
18754             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18755             }
18756         template <class V>
18757         BOOST_QVM_INLINE_TRIVIAL
18758         typename enable_if_c<
18759             is_vec<V>::value && vec_traits<V>::dim>=2,
18760             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18761         X1YY( V & a )
18762             {
18763             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18764             }
18765         template <class V>
18766         BOOST_QVM_INLINE_TRIVIAL
18767         typename enable_if_c<
18768             is_vec<V>::value && vec_traits<V>::dim>=2,
18769             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18770         _10YY( V const & a )
18771             {
18772             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18773             }
18774         template <class V>
18775         BOOST_QVM_INLINE_TRIVIAL
18776         typename enable_if_c<
18777             is_vec<V>::value && vec_traits<V>::dim>=2,
18778             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18779         _10YY( V & a )
18780             {
18781             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18782             }
18783         template <class V>
18784         BOOST_QVM_INLINE_TRIVIAL
18785         typename enable_if_c<
18786             is_vec<V>::value && vec_traits<V>::dim>=2,
18787             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18788         _00YY( V const & a )
18789             {
18790             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18791             }
18792         template <class V>
18793         BOOST_QVM_INLINE_TRIVIAL
18794         typename enable_if_c<
18795             is_vec<V>::value && vec_traits<V>::dim>=2,
18796             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18797         _00YY( V & a )
18798             {
18799             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18800             }
18801         template <class V>
18802         BOOST_QVM_INLINE_TRIVIAL
18803         typename enable_if_c<
18804             is_vec<V>::value && vec_traits<V>::dim>=4,
18805             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18806         W0YY( V const & a )
18807             {
18808             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18809             }
18810         template <class V>
18811         BOOST_QVM_INLINE_TRIVIAL
18812         typename enable_if_c<
18813             is_vec<V>::value && vec_traits<V>::dim>=4,
18814             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18815         W0YY( V & a )
18816             {
18817             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18818             }
18819         template <class V>
18820         BOOST_QVM_INLINE_TRIVIAL
18821         typename enable_if_c<
18822             is_vec<V>::value && vec_traits<V>::dim>=3,
18823             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18824         Z0YY( V const & a )
18825             {
18826             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18827             }
18828         template <class V>
18829         BOOST_QVM_INLINE_TRIVIAL
18830         typename enable_if_c<
18831             is_vec<V>::value && vec_traits<V>::dim>=3,
18832             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18833         Z0YY( V & a )
18834             {
18835             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18836             }
18837         template <class V>
18838         BOOST_QVM_INLINE_TRIVIAL
18839         typename enable_if_c<
18840             is_vec<V>::value && vec_traits<V>::dim>=2,
18841             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18842         Y0YY( V const & a )
18843             {
18844             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18845             }
18846         template <class V>
18847         BOOST_QVM_INLINE_TRIVIAL
18848         typename enable_if_c<
18849             is_vec<V>::value && vec_traits<V>::dim>=2,
18850             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18851         Y0YY( V & a )
18852             {
18853             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18854             }
18855         template <class V>
18856         BOOST_QVM_INLINE_TRIVIAL
18857         typename enable_if_c<
18858             is_vec<V>::value && vec_traits<V>::dim>=2,
18859             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18860         X0YY( V const & a )
18861             {
18862             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18863             }
18864         template <class V>
18865         BOOST_QVM_INLINE_TRIVIAL
18866         typename enable_if_c<
18867             is_vec<V>::value && vec_traits<V>::dim>=2,
18868             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18869         X0YY( V & a )
18870             {
18871             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18872             }
18873         template <class V>
18874         BOOST_QVM_INLINE_TRIVIAL
18875         typename enable_if_c<
18876             is_vec<V>::value && vec_traits<V>::dim>=4,
18877             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18878         _1WYY( V const & a )
18879             {
18880             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18881             }
18882         template <class V>
18883         BOOST_QVM_INLINE_TRIVIAL
18884         typename enable_if_c<
18885             is_vec<V>::value && vec_traits<V>::dim>=4,
18886             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18887         _1WYY( V & a )
18888             {
18889             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18890             }
18891         template <class V>
18892         BOOST_QVM_INLINE_TRIVIAL
18893         typename enable_if_c<
18894             is_vec<V>::value && vec_traits<V>::dim>=4,
18895             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18896         _0WYY( V const & a )
18897             {
18898             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18899             }
18900         template <class V>
18901         BOOST_QVM_INLINE_TRIVIAL
18902         typename enable_if_c<
18903             is_vec<V>::value && vec_traits<V>::dim>=4,
18904             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18905         _0WYY( V & a )
18906             {
18907             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18908             }
18909         template <class V>
18910         BOOST_QVM_INLINE_TRIVIAL
18911         typename enable_if_c<
18912             is_vec<V>::value && vec_traits<V>::dim>=4,
18913             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18914         WWYY( V const & a )
18915             {
18916             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18917             }
18918         template <class V>
18919         BOOST_QVM_INLINE_TRIVIAL
18920         typename enable_if_c<
18921             is_vec<V>::value && vec_traits<V>::dim>=4,
18922             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18923         WWYY( V & a )
18924             {
18925             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18926             }
18927         template <class V>
18928         BOOST_QVM_INLINE_TRIVIAL
18929         typename enable_if_c<
18930             is_vec<V>::value && vec_traits<V>::dim>=4,
18931             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18932         ZWYY( V const & a )
18933             {
18934             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18935             }
18936         template <class V>
18937         BOOST_QVM_INLINE_TRIVIAL
18938         typename enable_if_c<
18939             is_vec<V>::value && vec_traits<V>::dim>=4,
18940             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18941         ZWYY( V & a )
18942             {
18943             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18944             }
18945         template <class V>
18946         BOOST_QVM_INLINE_TRIVIAL
18947         typename enable_if_c<
18948             is_vec<V>::value && vec_traits<V>::dim>=4,
18949             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18950         YWYY( V const & a )
18951             {
18952             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18953             }
18954         template <class V>
18955         BOOST_QVM_INLINE_TRIVIAL
18956         typename enable_if_c<
18957             is_vec<V>::value && vec_traits<V>::dim>=4,
18958             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18959         YWYY( V & a )
18960             {
18961             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18962             }
18963         template <class V>
18964         BOOST_QVM_INLINE_TRIVIAL
18965         typename enable_if_c<
18966             is_vec<V>::value && vec_traits<V>::dim>=4,
18967             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18968         XWYY( V const & a )
18969             {
18970             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18971             }
18972         template <class V>
18973         BOOST_QVM_INLINE_TRIVIAL
18974         typename enable_if_c<
18975             is_vec<V>::value && vec_traits<V>::dim>=4,
18976             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18977         XWYY( V & a )
18978             {
18979             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18980             }
18981         template <class V>
18982         BOOST_QVM_INLINE_TRIVIAL
18983         typename enable_if_c<
18984             is_vec<V>::value && vec_traits<V>::dim>=3,
18985             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
18986         _1ZYY( V const & a )
18987             {
18988             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
18989             }
18990         template <class V>
18991         BOOST_QVM_INLINE_TRIVIAL
18992         typename enable_if_c<
18993             is_vec<V>::value && vec_traits<V>::dim>=3,
18994             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
18995         _1ZYY( V & a )
18996             {
18997             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
18998             }
18999         template <class V>
19000         BOOST_QVM_INLINE_TRIVIAL
19001         typename enable_if_c<
19002             is_vec<V>::value && vec_traits<V>::dim>=3,
19003             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19004         _0ZYY( V const & a )
19005             {
19006             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19007             }
19008         template <class V>
19009         BOOST_QVM_INLINE_TRIVIAL
19010         typename enable_if_c<
19011             is_vec<V>::value && vec_traits<V>::dim>=3,
19012             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19013         _0ZYY( V & a )
19014             {
19015             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19016             }
19017         template <class V>
19018         BOOST_QVM_INLINE_TRIVIAL
19019         typename enable_if_c<
19020             is_vec<V>::value && vec_traits<V>::dim>=4,
19021             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19022         WZYY( V const & a )
19023             {
19024             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19025             }
19026         template <class V>
19027         BOOST_QVM_INLINE_TRIVIAL
19028         typename enable_if_c<
19029             is_vec<V>::value && vec_traits<V>::dim>=4,
19030             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19031         WZYY( V & a )
19032             {
19033             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19034             }
19035         template <class V>
19036         BOOST_QVM_INLINE_TRIVIAL
19037         typename enable_if_c<
19038             is_vec<V>::value && vec_traits<V>::dim>=3,
19039             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19040         ZZYY( V const & a )
19041             {
19042             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19043             }
19044         template <class V>
19045         BOOST_QVM_INLINE_TRIVIAL
19046         typename enable_if_c<
19047             is_vec<V>::value && vec_traits<V>::dim>=3,
19048             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19049         ZZYY( V & a )
19050             {
19051             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19052             }
19053         template <class V>
19054         BOOST_QVM_INLINE_TRIVIAL
19055         typename enable_if_c<
19056             is_vec<V>::value && vec_traits<V>::dim>=3,
19057             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19058         YZYY( V const & a )
19059             {
19060             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19061             }
19062         template <class V>
19063         BOOST_QVM_INLINE_TRIVIAL
19064         typename enable_if_c<
19065             is_vec<V>::value && vec_traits<V>::dim>=3,
19066             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19067         YZYY( V & a )
19068             {
19069             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19070             }
19071         template <class V>
19072         BOOST_QVM_INLINE_TRIVIAL
19073         typename enable_if_c<
19074             is_vec<V>::value && vec_traits<V>::dim>=3,
19075             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19076         XZYY( V const & a )
19077             {
19078             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19079             }
19080         template <class V>
19081         BOOST_QVM_INLINE_TRIVIAL
19082         typename enable_if_c<
19083             is_vec<V>::value && vec_traits<V>::dim>=3,
19084             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19085         XZYY( V & a )
19086             {
19087             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19088             }
19089         template <class V>
19090         BOOST_QVM_INLINE_TRIVIAL
19091         typename enable_if_c<
19092             is_vec<V>::value && vec_traits<V>::dim>=2,
19093             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19094         _1YYY( V const & a )
19095             {
19096             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19097             }
19098         template <class V>
19099         BOOST_QVM_INLINE_TRIVIAL
19100         typename enable_if_c<
19101             is_vec<V>::value && vec_traits<V>::dim>=2,
19102             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19103         _1YYY( V & a )
19104             {
19105             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19106             }
19107         template <class V>
19108         BOOST_QVM_INLINE_TRIVIAL
19109         typename enable_if_c<
19110             is_vec<V>::value && vec_traits<V>::dim>=2,
19111             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19112         _0YYY( V const & a )
19113             {
19114             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19115             }
19116         template <class V>
19117         BOOST_QVM_INLINE_TRIVIAL
19118         typename enable_if_c<
19119             is_vec<V>::value && vec_traits<V>::dim>=2,
19120             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19121         _0YYY( V & a )
19122             {
19123             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19124             }
19125         template <class V>
19126         BOOST_QVM_INLINE_TRIVIAL
19127         typename enable_if_c<
19128             is_vec<V>::value && vec_traits<V>::dim>=4,
19129             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19130         WYYY( V const & a )
19131             {
19132             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19133             }
19134         template <class V>
19135         BOOST_QVM_INLINE_TRIVIAL
19136         typename enable_if_c<
19137             is_vec<V>::value && vec_traits<V>::dim>=4,
19138             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19139         WYYY( V & a )
19140             {
19141             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19142             }
19143         template <class V>
19144         BOOST_QVM_INLINE_TRIVIAL
19145         typename enable_if_c<
19146             is_vec<V>::value && vec_traits<V>::dim>=3,
19147             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19148         ZYYY( V const & a )
19149             {
19150             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19151             }
19152         template <class V>
19153         BOOST_QVM_INLINE_TRIVIAL
19154         typename enable_if_c<
19155             is_vec<V>::value && vec_traits<V>::dim>=3,
19156             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19157         ZYYY( V & a )
19158             {
19159             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19160             }
19161         template <class V>
19162         BOOST_QVM_INLINE_TRIVIAL
19163         typename enable_if_c<
19164             is_vec<V>::value && vec_traits<V>::dim>=2,
19165             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19166         YYYY( V const & a )
19167             {
19168             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19169             }
19170         template <class V>
19171         BOOST_QVM_INLINE_TRIVIAL
19172         typename enable_if_c<
19173             is_vec<V>::value && vec_traits<V>::dim>=2,
19174             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19175         YYYY( V & a )
19176             {
19177             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19178             }
19179         template <class V>
19180         BOOST_QVM_INLINE_TRIVIAL
19181         typename enable_if_c<
19182             is_vec<V>::value && vec_traits<V>::dim>=2,
19183             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19184         XYYY( V const & a )
19185             {
19186             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19187             }
19188         template <class V>
19189         BOOST_QVM_INLINE_TRIVIAL
19190         typename enable_if_c<
19191             is_vec<V>::value && vec_traits<V>::dim>=2,
19192             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19193         XYYY( V & a )
19194             {
19195             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19196             }
19197         template <class V>
19198         BOOST_QVM_INLINE_TRIVIAL
19199         typename enable_if_c<
19200             is_vec<V>::value && vec_traits<V>::dim>=2,
19201             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19202         _1XYY( V const & a )
19203             {
19204             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19205             }
19206         template <class V>
19207         BOOST_QVM_INLINE_TRIVIAL
19208         typename enable_if_c<
19209             is_vec<V>::value && vec_traits<V>::dim>=2,
19210             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19211         _1XYY( V & a )
19212             {
19213             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19214             }
19215         template <class V>
19216         BOOST_QVM_INLINE_TRIVIAL
19217         typename enable_if_c<
19218             is_vec<V>::value && vec_traits<V>::dim>=2,
19219             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19220         _0XYY( V const & a )
19221             {
19222             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19223             }
19224         template <class V>
19225         BOOST_QVM_INLINE_TRIVIAL
19226         typename enable_if_c<
19227             is_vec<V>::value && vec_traits<V>::dim>=2,
19228             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19229         _0XYY( V & a )
19230             {
19231             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19232             }
19233         template <class V>
19234         BOOST_QVM_INLINE_TRIVIAL
19235         typename enable_if_c<
19236             is_vec<V>::value && vec_traits<V>::dim>=4,
19237             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19238         WXYY( V const & a )
19239             {
19240             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19241             }
19242         template <class V>
19243         BOOST_QVM_INLINE_TRIVIAL
19244         typename enable_if_c<
19245             is_vec<V>::value && vec_traits<V>::dim>=4,
19246             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19247         WXYY( V & a )
19248             {
19249             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19250             }
19251         template <class V>
19252         BOOST_QVM_INLINE_TRIVIAL
19253         typename enable_if_c<
19254             is_vec<V>::value && vec_traits<V>::dim>=3,
19255             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19256         ZXYY( V const & a )
19257             {
19258             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19259             }
19260         template <class V>
19261         BOOST_QVM_INLINE_TRIVIAL
19262         typename enable_if_c<
19263             is_vec<V>::value && vec_traits<V>::dim>=3,
19264             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19265         ZXYY( V & a )
19266             {
19267             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19268             }
19269         template <class V>
19270         BOOST_QVM_INLINE_TRIVIAL
19271         typename enable_if_c<
19272             is_vec<V>::value && vec_traits<V>::dim>=2,
19273             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19274         YXYY( V const & a )
19275             {
19276             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19277             }
19278         template <class V>
19279         BOOST_QVM_INLINE_TRIVIAL
19280         typename enable_if_c<
19281             is_vec<V>::value && vec_traits<V>::dim>=2,
19282             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19283         YXYY( V & a )
19284             {
19285             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19286             }
19287         template <class V>
19288         BOOST_QVM_INLINE_TRIVIAL
19289         typename enable_if_c<
19290             is_vec<V>::value && vec_traits<V>::dim>=2,
19291             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19292         XXYY( V const & a )
19293             {
19294             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19295             }
19296         template <class V>
19297         BOOST_QVM_INLINE_TRIVIAL
19298         typename enable_if_c<
19299             is_vec<V>::value && vec_traits<V>::dim>=2,
19300             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>::type
19301         XXYY( V & a )
19302             {
19303             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19304             }
19305         template <class V>
19306         BOOST_QVM_INLINE_TRIVIAL
19307         typename enable_if_c<
19308             is_vec<V>::value && vec_traits<V>::dim>=2,
19309             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19310         _11XY( V const & a )
19311             {
19312             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19313             }
19314         template <class V>
19315         BOOST_QVM_INLINE_TRIVIAL
19316         typename enable_if_c<
19317             is_vec<V>::value && vec_traits<V>::dim>=2,
19318             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19319         _11XY( V & a )
19320             {
19321             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19322             }
19323         template <class V>
19324         BOOST_QVM_INLINE_TRIVIAL
19325         typename enable_if_c<
19326             is_vec<V>::value && vec_traits<V>::dim>=2,
19327             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19328         _01XY( V const & a )
19329             {
19330             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19331             }
19332         template <class V>
19333         BOOST_QVM_INLINE_TRIVIAL
19334         typename enable_if_c<
19335             is_vec<V>::value && vec_traits<V>::dim>=2,
19336             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19337         _01XY( V & a )
19338             {
19339             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19340             }
19341         template <class V>
19342         BOOST_QVM_INLINE_TRIVIAL
19343         typename enable_if_c<
19344             is_vec<V>::value && vec_traits<V>::dim>=4,
19345             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19346         W1XY( V const & a )
19347             {
19348             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19349             }
19350         template <class V>
19351         BOOST_QVM_INLINE_TRIVIAL
19352         typename enable_if_c<
19353             is_vec<V>::value && vec_traits<V>::dim>=4,
19354             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19355         W1XY( V & a )
19356             {
19357             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19358             }
19359         template <class V>
19360         BOOST_QVM_INLINE_TRIVIAL
19361         typename enable_if_c<
19362             is_vec<V>::value && vec_traits<V>::dim>=3,
19363             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19364         Z1XY( V const & a )
19365             {
19366             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19367             }
19368         template <class V>
19369         BOOST_QVM_INLINE_TRIVIAL
19370         typename enable_if_c<
19371             is_vec<V>::value && vec_traits<V>::dim>=3,
19372             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19373         Z1XY( V & a )
19374             {
19375             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19376             }
19377         template <class V>
19378         BOOST_QVM_INLINE_TRIVIAL
19379         typename enable_if_c<
19380             is_vec<V>::value && vec_traits<V>::dim>=2,
19381             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19382         Y1XY( V const & a )
19383             {
19384             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19385             }
19386         template <class V>
19387         BOOST_QVM_INLINE_TRIVIAL
19388         typename enable_if_c<
19389             is_vec<V>::value && vec_traits<V>::dim>=2,
19390             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19391         Y1XY( V & a )
19392             {
19393             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19394             }
19395         template <class V>
19396         BOOST_QVM_INLINE_TRIVIAL
19397         typename enable_if_c<
19398             is_vec<V>::value && vec_traits<V>::dim>=2,
19399             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19400         X1XY( V const & a )
19401             {
19402             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19403             }
19404         template <class V>
19405         BOOST_QVM_INLINE_TRIVIAL
19406         typename enable_if_c<
19407             is_vec<V>::value && vec_traits<V>::dim>=2,
19408             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19409         X1XY( V & a )
19410             {
19411             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19412             }
19413         template <class V>
19414         BOOST_QVM_INLINE_TRIVIAL
19415         typename enable_if_c<
19416             is_vec<V>::value && vec_traits<V>::dim>=2,
19417             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19418         _10XY( V const & a )
19419             {
19420             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19421             }
19422         template <class V>
19423         BOOST_QVM_INLINE_TRIVIAL
19424         typename enable_if_c<
19425             is_vec<V>::value && vec_traits<V>::dim>=2,
19426             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19427         _10XY( V & a )
19428             {
19429             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19430             }
19431         template <class V>
19432         BOOST_QVM_INLINE_TRIVIAL
19433         typename enable_if_c<
19434             is_vec<V>::value && vec_traits<V>::dim>=2,
19435             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19436         _00XY( V const & a )
19437             {
19438             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19439             }
19440         template <class V>
19441         BOOST_QVM_INLINE_TRIVIAL
19442         typename enable_if_c<
19443             is_vec<V>::value && vec_traits<V>::dim>=2,
19444             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19445         _00XY( V & a )
19446             {
19447             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19448             }
19449         template <class V>
19450         BOOST_QVM_INLINE_TRIVIAL
19451         typename enable_if_c<
19452             is_vec<V>::value && vec_traits<V>::dim>=4,
19453             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19454         W0XY( V const & a )
19455             {
19456             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19457             }
19458         template <class V>
19459         BOOST_QVM_INLINE_TRIVIAL
19460         typename enable_if_c<
19461             is_vec<V>::value && vec_traits<V>::dim>=4,
19462             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19463         W0XY( V & a )
19464             {
19465             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19466             }
19467         template <class V>
19468         BOOST_QVM_INLINE_TRIVIAL
19469         typename enable_if_c<
19470             is_vec<V>::value && vec_traits<V>::dim>=3,
19471             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19472         Z0XY( V const & a )
19473             {
19474             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19475             }
19476         template <class V>
19477         BOOST_QVM_INLINE_TRIVIAL
19478         typename enable_if_c<
19479             is_vec<V>::value && vec_traits<V>::dim>=3,
19480             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19481         Z0XY( V & a )
19482             {
19483             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19484             }
19485         template <class V>
19486         BOOST_QVM_INLINE_TRIVIAL
19487         typename enable_if_c<
19488             is_vec<V>::value && vec_traits<V>::dim>=2,
19489             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19490         Y0XY( V const & a )
19491             {
19492             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19493             }
19494         template <class V>
19495         BOOST_QVM_INLINE_TRIVIAL
19496         typename enable_if_c<
19497             is_vec<V>::value && vec_traits<V>::dim>=2,
19498             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19499         Y0XY( V & a )
19500             {
19501             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19502             }
19503         template <class V>
19504         BOOST_QVM_INLINE_TRIVIAL
19505         typename enable_if_c<
19506             is_vec<V>::value && vec_traits<V>::dim>=2,
19507             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19508         X0XY( V const & a )
19509             {
19510             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19511             }
19512         template <class V>
19513         BOOST_QVM_INLINE_TRIVIAL
19514         typename enable_if_c<
19515             is_vec<V>::value && vec_traits<V>::dim>=2,
19516             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19517         X0XY( V & a )
19518             {
19519             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19520             }
19521         template <class V>
19522         BOOST_QVM_INLINE_TRIVIAL
19523         typename enable_if_c<
19524             is_vec<V>::value && vec_traits<V>::dim>=4,
19525             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19526         _1WXY( V const & a )
19527             {
19528             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19529             }
19530         template <class V>
19531         BOOST_QVM_INLINE_TRIVIAL
19532         typename enable_if_c<
19533             is_vec<V>::value && vec_traits<V>::dim>=4,
19534             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19535         _1WXY( V & a )
19536             {
19537             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19538             }
19539         template <class V>
19540         BOOST_QVM_INLINE_TRIVIAL
19541         typename enable_if_c<
19542             is_vec<V>::value && vec_traits<V>::dim>=4,
19543             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19544         _0WXY( V const & a )
19545             {
19546             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19547             }
19548         template <class V>
19549         BOOST_QVM_INLINE_TRIVIAL
19550         typename enable_if_c<
19551             is_vec<V>::value && vec_traits<V>::dim>=4,
19552             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19553         _0WXY( V & a )
19554             {
19555             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19556             }
19557         template <class V>
19558         BOOST_QVM_INLINE_TRIVIAL
19559         typename enable_if_c<
19560             is_vec<V>::value && vec_traits<V>::dim>=4,
19561             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19562         WWXY( V const & a )
19563             {
19564             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19565             }
19566         template <class V>
19567         BOOST_QVM_INLINE_TRIVIAL
19568         typename enable_if_c<
19569             is_vec<V>::value && vec_traits<V>::dim>=4,
19570             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19571         WWXY( V & a )
19572             {
19573             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19574             }
19575         template <class V>
19576         BOOST_QVM_INLINE_TRIVIAL
19577         typename enable_if_c<
19578             is_vec<V>::value && vec_traits<V>::dim>=4,
19579             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19580         ZWXY( V const & a )
19581             {
19582             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19583             }
19584         template <class V>
19585         BOOST_QVM_INLINE_TRIVIAL
19586         typename enable_if_c<
19587             is_vec<V>::value && vec_traits<V>::dim>=4,
19588             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19589         ZWXY( V & a )
19590             {
19591             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19592             }
19593         template <class V>
19594         BOOST_QVM_INLINE_TRIVIAL
19595         typename enable_if_c<
19596             is_vec<V>::value && vec_traits<V>::dim>=4,
19597             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19598         YWXY( V const & a )
19599             {
19600             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19601             }
19602         template <class V>
19603         BOOST_QVM_INLINE_TRIVIAL
19604         typename enable_if_c<
19605             is_vec<V>::value && vec_traits<V>::dim>=4,
19606             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19607         YWXY( V & a )
19608             {
19609             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19610             }
19611         template <class V>
19612         BOOST_QVM_INLINE_TRIVIAL
19613         typename enable_if_c<
19614             is_vec<V>::value && vec_traits<V>::dim>=4,
19615             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19616         XWXY( V const & a )
19617             {
19618             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19619             }
19620         template <class V>
19621         BOOST_QVM_INLINE_TRIVIAL
19622         typename enable_if_c<
19623             is_vec<V>::value && vec_traits<V>::dim>=4,
19624             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19625         XWXY( V & a )
19626             {
19627             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19628             }
19629         template <class V>
19630         BOOST_QVM_INLINE_TRIVIAL
19631         typename enable_if_c<
19632             is_vec<V>::value && vec_traits<V>::dim>=3,
19633             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19634         _1ZXY( V const & a )
19635             {
19636             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19637             }
19638         template <class V>
19639         BOOST_QVM_INLINE_TRIVIAL
19640         typename enable_if_c<
19641             is_vec<V>::value && vec_traits<V>::dim>=3,
19642             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19643         _1ZXY( V & a )
19644             {
19645             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19646             }
19647         template <class V>
19648         BOOST_QVM_INLINE_TRIVIAL
19649         typename enable_if_c<
19650             is_vec<V>::value && vec_traits<V>::dim>=3,
19651             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19652         _0ZXY( V const & a )
19653             {
19654             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19655             }
19656         template <class V>
19657         BOOST_QVM_INLINE_TRIVIAL
19658         typename enable_if_c<
19659             is_vec<V>::value && vec_traits<V>::dim>=3,
19660             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19661         _0ZXY( V & a )
19662             {
19663             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19664             }
19665         template <class V>
19666         BOOST_QVM_INLINE_TRIVIAL
19667         typename enable_if_c<
19668             is_vec<V>::value && vec_traits<V>::dim>=4,
19669             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19670         WZXY( V const & a )
19671             {
19672             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19673             }
19674         template <class V>
19675         BOOST_QVM_INLINE_TRIVIAL
19676         typename enable_if_c<
19677             is_vec<V>::value && vec_traits<V>::dim>=4,
19678             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19679         WZXY( V & a )
19680             {
19681             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19682             }
19683         template <class V>
19684         BOOST_QVM_INLINE_TRIVIAL
19685         typename enable_if_c<
19686             is_vec<V>::value && vec_traits<V>::dim>=3,
19687             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19688         ZZXY( V const & a )
19689             {
19690             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19691             }
19692         template <class V>
19693         BOOST_QVM_INLINE_TRIVIAL
19694         typename enable_if_c<
19695             is_vec<V>::value && vec_traits<V>::dim>=3,
19696             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19697         ZZXY( V & a )
19698             {
19699             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19700             }
19701         template <class V>
19702         BOOST_QVM_INLINE_TRIVIAL
19703         typename enable_if_c<
19704             is_vec<V>::value && vec_traits<V>::dim>=3,
19705             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19706         YZXY( V const & a )
19707             {
19708             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19709             }
19710         template <class V>
19711         BOOST_QVM_INLINE_TRIVIAL
19712         typename enable_if_c<
19713             is_vec<V>::value && vec_traits<V>::dim>=3,
19714             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19715         YZXY( V & a )
19716             {
19717             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19718             }
19719         template <class V>
19720         BOOST_QVM_INLINE_TRIVIAL
19721         typename enable_if_c<
19722             is_vec<V>::value && vec_traits<V>::dim>=3,
19723             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19724         XZXY( V const & a )
19725             {
19726             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19727             }
19728         template <class V>
19729         BOOST_QVM_INLINE_TRIVIAL
19730         typename enable_if_c<
19731             is_vec<V>::value && vec_traits<V>::dim>=3,
19732             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19733         XZXY( V & a )
19734             {
19735             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19736             }
19737         template <class V>
19738         BOOST_QVM_INLINE_TRIVIAL
19739         typename enable_if_c<
19740             is_vec<V>::value && vec_traits<V>::dim>=2,
19741             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19742         _1YXY( V const & a )
19743             {
19744             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19745             }
19746         template <class V>
19747         BOOST_QVM_INLINE_TRIVIAL
19748         typename enable_if_c<
19749             is_vec<V>::value && vec_traits<V>::dim>=2,
19750             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19751         _1YXY( V & a )
19752             {
19753             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19754             }
19755         template <class V>
19756         BOOST_QVM_INLINE_TRIVIAL
19757         typename enable_if_c<
19758             is_vec<V>::value && vec_traits<V>::dim>=2,
19759             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19760         _0YXY( V const & a )
19761             {
19762             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19763             }
19764         template <class V>
19765         BOOST_QVM_INLINE_TRIVIAL
19766         typename enable_if_c<
19767             is_vec<V>::value && vec_traits<V>::dim>=2,
19768             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19769         _0YXY( V & a )
19770             {
19771             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19772             }
19773         template <class V>
19774         BOOST_QVM_INLINE_TRIVIAL
19775         typename enable_if_c<
19776             is_vec<V>::value && vec_traits<V>::dim>=4,
19777             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19778         WYXY( V const & a )
19779             {
19780             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19781             }
19782         template <class V>
19783         BOOST_QVM_INLINE_TRIVIAL
19784         typename enable_if_c<
19785             is_vec<V>::value && vec_traits<V>::dim>=4,
19786             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19787         WYXY( V & a )
19788             {
19789             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19790             }
19791         template <class V>
19792         BOOST_QVM_INLINE_TRIVIAL
19793         typename enable_if_c<
19794             is_vec<V>::value && vec_traits<V>::dim>=3,
19795             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19796         ZYXY( V const & a )
19797             {
19798             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19799             }
19800         template <class V>
19801         BOOST_QVM_INLINE_TRIVIAL
19802         typename enable_if_c<
19803             is_vec<V>::value && vec_traits<V>::dim>=3,
19804             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19805         ZYXY( V & a )
19806             {
19807             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19808             }
19809         template <class V>
19810         BOOST_QVM_INLINE_TRIVIAL
19811         typename enable_if_c<
19812             is_vec<V>::value && vec_traits<V>::dim>=2,
19813             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19814         YYXY( V const & a )
19815             {
19816             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19817             }
19818         template <class V>
19819         BOOST_QVM_INLINE_TRIVIAL
19820         typename enable_if_c<
19821             is_vec<V>::value && vec_traits<V>::dim>=2,
19822             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19823         YYXY( V & a )
19824             {
19825             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19826             }
19827         template <class V>
19828         BOOST_QVM_INLINE_TRIVIAL
19829         typename enable_if_c<
19830             is_vec<V>::value && vec_traits<V>::dim>=2,
19831             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19832         XYXY( V const & a )
19833             {
19834             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19835             }
19836         template <class V>
19837         BOOST_QVM_INLINE_TRIVIAL
19838         typename enable_if_c<
19839             is_vec<V>::value && vec_traits<V>::dim>=2,
19840             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19841         XYXY( V & a )
19842             {
19843             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19844             }
19845         template <class V>
19846         BOOST_QVM_INLINE_TRIVIAL
19847         typename enable_if_c<
19848             is_vec<V>::value && vec_traits<V>::dim>=2,
19849             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19850         _1XXY( V const & a )
19851             {
19852             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19853             }
19854         template <class V>
19855         BOOST_QVM_INLINE_TRIVIAL
19856         typename enable_if_c<
19857             is_vec<V>::value && vec_traits<V>::dim>=2,
19858             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19859         _1XXY( V & a )
19860             {
19861             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19862             }
19863         template <class V>
19864         BOOST_QVM_INLINE_TRIVIAL
19865         typename enable_if_c<
19866             is_vec<V>::value && vec_traits<V>::dim>=2,
19867             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19868         _0XXY( V const & a )
19869             {
19870             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19871             }
19872         template <class V>
19873         BOOST_QVM_INLINE_TRIVIAL
19874         typename enable_if_c<
19875             is_vec<V>::value && vec_traits<V>::dim>=2,
19876             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19877         _0XXY( V & a )
19878             {
19879             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19880             }
19881         template <class V>
19882         BOOST_QVM_INLINE_TRIVIAL
19883         typename enable_if_c<
19884             is_vec<V>::value && vec_traits<V>::dim>=4,
19885             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19886         WXXY( V const & a )
19887             {
19888             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19889             }
19890         template <class V>
19891         BOOST_QVM_INLINE_TRIVIAL
19892         typename enable_if_c<
19893             is_vec<V>::value && vec_traits<V>::dim>=4,
19894             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19895         WXXY( V & a )
19896             {
19897             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19898             }
19899         template <class V>
19900         BOOST_QVM_INLINE_TRIVIAL
19901         typename enable_if_c<
19902             is_vec<V>::value && vec_traits<V>::dim>=3,
19903             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19904         ZXXY( V const & a )
19905             {
19906             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19907             }
19908         template <class V>
19909         BOOST_QVM_INLINE_TRIVIAL
19910         typename enable_if_c<
19911             is_vec<V>::value && vec_traits<V>::dim>=3,
19912             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19913         ZXXY( V & a )
19914             {
19915             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19916             }
19917         template <class V>
19918         BOOST_QVM_INLINE_TRIVIAL
19919         typename enable_if_c<
19920             is_vec<V>::value && vec_traits<V>::dim>=2,
19921             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19922         YXXY( V const & a )
19923             {
19924             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19925             }
19926         template <class V>
19927         BOOST_QVM_INLINE_TRIVIAL
19928         typename enable_if_c<
19929             is_vec<V>::value && vec_traits<V>::dim>=2,
19930             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19931         YXXY( V & a )
19932             {
19933             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19934             }
19935         template <class V>
19936         BOOST_QVM_INLINE_TRIVIAL
19937         typename enable_if_c<
19938             is_vec<V>::value && vec_traits<V>::dim>=2,
19939             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>::type
19940         XXXY( V const & a )
19941             {
19942             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > const &>(a);
19943             }
19944         template <class V>
19945         BOOST_QVM_INLINE_TRIVIAL
19946         typename enable_if_c<
19947             is_vec<V>::value && vec_traits<V>::dim>=2,
19948             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>::type
19949         XXXY( V & a )
19950             {
19951             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1 > > > > > &>(a);
19952             }
19953         template <class V>
19954         BOOST_QVM_INLINE_TRIVIAL
19955         typename enable_if_c<
19956             is_vec<V>::value && vec_traits<V>::dim>=1,
19957             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
19958         _111X( V const & a )
19959             {
19960             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
19961             }
19962         template <class S>
19963         BOOST_QVM_INLINE_TRIVIAL
19964         typename enable_if_c<
19965             is_scalar<S>::value,
19966             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_111X(S const & a)19967         _111X( S const & a )
19968             {
19969             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
19970             }
19971         template <class V>
19972         BOOST_QVM_INLINE_TRIVIAL
19973         typename enable_if_c<
19974             is_vec<V>::value && vec_traits<V>::dim>=1,
19975             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
19976         _111X( V & a )
19977             {
19978             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
19979             }
19980         template <class S>
19981         BOOST_QVM_INLINE_TRIVIAL
19982         typename enable_if_c<
19983             is_scalar<S>::value,
19984             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_111X(S & a)19985         _111X( S & a )
19986             {
19987             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
19988             }
19989         template <class V>
19990         BOOST_QVM_INLINE_TRIVIAL
19991         typename enable_if_c<
19992             is_vec<V>::value && vec_traits<V>::dim>=1,
19993             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
19994         _011X( V const & a )
19995             {
19996             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
19997             }
19998         template <class S>
19999         BOOST_QVM_INLINE_TRIVIAL
20000         typename enable_if_c<
20001             is_scalar<S>::value,
20002             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_011X(S const & a)20003         _011X( S const & a )
20004             {
20005             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20006             }
20007         template <class V>
20008         BOOST_QVM_INLINE_TRIVIAL
20009         typename enable_if_c<
20010             is_vec<V>::value && vec_traits<V>::dim>=1,
20011             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20012         _011X( V & a )
20013             {
20014             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20015             }
20016         template <class S>
20017         BOOST_QVM_INLINE_TRIVIAL
20018         typename enable_if_c<
20019             is_scalar<S>::value,
20020             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_011X(S & a)20021         _011X( S & a )
20022             {
20023             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20024             }
20025         template <class V>
20026         BOOST_QVM_INLINE_TRIVIAL
20027         typename enable_if_c<
20028             is_vec<V>::value && vec_traits<V>::dim>=4,
20029             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20030         W11X( V const & a )
20031             {
20032             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20033             }
20034         template <class V>
20035         BOOST_QVM_INLINE_TRIVIAL
20036         typename enable_if_c<
20037             is_vec<V>::value && vec_traits<V>::dim>=4,
20038             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20039         W11X( V & a )
20040             {
20041             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20042             }
20043         template <class V>
20044         BOOST_QVM_INLINE_TRIVIAL
20045         typename enable_if_c<
20046             is_vec<V>::value && vec_traits<V>::dim>=3,
20047             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20048         Z11X( V const & a )
20049             {
20050             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20051             }
20052         template <class V>
20053         BOOST_QVM_INLINE_TRIVIAL
20054         typename enable_if_c<
20055             is_vec<V>::value && vec_traits<V>::dim>=3,
20056             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20057         Z11X( V & a )
20058             {
20059             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20060             }
20061         template <class V>
20062         BOOST_QVM_INLINE_TRIVIAL
20063         typename enable_if_c<
20064             is_vec<V>::value && vec_traits<V>::dim>=2,
20065             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20066         Y11X( V const & a )
20067             {
20068             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20069             }
20070         template <class V>
20071         BOOST_QVM_INLINE_TRIVIAL
20072         typename enable_if_c<
20073             is_vec<V>::value && vec_traits<V>::dim>=2,
20074             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20075         Y11X( V & a )
20076             {
20077             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20078             }
20079         template <class V>
20080         BOOST_QVM_INLINE_TRIVIAL
20081         typename enable_if_c<
20082             is_vec<V>::value && vec_traits<V>::dim>=1,
20083             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20084         X11X( V const & a )
20085             {
20086             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20087             }
20088         template <class S>
20089         BOOST_QVM_INLINE_TRIVIAL
20090         typename enable_if_c<
20091             is_scalar<S>::value,
20092             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X11X(S const & a)20093         X11X( S const & a )
20094             {
20095             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20096             }
20097         template <class V>
20098         BOOST_QVM_INLINE_TRIVIAL
20099         typename enable_if_c<
20100             is_vec<V>::value && vec_traits<V>::dim>=1,
20101             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20102         X11X( V & a )
20103             {
20104             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20105             }
20106         template <class S>
20107         BOOST_QVM_INLINE_TRIVIAL
20108         typename enable_if_c<
20109             is_scalar<S>::value,
20110             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
X11X(S & a)20111         X11X( S & a )
20112             {
20113             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20114             }
20115         template <class V>
20116         BOOST_QVM_INLINE_TRIVIAL
20117         typename enable_if_c<
20118             is_vec<V>::value && vec_traits<V>::dim>=1,
20119             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20120         _101X( V const & a )
20121             {
20122             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20123             }
20124         template <class S>
20125         BOOST_QVM_INLINE_TRIVIAL
20126         typename enable_if_c<
20127             is_scalar<S>::value,
20128             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_101X(S const & a)20129         _101X( S const & a )
20130             {
20131             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20132             }
20133         template <class V>
20134         BOOST_QVM_INLINE_TRIVIAL
20135         typename enable_if_c<
20136             is_vec<V>::value && vec_traits<V>::dim>=1,
20137             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20138         _101X( V & a )
20139             {
20140             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20141             }
20142         template <class S>
20143         BOOST_QVM_INLINE_TRIVIAL
20144         typename enable_if_c<
20145             is_scalar<S>::value,
20146             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_101X(S & a)20147         _101X( S & a )
20148             {
20149             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20150             }
20151         template <class V>
20152         BOOST_QVM_INLINE_TRIVIAL
20153         typename enable_if_c<
20154             is_vec<V>::value && vec_traits<V>::dim>=1,
20155             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20156         _001X( V const & a )
20157             {
20158             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20159             }
20160         template <class S>
20161         BOOST_QVM_INLINE_TRIVIAL
20162         typename enable_if_c<
20163             is_scalar<S>::value,
20164             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_001X(S const & a)20165         _001X( S const & a )
20166             {
20167             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20168             }
20169         template <class V>
20170         BOOST_QVM_INLINE_TRIVIAL
20171         typename enable_if_c<
20172             is_vec<V>::value && vec_traits<V>::dim>=1,
20173             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20174         _001X( V & a )
20175             {
20176             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20177             }
20178         template <class S>
20179         BOOST_QVM_INLINE_TRIVIAL
20180         typename enable_if_c<
20181             is_scalar<S>::value,
20182             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_001X(S & a)20183         _001X( S & a )
20184             {
20185             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20186             }
20187         template <class V>
20188         BOOST_QVM_INLINE_TRIVIAL
20189         typename enable_if_c<
20190             is_vec<V>::value && vec_traits<V>::dim>=4,
20191             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20192         W01X( V const & a )
20193             {
20194             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20195             }
20196         template <class V>
20197         BOOST_QVM_INLINE_TRIVIAL
20198         typename enable_if_c<
20199             is_vec<V>::value && vec_traits<V>::dim>=4,
20200             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20201         W01X( V & a )
20202             {
20203             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20204             }
20205         template <class V>
20206         BOOST_QVM_INLINE_TRIVIAL
20207         typename enable_if_c<
20208             is_vec<V>::value && vec_traits<V>::dim>=3,
20209             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20210         Z01X( V const & a )
20211             {
20212             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20213             }
20214         template <class V>
20215         BOOST_QVM_INLINE_TRIVIAL
20216         typename enable_if_c<
20217             is_vec<V>::value && vec_traits<V>::dim>=3,
20218             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20219         Z01X( V & a )
20220             {
20221             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20222             }
20223         template <class V>
20224         BOOST_QVM_INLINE_TRIVIAL
20225         typename enable_if_c<
20226             is_vec<V>::value && vec_traits<V>::dim>=2,
20227             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20228         Y01X( V const & a )
20229             {
20230             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20231             }
20232         template <class V>
20233         BOOST_QVM_INLINE_TRIVIAL
20234         typename enable_if_c<
20235             is_vec<V>::value && vec_traits<V>::dim>=2,
20236             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20237         Y01X( V & a )
20238             {
20239             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20240             }
20241         template <class V>
20242         BOOST_QVM_INLINE_TRIVIAL
20243         typename enable_if_c<
20244             is_vec<V>::value && vec_traits<V>::dim>=1,
20245             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20246         X01X( V const & a )
20247             {
20248             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20249             }
20250         template <class S>
20251         BOOST_QVM_INLINE_TRIVIAL
20252         typename enable_if_c<
20253             is_scalar<S>::value,
20254             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X01X(S const & a)20255         X01X( S const & a )
20256             {
20257             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20258             }
20259         template <class V>
20260         BOOST_QVM_INLINE_TRIVIAL
20261         typename enable_if_c<
20262             is_vec<V>::value && vec_traits<V>::dim>=1,
20263             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20264         X01X( V & a )
20265             {
20266             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20267             }
20268         template <class S>
20269         BOOST_QVM_INLINE_TRIVIAL
20270         typename enable_if_c<
20271             is_scalar<S>::value,
20272             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
X01X(S & a)20273         X01X( S & a )
20274             {
20275             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20276             }
20277         template <class V>
20278         BOOST_QVM_INLINE_TRIVIAL
20279         typename enable_if_c<
20280             is_vec<V>::value && vec_traits<V>::dim>=4,
20281             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20282         _1W1X( V const & a )
20283             {
20284             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20285             }
20286         template <class V>
20287         BOOST_QVM_INLINE_TRIVIAL
20288         typename enable_if_c<
20289             is_vec<V>::value && vec_traits<V>::dim>=4,
20290             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20291         _1W1X( V & a )
20292             {
20293             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20294             }
20295         template <class V>
20296         BOOST_QVM_INLINE_TRIVIAL
20297         typename enable_if_c<
20298             is_vec<V>::value && vec_traits<V>::dim>=4,
20299             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20300         _0W1X( V const & a )
20301             {
20302             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20303             }
20304         template <class V>
20305         BOOST_QVM_INLINE_TRIVIAL
20306         typename enable_if_c<
20307             is_vec<V>::value && vec_traits<V>::dim>=4,
20308             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20309         _0W1X( V & a )
20310             {
20311             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20312             }
20313         template <class V>
20314         BOOST_QVM_INLINE_TRIVIAL
20315         typename enable_if_c<
20316             is_vec<V>::value && vec_traits<V>::dim>=4,
20317             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20318         WW1X( V const & a )
20319             {
20320             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20321             }
20322         template <class V>
20323         BOOST_QVM_INLINE_TRIVIAL
20324         typename enable_if_c<
20325             is_vec<V>::value && vec_traits<V>::dim>=4,
20326             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20327         WW1X( V & a )
20328             {
20329             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20330             }
20331         template <class V>
20332         BOOST_QVM_INLINE_TRIVIAL
20333         typename enable_if_c<
20334             is_vec<V>::value && vec_traits<V>::dim>=4,
20335             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20336         ZW1X( V const & a )
20337             {
20338             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20339             }
20340         template <class V>
20341         BOOST_QVM_INLINE_TRIVIAL
20342         typename enable_if_c<
20343             is_vec<V>::value && vec_traits<V>::dim>=4,
20344             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20345         ZW1X( V & a )
20346             {
20347             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20348             }
20349         template <class V>
20350         BOOST_QVM_INLINE_TRIVIAL
20351         typename enable_if_c<
20352             is_vec<V>::value && vec_traits<V>::dim>=4,
20353             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20354         YW1X( V const & a )
20355             {
20356             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20357             }
20358         template <class V>
20359         BOOST_QVM_INLINE_TRIVIAL
20360         typename enable_if_c<
20361             is_vec<V>::value && vec_traits<V>::dim>=4,
20362             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20363         YW1X( V & a )
20364             {
20365             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20366             }
20367         template <class V>
20368         BOOST_QVM_INLINE_TRIVIAL
20369         typename enable_if_c<
20370             is_vec<V>::value && vec_traits<V>::dim>=4,
20371             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20372         XW1X( V const & a )
20373             {
20374             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20375             }
20376         template <class V>
20377         BOOST_QVM_INLINE_TRIVIAL
20378         typename enable_if_c<
20379             is_vec<V>::value && vec_traits<V>::dim>=4,
20380             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20381         XW1X( V & a )
20382             {
20383             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20384             }
20385         template <class V>
20386         BOOST_QVM_INLINE_TRIVIAL
20387         typename enable_if_c<
20388             is_vec<V>::value && vec_traits<V>::dim>=3,
20389             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20390         _1Z1X( V const & a )
20391             {
20392             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20393             }
20394         template <class V>
20395         BOOST_QVM_INLINE_TRIVIAL
20396         typename enable_if_c<
20397             is_vec<V>::value && vec_traits<V>::dim>=3,
20398             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20399         _1Z1X( V & a )
20400             {
20401             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20402             }
20403         template <class V>
20404         BOOST_QVM_INLINE_TRIVIAL
20405         typename enable_if_c<
20406             is_vec<V>::value && vec_traits<V>::dim>=3,
20407             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20408         _0Z1X( V const & a )
20409             {
20410             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20411             }
20412         template <class V>
20413         BOOST_QVM_INLINE_TRIVIAL
20414         typename enable_if_c<
20415             is_vec<V>::value && vec_traits<V>::dim>=3,
20416             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20417         _0Z1X( V & a )
20418             {
20419             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20420             }
20421         template <class V>
20422         BOOST_QVM_INLINE_TRIVIAL
20423         typename enable_if_c<
20424             is_vec<V>::value && vec_traits<V>::dim>=4,
20425             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20426         WZ1X( V const & a )
20427             {
20428             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20429             }
20430         template <class V>
20431         BOOST_QVM_INLINE_TRIVIAL
20432         typename enable_if_c<
20433             is_vec<V>::value && vec_traits<V>::dim>=4,
20434             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20435         WZ1X( V & a )
20436             {
20437             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20438             }
20439         template <class V>
20440         BOOST_QVM_INLINE_TRIVIAL
20441         typename enable_if_c<
20442             is_vec<V>::value && vec_traits<V>::dim>=3,
20443             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20444         ZZ1X( V const & a )
20445             {
20446             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20447             }
20448         template <class V>
20449         BOOST_QVM_INLINE_TRIVIAL
20450         typename enable_if_c<
20451             is_vec<V>::value && vec_traits<V>::dim>=3,
20452             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20453         ZZ1X( V & a )
20454             {
20455             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20456             }
20457         template <class V>
20458         BOOST_QVM_INLINE_TRIVIAL
20459         typename enable_if_c<
20460             is_vec<V>::value && vec_traits<V>::dim>=3,
20461             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20462         YZ1X( V const & a )
20463             {
20464             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20465             }
20466         template <class V>
20467         BOOST_QVM_INLINE_TRIVIAL
20468         typename enable_if_c<
20469             is_vec<V>::value && vec_traits<V>::dim>=3,
20470             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20471         YZ1X( V & a )
20472             {
20473             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20474             }
20475         template <class V>
20476         BOOST_QVM_INLINE_TRIVIAL
20477         typename enable_if_c<
20478             is_vec<V>::value && vec_traits<V>::dim>=3,
20479             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20480         XZ1X( V const & a )
20481             {
20482             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20483             }
20484         template <class V>
20485         BOOST_QVM_INLINE_TRIVIAL
20486         typename enable_if_c<
20487             is_vec<V>::value && vec_traits<V>::dim>=3,
20488             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20489         XZ1X( V & a )
20490             {
20491             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20492             }
20493         template <class V>
20494         BOOST_QVM_INLINE_TRIVIAL
20495         typename enable_if_c<
20496             is_vec<V>::value && vec_traits<V>::dim>=2,
20497             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20498         _1Y1X( V const & a )
20499             {
20500             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20501             }
20502         template <class V>
20503         BOOST_QVM_INLINE_TRIVIAL
20504         typename enable_if_c<
20505             is_vec<V>::value && vec_traits<V>::dim>=2,
20506             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20507         _1Y1X( V & a )
20508             {
20509             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20510             }
20511         template <class V>
20512         BOOST_QVM_INLINE_TRIVIAL
20513         typename enable_if_c<
20514             is_vec<V>::value && vec_traits<V>::dim>=2,
20515             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20516         _0Y1X( V const & a )
20517             {
20518             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20519             }
20520         template <class V>
20521         BOOST_QVM_INLINE_TRIVIAL
20522         typename enable_if_c<
20523             is_vec<V>::value && vec_traits<V>::dim>=2,
20524             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20525         _0Y1X( V & a )
20526             {
20527             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20528             }
20529         template <class V>
20530         BOOST_QVM_INLINE_TRIVIAL
20531         typename enable_if_c<
20532             is_vec<V>::value && vec_traits<V>::dim>=4,
20533             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20534         WY1X( V const & a )
20535             {
20536             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20537             }
20538         template <class V>
20539         BOOST_QVM_INLINE_TRIVIAL
20540         typename enable_if_c<
20541             is_vec<V>::value && vec_traits<V>::dim>=4,
20542             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20543         WY1X( V & a )
20544             {
20545             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20546             }
20547         template <class V>
20548         BOOST_QVM_INLINE_TRIVIAL
20549         typename enable_if_c<
20550             is_vec<V>::value && vec_traits<V>::dim>=3,
20551             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20552         ZY1X( V const & a )
20553             {
20554             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20555             }
20556         template <class V>
20557         BOOST_QVM_INLINE_TRIVIAL
20558         typename enable_if_c<
20559             is_vec<V>::value && vec_traits<V>::dim>=3,
20560             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20561         ZY1X( V & a )
20562             {
20563             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20564             }
20565         template <class V>
20566         BOOST_QVM_INLINE_TRIVIAL
20567         typename enable_if_c<
20568             is_vec<V>::value && vec_traits<V>::dim>=2,
20569             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20570         YY1X( V const & a )
20571             {
20572             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20573             }
20574         template <class V>
20575         BOOST_QVM_INLINE_TRIVIAL
20576         typename enable_if_c<
20577             is_vec<V>::value && vec_traits<V>::dim>=2,
20578             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20579         YY1X( V & a )
20580             {
20581             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20582             }
20583         template <class V>
20584         BOOST_QVM_INLINE_TRIVIAL
20585         typename enable_if_c<
20586             is_vec<V>::value && vec_traits<V>::dim>=2,
20587             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20588         XY1X( V const & a )
20589             {
20590             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20591             }
20592         template <class V>
20593         BOOST_QVM_INLINE_TRIVIAL
20594         typename enable_if_c<
20595             is_vec<V>::value && vec_traits<V>::dim>=2,
20596             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20597         XY1X( V & a )
20598             {
20599             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20600             }
20601         template <class V>
20602         BOOST_QVM_INLINE_TRIVIAL
20603         typename enable_if_c<
20604             is_vec<V>::value && vec_traits<V>::dim>=1,
20605             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20606         _1X1X( V const & a )
20607             {
20608             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20609             }
20610         template <class S>
20611         BOOST_QVM_INLINE_TRIVIAL
20612         typename enable_if_c<
20613             is_scalar<S>::value,
20614             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1X1X(S const & a)20615         _1X1X( S const & a )
20616             {
20617             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20618             }
20619         template <class V>
20620         BOOST_QVM_INLINE_TRIVIAL
20621         typename enable_if_c<
20622             is_vec<V>::value && vec_traits<V>::dim>=1,
20623             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20624         _1X1X( V & a )
20625             {
20626             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20627             }
20628         template <class S>
20629         BOOST_QVM_INLINE_TRIVIAL
20630         typename enable_if_c<
20631             is_scalar<S>::value,
20632             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1X1X(S & a)20633         _1X1X( S & a )
20634             {
20635             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20636             }
20637         template <class V>
20638         BOOST_QVM_INLINE_TRIVIAL
20639         typename enable_if_c<
20640             is_vec<V>::value && vec_traits<V>::dim>=1,
20641             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20642         _0X1X( V const & a )
20643             {
20644             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20645             }
20646         template <class S>
20647         BOOST_QVM_INLINE_TRIVIAL
20648         typename enable_if_c<
20649             is_scalar<S>::value,
20650             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0X1X(S const & a)20651         _0X1X( S const & a )
20652             {
20653             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20654             }
20655         template <class V>
20656         BOOST_QVM_INLINE_TRIVIAL
20657         typename enable_if_c<
20658             is_vec<V>::value && vec_traits<V>::dim>=1,
20659             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20660         _0X1X( V & a )
20661             {
20662             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20663             }
20664         template <class S>
20665         BOOST_QVM_INLINE_TRIVIAL
20666         typename enable_if_c<
20667             is_scalar<S>::value,
20668             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0X1X(S & a)20669         _0X1X( S & a )
20670             {
20671             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20672             }
20673         template <class V>
20674         BOOST_QVM_INLINE_TRIVIAL
20675         typename enable_if_c<
20676             is_vec<V>::value && vec_traits<V>::dim>=4,
20677             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20678         WX1X( V const & a )
20679             {
20680             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20681             }
20682         template <class V>
20683         BOOST_QVM_INLINE_TRIVIAL
20684         typename enable_if_c<
20685             is_vec<V>::value && vec_traits<V>::dim>=4,
20686             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20687         WX1X( V & a )
20688             {
20689             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20690             }
20691         template <class V>
20692         BOOST_QVM_INLINE_TRIVIAL
20693         typename enable_if_c<
20694             is_vec<V>::value && vec_traits<V>::dim>=3,
20695             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20696         ZX1X( V const & a )
20697             {
20698             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20699             }
20700         template <class V>
20701         BOOST_QVM_INLINE_TRIVIAL
20702         typename enable_if_c<
20703             is_vec<V>::value && vec_traits<V>::dim>=3,
20704             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20705         ZX1X( V & a )
20706             {
20707             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20708             }
20709         template <class V>
20710         BOOST_QVM_INLINE_TRIVIAL
20711         typename enable_if_c<
20712             is_vec<V>::value && vec_traits<V>::dim>=2,
20713             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20714         YX1X( V const & a )
20715             {
20716             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20717             }
20718         template <class V>
20719         BOOST_QVM_INLINE_TRIVIAL
20720         typename enable_if_c<
20721             is_vec<V>::value && vec_traits<V>::dim>=2,
20722             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20723         YX1X( V & a )
20724             {
20725             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20726             }
20727         template <class V>
20728         BOOST_QVM_INLINE_TRIVIAL
20729         typename enable_if_c<
20730             is_vec<V>::value && vec_traits<V>::dim>=1,
20731             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20732         XX1X( V const & a )
20733             {
20734             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20735             }
20736         template <class S>
20737         BOOST_QVM_INLINE_TRIVIAL
20738         typename enable_if_c<
20739             is_scalar<S>::value,
20740             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XX1X(S const & a)20741         XX1X( S const & a )
20742             {
20743             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20744             }
20745         template <class V>
20746         BOOST_QVM_INLINE_TRIVIAL
20747         typename enable_if_c<
20748             is_vec<V>::value && vec_traits<V>::dim>=1,
20749             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
20750         XX1X( V & a )
20751             {
20752             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20753             }
20754         template <class S>
20755         BOOST_QVM_INLINE_TRIVIAL
20756         typename enable_if_c<
20757             is_scalar<S>::value,
20758             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>::type
XX1X(S & a)20759         XX1X( S & a )
20760             {
20761             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20762             }
20763         template <class V>
20764         BOOST_QVM_INLINE_TRIVIAL
20765         typename enable_if_c<
20766             is_vec<V>::value && vec_traits<V>::dim>=1,
20767             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20768         _110X( V const & a )
20769             {
20770             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20771             }
20772         template <class S>
20773         BOOST_QVM_INLINE_TRIVIAL
20774         typename enable_if_c<
20775             is_scalar<S>::value,
20776             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_110X(S const & a)20777         _110X( S const & a )
20778             {
20779             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20780             }
20781         template <class V>
20782         BOOST_QVM_INLINE_TRIVIAL
20783         typename enable_if_c<
20784             is_vec<V>::value && vec_traits<V>::dim>=1,
20785             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
20786         _110X( V & a )
20787             {
20788             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20789             }
20790         template <class S>
20791         BOOST_QVM_INLINE_TRIVIAL
20792         typename enable_if_c<
20793             is_scalar<S>::value,
20794             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_110X(S & a)20795         _110X( S & a )
20796             {
20797             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20798             }
20799         template <class V>
20800         BOOST_QVM_INLINE_TRIVIAL
20801         typename enable_if_c<
20802             is_vec<V>::value && vec_traits<V>::dim>=1,
20803             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20804         _010X( V const & a )
20805             {
20806             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20807             }
20808         template <class S>
20809         BOOST_QVM_INLINE_TRIVIAL
20810         typename enable_if_c<
20811             is_scalar<S>::value,
20812             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_010X(S const & a)20813         _010X( S const & a )
20814             {
20815             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20816             }
20817         template <class V>
20818         BOOST_QVM_INLINE_TRIVIAL
20819         typename enable_if_c<
20820             is_vec<V>::value && vec_traits<V>::dim>=1,
20821             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
20822         _010X( V & a )
20823             {
20824             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20825             }
20826         template <class S>
20827         BOOST_QVM_INLINE_TRIVIAL
20828         typename enable_if_c<
20829             is_scalar<S>::value,
20830             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_010X(S & a)20831         _010X( S & a )
20832             {
20833             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20834             }
20835         template <class V>
20836         BOOST_QVM_INLINE_TRIVIAL
20837         typename enable_if_c<
20838             is_vec<V>::value && vec_traits<V>::dim>=4,
20839             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20840         W10X( V const & a )
20841             {
20842             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20843             }
20844         template <class V>
20845         BOOST_QVM_INLINE_TRIVIAL
20846         typename enable_if_c<
20847             is_vec<V>::value && vec_traits<V>::dim>=4,
20848             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
20849         W10X( V & a )
20850             {
20851             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20852             }
20853         template <class V>
20854         BOOST_QVM_INLINE_TRIVIAL
20855         typename enable_if_c<
20856             is_vec<V>::value && vec_traits<V>::dim>=3,
20857             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20858         Z10X( V const & a )
20859             {
20860             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20861             }
20862         template <class V>
20863         BOOST_QVM_INLINE_TRIVIAL
20864         typename enable_if_c<
20865             is_vec<V>::value && vec_traits<V>::dim>=3,
20866             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
20867         Z10X( V & a )
20868             {
20869             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20870             }
20871         template <class V>
20872         BOOST_QVM_INLINE_TRIVIAL
20873         typename enable_if_c<
20874             is_vec<V>::value && vec_traits<V>::dim>=2,
20875             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20876         Y10X( V const & a )
20877             {
20878             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20879             }
20880         template <class V>
20881         BOOST_QVM_INLINE_TRIVIAL
20882         typename enable_if_c<
20883             is_vec<V>::value && vec_traits<V>::dim>=2,
20884             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
20885         Y10X( V & a )
20886             {
20887             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20888             }
20889         template <class V>
20890         BOOST_QVM_INLINE_TRIVIAL
20891         typename enable_if_c<
20892             is_vec<V>::value && vec_traits<V>::dim>=1,
20893             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20894         X10X( V const & a )
20895             {
20896             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20897             }
20898         template <class S>
20899         BOOST_QVM_INLINE_TRIVIAL
20900         typename enable_if_c<
20901             is_scalar<S>::value,
20902             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X10X(S const & a)20903         X10X( S const & a )
20904             {
20905             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20906             }
20907         template <class V>
20908         BOOST_QVM_INLINE_TRIVIAL
20909         typename enable_if_c<
20910             is_vec<V>::value && vec_traits<V>::dim>=1,
20911             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
20912         X10X( V & a )
20913             {
20914             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20915             }
20916         template <class S>
20917         BOOST_QVM_INLINE_TRIVIAL
20918         typename enable_if_c<
20919             is_scalar<S>::value,
20920             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
X10X(S & a)20921         X10X( S & a )
20922             {
20923             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20924             }
20925         template <class V>
20926         BOOST_QVM_INLINE_TRIVIAL
20927         typename enable_if_c<
20928             is_vec<V>::value && vec_traits<V>::dim>=1,
20929             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20930         _100X( V const & a )
20931             {
20932             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20933             }
20934         template <class S>
20935         BOOST_QVM_INLINE_TRIVIAL
20936         typename enable_if_c<
20937             is_scalar<S>::value,
20938             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_100X(S const & a)20939         _100X( S const & a )
20940             {
20941             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20942             }
20943         template <class V>
20944         BOOST_QVM_INLINE_TRIVIAL
20945         typename enable_if_c<
20946             is_vec<V>::value && vec_traits<V>::dim>=1,
20947             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
20948         _100X( V & a )
20949             {
20950             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20951             }
20952         template <class S>
20953         BOOST_QVM_INLINE_TRIVIAL
20954         typename enable_if_c<
20955             is_scalar<S>::value,
20956             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_100X(S & a)20957         _100X( S & a )
20958             {
20959             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20960             }
20961         template <class V>
20962         BOOST_QVM_INLINE_TRIVIAL
20963         typename enable_if_c<
20964             is_vec<V>::value && vec_traits<V>::dim>=1,
20965             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
20966         _000X( V const & a )
20967             {
20968             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20969             }
20970         template <class S>
20971         BOOST_QVM_INLINE_TRIVIAL
20972         typename enable_if_c<
20973             is_scalar<S>::value,
20974             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_000X(S const & a)20975         _000X( S const & a )
20976             {
20977             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
20978             }
20979         template <class V>
20980         BOOST_QVM_INLINE_TRIVIAL
20981         typename enable_if_c<
20982             is_vec<V>::value && vec_traits<V>::dim>=1,
20983             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
20984         _000X( V & a )
20985             {
20986             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20987             }
20988         template <class S>
20989         BOOST_QVM_INLINE_TRIVIAL
20990         typename enable_if_c<
20991             is_scalar<S>::value,
20992             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_000X(S & a)20993         _000X( S & a )
20994             {
20995             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
20996             }
20997         template <class V>
20998         BOOST_QVM_INLINE_TRIVIAL
20999         typename enable_if_c<
21000             is_vec<V>::value && vec_traits<V>::dim>=4,
21001             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21002         W00X( V const & a )
21003             {
21004             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21005             }
21006         template <class V>
21007         BOOST_QVM_INLINE_TRIVIAL
21008         typename enable_if_c<
21009             is_vec<V>::value && vec_traits<V>::dim>=4,
21010             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21011         W00X( V & a )
21012             {
21013             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21014             }
21015         template <class V>
21016         BOOST_QVM_INLINE_TRIVIAL
21017         typename enable_if_c<
21018             is_vec<V>::value && vec_traits<V>::dim>=3,
21019             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21020         Z00X( V const & a )
21021             {
21022             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21023             }
21024         template <class V>
21025         BOOST_QVM_INLINE_TRIVIAL
21026         typename enable_if_c<
21027             is_vec<V>::value && vec_traits<V>::dim>=3,
21028             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21029         Z00X( V & a )
21030             {
21031             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21032             }
21033         template <class V>
21034         BOOST_QVM_INLINE_TRIVIAL
21035         typename enable_if_c<
21036             is_vec<V>::value && vec_traits<V>::dim>=2,
21037             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21038         Y00X( V const & a )
21039             {
21040             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21041             }
21042         template <class V>
21043         BOOST_QVM_INLINE_TRIVIAL
21044         typename enable_if_c<
21045             is_vec<V>::value && vec_traits<V>::dim>=2,
21046             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21047         Y00X( V & a )
21048             {
21049             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21050             }
21051         template <class V>
21052         BOOST_QVM_INLINE_TRIVIAL
21053         typename enable_if_c<
21054             is_vec<V>::value && vec_traits<V>::dim>=1,
21055             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21056         X00X( V const & a )
21057             {
21058             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21059             }
21060         template <class S>
21061         BOOST_QVM_INLINE_TRIVIAL
21062         typename enable_if_c<
21063             is_scalar<S>::value,
21064             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X00X(S const & a)21065         X00X( S const & a )
21066             {
21067             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21068             }
21069         template <class V>
21070         BOOST_QVM_INLINE_TRIVIAL
21071         typename enable_if_c<
21072             is_vec<V>::value && vec_traits<V>::dim>=1,
21073             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21074         X00X( V & a )
21075             {
21076             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21077             }
21078         template <class S>
21079         BOOST_QVM_INLINE_TRIVIAL
21080         typename enable_if_c<
21081             is_scalar<S>::value,
21082             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
X00X(S & a)21083         X00X( S & a )
21084             {
21085             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21086             }
21087         template <class V>
21088         BOOST_QVM_INLINE_TRIVIAL
21089         typename enable_if_c<
21090             is_vec<V>::value && vec_traits<V>::dim>=4,
21091             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21092         _1W0X( V const & a )
21093             {
21094             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21095             }
21096         template <class V>
21097         BOOST_QVM_INLINE_TRIVIAL
21098         typename enable_if_c<
21099             is_vec<V>::value && vec_traits<V>::dim>=4,
21100             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21101         _1W0X( V & a )
21102             {
21103             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21104             }
21105         template <class V>
21106         BOOST_QVM_INLINE_TRIVIAL
21107         typename enable_if_c<
21108             is_vec<V>::value && vec_traits<V>::dim>=4,
21109             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21110         _0W0X( V const & a )
21111             {
21112             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21113             }
21114         template <class V>
21115         BOOST_QVM_INLINE_TRIVIAL
21116         typename enable_if_c<
21117             is_vec<V>::value && vec_traits<V>::dim>=4,
21118             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21119         _0W0X( V & a )
21120             {
21121             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21122             }
21123         template <class V>
21124         BOOST_QVM_INLINE_TRIVIAL
21125         typename enable_if_c<
21126             is_vec<V>::value && vec_traits<V>::dim>=4,
21127             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21128         WW0X( V const & a )
21129             {
21130             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21131             }
21132         template <class V>
21133         BOOST_QVM_INLINE_TRIVIAL
21134         typename enable_if_c<
21135             is_vec<V>::value && vec_traits<V>::dim>=4,
21136             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21137         WW0X( V & a )
21138             {
21139             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21140             }
21141         template <class V>
21142         BOOST_QVM_INLINE_TRIVIAL
21143         typename enable_if_c<
21144             is_vec<V>::value && vec_traits<V>::dim>=4,
21145             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21146         ZW0X( V const & a )
21147             {
21148             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21149             }
21150         template <class V>
21151         BOOST_QVM_INLINE_TRIVIAL
21152         typename enable_if_c<
21153             is_vec<V>::value && vec_traits<V>::dim>=4,
21154             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21155         ZW0X( V & a )
21156             {
21157             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21158             }
21159         template <class V>
21160         BOOST_QVM_INLINE_TRIVIAL
21161         typename enable_if_c<
21162             is_vec<V>::value && vec_traits<V>::dim>=4,
21163             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21164         YW0X( V const & a )
21165             {
21166             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21167             }
21168         template <class V>
21169         BOOST_QVM_INLINE_TRIVIAL
21170         typename enable_if_c<
21171             is_vec<V>::value && vec_traits<V>::dim>=4,
21172             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21173         YW0X( V & a )
21174             {
21175             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21176             }
21177         template <class V>
21178         BOOST_QVM_INLINE_TRIVIAL
21179         typename enable_if_c<
21180             is_vec<V>::value && vec_traits<V>::dim>=4,
21181             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21182         XW0X( V const & a )
21183             {
21184             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21185             }
21186         template <class V>
21187         BOOST_QVM_INLINE_TRIVIAL
21188         typename enable_if_c<
21189             is_vec<V>::value && vec_traits<V>::dim>=4,
21190             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21191         XW0X( V & a )
21192             {
21193             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21194             }
21195         template <class V>
21196         BOOST_QVM_INLINE_TRIVIAL
21197         typename enable_if_c<
21198             is_vec<V>::value && vec_traits<V>::dim>=3,
21199             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21200         _1Z0X( V const & a )
21201             {
21202             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21203             }
21204         template <class V>
21205         BOOST_QVM_INLINE_TRIVIAL
21206         typename enable_if_c<
21207             is_vec<V>::value && vec_traits<V>::dim>=3,
21208             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21209         _1Z0X( V & a )
21210             {
21211             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21212             }
21213         template <class V>
21214         BOOST_QVM_INLINE_TRIVIAL
21215         typename enable_if_c<
21216             is_vec<V>::value && vec_traits<V>::dim>=3,
21217             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21218         _0Z0X( V const & a )
21219             {
21220             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21221             }
21222         template <class V>
21223         BOOST_QVM_INLINE_TRIVIAL
21224         typename enable_if_c<
21225             is_vec<V>::value && vec_traits<V>::dim>=3,
21226             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21227         _0Z0X( V & a )
21228             {
21229             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21230             }
21231         template <class V>
21232         BOOST_QVM_INLINE_TRIVIAL
21233         typename enable_if_c<
21234             is_vec<V>::value && vec_traits<V>::dim>=4,
21235             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21236         WZ0X( V const & a )
21237             {
21238             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21239             }
21240         template <class V>
21241         BOOST_QVM_INLINE_TRIVIAL
21242         typename enable_if_c<
21243             is_vec<V>::value && vec_traits<V>::dim>=4,
21244             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21245         WZ0X( V & a )
21246             {
21247             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21248             }
21249         template <class V>
21250         BOOST_QVM_INLINE_TRIVIAL
21251         typename enable_if_c<
21252             is_vec<V>::value && vec_traits<V>::dim>=3,
21253             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21254         ZZ0X( V const & a )
21255             {
21256             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21257             }
21258         template <class V>
21259         BOOST_QVM_INLINE_TRIVIAL
21260         typename enable_if_c<
21261             is_vec<V>::value && vec_traits<V>::dim>=3,
21262             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21263         ZZ0X( V & a )
21264             {
21265             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21266             }
21267         template <class V>
21268         BOOST_QVM_INLINE_TRIVIAL
21269         typename enable_if_c<
21270             is_vec<V>::value && vec_traits<V>::dim>=3,
21271             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21272         YZ0X( V const & a )
21273             {
21274             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21275             }
21276         template <class V>
21277         BOOST_QVM_INLINE_TRIVIAL
21278         typename enable_if_c<
21279             is_vec<V>::value && vec_traits<V>::dim>=3,
21280             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21281         YZ0X( V & a )
21282             {
21283             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21284             }
21285         template <class V>
21286         BOOST_QVM_INLINE_TRIVIAL
21287         typename enable_if_c<
21288             is_vec<V>::value && vec_traits<V>::dim>=3,
21289             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21290         XZ0X( V const & a )
21291             {
21292             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21293             }
21294         template <class V>
21295         BOOST_QVM_INLINE_TRIVIAL
21296         typename enable_if_c<
21297             is_vec<V>::value && vec_traits<V>::dim>=3,
21298             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21299         XZ0X( V & a )
21300             {
21301             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21302             }
21303         template <class V>
21304         BOOST_QVM_INLINE_TRIVIAL
21305         typename enable_if_c<
21306             is_vec<V>::value && vec_traits<V>::dim>=2,
21307             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21308         _1Y0X( V const & a )
21309             {
21310             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21311             }
21312         template <class V>
21313         BOOST_QVM_INLINE_TRIVIAL
21314         typename enable_if_c<
21315             is_vec<V>::value && vec_traits<V>::dim>=2,
21316             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21317         _1Y0X( V & a )
21318             {
21319             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21320             }
21321         template <class V>
21322         BOOST_QVM_INLINE_TRIVIAL
21323         typename enable_if_c<
21324             is_vec<V>::value && vec_traits<V>::dim>=2,
21325             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21326         _0Y0X( V const & a )
21327             {
21328             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21329             }
21330         template <class V>
21331         BOOST_QVM_INLINE_TRIVIAL
21332         typename enable_if_c<
21333             is_vec<V>::value && vec_traits<V>::dim>=2,
21334             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21335         _0Y0X( V & a )
21336             {
21337             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21338             }
21339         template <class V>
21340         BOOST_QVM_INLINE_TRIVIAL
21341         typename enable_if_c<
21342             is_vec<V>::value && vec_traits<V>::dim>=4,
21343             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21344         WY0X( V const & a )
21345             {
21346             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21347             }
21348         template <class V>
21349         BOOST_QVM_INLINE_TRIVIAL
21350         typename enable_if_c<
21351             is_vec<V>::value && vec_traits<V>::dim>=4,
21352             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21353         WY0X( V & a )
21354             {
21355             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21356             }
21357         template <class V>
21358         BOOST_QVM_INLINE_TRIVIAL
21359         typename enable_if_c<
21360             is_vec<V>::value && vec_traits<V>::dim>=3,
21361             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21362         ZY0X( V const & a )
21363             {
21364             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21365             }
21366         template <class V>
21367         BOOST_QVM_INLINE_TRIVIAL
21368         typename enable_if_c<
21369             is_vec<V>::value && vec_traits<V>::dim>=3,
21370             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21371         ZY0X( V & a )
21372             {
21373             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21374             }
21375         template <class V>
21376         BOOST_QVM_INLINE_TRIVIAL
21377         typename enable_if_c<
21378             is_vec<V>::value && vec_traits<V>::dim>=2,
21379             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21380         YY0X( V const & a )
21381             {
21382             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21383             }
21384         template <class V>
21385         BOOST_QVM_INLINE_TRIVIAL
21386         typename enable_if_c<
21387             is_vec<V>::value && vec_traits<V>::dim>=2,
21388             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21389         YY0X( V & a )
21390             {
21391             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21392             }
21393         template <class V>
21394         BOOST_QVM_INLINE_TRIVIAL
21395         typename enable_if_c<
21396             is_vec<V>::value && vec_traits<V>::dim>=2,
21397             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21398         XY0X( V const & a )
21399             {
21400             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21401             }
21402         template <class V>
21403         BOOST_QVM_INLINE_TRIVIAL
21404         typename enable_if_c<
21405             is_vec<V>::value && vec_traits<V>::dim>=2,
21406             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21407         XY0X( V & a )
21408             {
21409             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21410             }
21411         template <class V>
21412         BOOST_QVM_INLINE_TRIVIAL
21413         typename enable_if_c<
21414             is_vec<V>::value && vec_traits<V>::dim>=1,
21415             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21416         _1X0X( V const & a )
21417             {
21418             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21419             }
21420         template <class S>
21421         BOOST_QVM_INLINE_TRIVIAL
21422         typename enable_if_c<
21423             is_scalar<S>::value,
21424             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1X0X(S const & a)21425         _1X0X( S const & a )
21426             {
21427             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21428             }
21429         template <class V>
21430         BOOST_QVM_INLINE_TRIVIAL
21431         typename enable_if_c<
21432             is_vec<V>::value && vec_traits<V>::dim>=1,
21433             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21434         _1X0X( V & a )
21435             {
21436             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21437             }
21438         template <class S>
21439         BOOST_QVM_INLINE_TRIVIAL
21440         typename enable_if_c<
21441             is_scalar<S>::value,
21442             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1X0X(S & a)21443         _1X0X( S & a )
21444             {
21445             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21446             }
21447         template <class V>
21448         BOOST_QVM_INLINE_TRIVIAL
21449         typename enable_if_c<
21450             is_vec<V>::value && vec_traits<V>::dim>=1,
21451             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21452         _0X0X( V const & a )
21453             {
21454             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21455             }
21456         template <class S>
21457         BOOST_QVM_INLINE_TRIVIAL
21458         typename enable_if_c<
21459             is_scalar<S>::value,
21460             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0X0X(S const & a)21461         _0X0X( S const & a )
21462             {
21463             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21464             }
21465         template <class V>
21466         BOOST_QVM_INLINE_TRIVIAL
21467         typename enable_if_c<
21468             is_vec<V>::value && vec_traits<V>::dim>=1,
21469             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21470         _0X0X( V & a )
21471             {
21472             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21473             }
21474         template <class S>
21475         BOOST_QVM_INLINE_TRIVIAL
21476         typename enable_if_c<
21477             is_scalar<S>::value,
21478             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0X0X(S & a)21479         _0X0X( S & a )
21480             {
21481             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21482             }
21483         template <class V>
21484         BOOST_QVM_INLINE_TRIVIAL
21485         typename enable_if_c<
21486             is_vec<V>::value && vec_traits<V>::dim>=4,
21487             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21488         WX0X( V const & a )
21489             {
21490             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21491             }
21492         template <class V>
21493         BOOST_QVM_INLINE_TRIVIAL
21494         typename enable_if_c<
21495             is_vec<V>::value && vec_traits<V>::dim>=4,
21496             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21497         WX0X( V & a )
21498             {
21499             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21500             }
21501         template <class V>
21502         BOOST_QVM_INLINE_TRIVIAL
21503         typename enable_if_c<
21504             is_vec<V>::value && vec_traits<V>::dim>=3,
21505             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21506         ZX0X( V const & a )
21507             {
21508             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21509             }
21510         template <class V>
21511         BOOST_QVM_INLINE_TRIVIAL
21512         typename enable_if_c<
21513             is_vec<V>::value && vec_traits<V>::dim>=3,
21514             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21515         ZX0X( V & a )
21516             {
21517             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21518             }
21519         template <class V>
21520         BOOST_QVM_INLINE_TRIVIAL
21521         typename enable_if_c<
21522             is_vec<V>::value && vec_traits<V>::dim>=2,
21523             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21524         YX0X( V const & a )
21525             {
21526             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21527             }
21528         template <class V>
21529         BOOST_QVM_INLINE_TRIVIAL
21530         typename enable_if_c<
21531             is_vec<V>::value && vec_traits<V>::dim>=2,
21532             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21533         YX0X( V & a )
21534             {
21535             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21536             }
21537         template <class V>
21538         BOOST_QVM_INLINE_TRIVIAL
21539         typename enable_if_c<
21540             is_vec<V>::value && vec_traits<V>::dim>=1,
21541             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21542         XX0X( V const & a )
21543             {
21544             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21545             }
21546         template <class S>
21547         BOOST_QVM_INLINE_TRIVIAL
21548         typename enable_if_c<
21549             is_scalar<S>::value,
21550             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XX0X(S const & a)21551         XX0X( S const & a )
21552             {
21553             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21554             }
21555         template <class V>
21556         BOOST_QVM_INLINE_TRIVIAL
21557         typename enable_if_c<
21558             is_vec<V>::value && vec_traits<V>::dim>=1,
21559             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
21560         XX0X( V & a )
21561             {
21562             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21563             }
21564         template <class S>
21565         BOOST_QVM_INLINE_TRIVIAL
21566         typename enable_if_c<
21567             is_scalar<S>::value,
21568             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>::type
XX0X(S & a)21569         XX0X( S & a )
21570             {
21571             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21572             }
21573         template <class V>
21574         BOOST_QVM_INLINE_TRIVIAL
21575         typename enable_if_c<
21576             is_vec<V>::value && vec_traits<V>::dim>=4,
21577             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21578         _11WX( V const & a )
21579             {
21580             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21581             }
21582         template <class V>
21583         BOOST_QVM_INLINE_TRIVIAL
21584         typename enable_if_c<
21585             is_vec<V>::value && vec_traits<V>::dim>=4,
21586             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21587         _11WX( V & a )
21588             {
21589             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21590             }
21591         template <class V>
21592         BOOST_QVM_INLINE_TRIVIAL
21593         typename enable_if_c<
21594             is_vec<V>::value && vec_traits<V>::dim>=4,
21595             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21596         _01WX( V const & a )
21597             {
21598             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21599             }
21600         template <class V>
21601         BOOST_QVM_INLINE_TRIVIAL
21602         typename enable_if_c<
21603             is_vec<V>::value && vec_traits<V>::dim>=4,
21604             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21605         _01WX( V & a )
21606             {
21607             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21608             }
21609         template <class V>
21610         BOOST_QVM_INLINE_TRIVIAL
21611         typename enable_if_c<
21612             is_vec<V>::value && vec_traits<V>::dim>=4,
21613             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21614         W1WX( V const & a )
21615             {
21616             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21617             }
21618         template <class V>
21619         BOOST_QVM_INLINE_TRIVIAL
21620         typename enable_if_c<
21621             is_vec<V>::value && vec_traits<V>::dim>=4,
21622             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21623         W1WX( V & a )
21624             {
21625             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21626             }
21627         template <class V>
21628         BOOST_QVM_INLINE_TRIVIAL
21629         typename enable_if_c<
21630             is_vec<V>::value && vec_traits<V>::dim>=4,
21631             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21632         Z1WX( V const & a )
21633             {
21634             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21635             }
21636         template <class V>
21637         BOOST_QVM_INLINE_TRIVIAL
21638         typename enable_if_c<
21639             is_vec<V>::value && vec_traits<V>::dim>=4,
21640             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21641         Z1WX( V & a )
21642             {
21643             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21644             }
21645         template <class V>
21646         BOOST_QVM_INLINE_TRIVIAL
21647         typename enable_if_c<
21648             is_vec<V>::value && vec_traits<V>::dim>=4,
21649             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21650         Y1WX( V const & a )
21651             {
21652             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21653             }
21654         template <class V>
21655         BOOST_QVM_INLINE_TRIVIAL
21656         typename enable_if_c<
21657             is_vec<V>::value && vec_traits<V>::dim>=4,
21658             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21659         Y1WX( V & a )
21660             {
21661             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21662             }
21663         template <class V>
21664         BOOST_QVM_INLINE_TRIVIAL
21665         typename enable_if_c<
21666             is_vec<V>::value && vec_traits<V>::dim>=4,
21667             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21668         X1WX( V const & a )
21669             {
21670             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21671             }
21672         template <class V>
21673         BOOST_QVM_INLINE_TRIVIAL
21674         typename enable_if_c<
21675             is_vec<V>::value && vec_traits<V>::dim>=4,
21676             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21677         X1WX( V & a )
21678             {
21679             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21680             }
21681         template <class V>
21682         BOOST_QVM_INLINE_TRIVIAL
21683         typename enable_if_c<
21684             is_vec<V>::value && vec_traits<V>::dim>=4,
21685             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21686         _10WX( V const & a )
21687             {
21688             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21689             }
21690         template <class V>
21691         BOOST_QVM_INLINE_TRIVIAL
21692         typename enable_if_c<
21693             is_vec<V>::value && vec_traits<V>::dim>=4,
21694             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21695         _10WX( V & a )
21696             {
21697             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21698             }
21699         template <class V>
21700         BOOST_QVM_INLINE_TRIVIAL
21701         typename enable_if_c<
21702             is_vec<V>::value && vec_traits<V>::dim>=4,
21703             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21704         _00WX( V const & a )
21705             {
21706             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21707             }
21708         template <class V>
21709         BOOST_QVM_INLINE_TRIVIAL
21710         typename enable_if_c<
21711             is_vec<V>::value && vec_traits<V>::dim>=4,
21712             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21713         _00WX( V & a )
21714             {
21715             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21716             }
21717         template <class V>
21718         BOOST_QVM_INLINE_TRIVIAL
21719         typename enable_if_c<
21720             is_vec<V>::value && vec_traits<V>::dim>=4,
21721             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21722         W0WX( V const & a )
21723             {
21724             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21725             }
21726         template <class V>
21727         BOOST_QVM_INLINE_TRIVIAL
21728         typename enable_if_c<
21729             is_vec<V>::value && vec_traits<V>::dim>=4,
21730             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21731         W0WX( V & a )
21732             {
21733             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21734             }
21735         template <class V>
21736         BOOST_QVM_INLINE_TRIVIAL
21737         typename enable_if_c<
21738             is_vec<V>::value && vec_traits<V>::dim>=4,
21739             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21740         Z0WX( V const & a )
21741             {
21742             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21743             }
21744         template <class V>
21745         BOOST_QVM_INLINE_TRIVIAL
21746         typename enable_if_c<
21747             is_vec<V>::value && vec_traits<V>::dim>=4,
21748             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21749         Z0WX( V & a )
21750             {
21751             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21752             }
21753         template <class V>
21754         BOOST_QVM_INLINE_TRIVIAL
21755         typename enable_if_c<
21756             is_vec<V>::value && vec_traits<V>::dim>=4,
21757             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21758         Y0WX( V const & a )
21759             {
21760             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21761             }
21762         template <class V>
21763         BOOST_QVM_INLINE_TRIVIAL
21764         typename enable_if_c<
21765             is_vec<V>::value && vec_traits<V>::dim>=4,
21766             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21767         Y0WX( V & a )
21768             {
21769             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21770             }
21771         template <class V>
21772         BOOST_QVM_INLINE_TRIVIAL
21773         typename enable_if_c<
21774             is_vec<V>::value && vec_traits<V>::dim>=4,
21775             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21776         X0WX( V const & a )
21777             {
21778             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21779             }
21780         template <class V>
21781         BOOST_QVM_INLINE_TRIVIAL
21782         typename enable_if_c<
21783             is_vec<V>::value && vec_traits<V>::dim>=4,
21784             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21785         X0WX( V & a )
21786             {
21787             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21788             }
21789         template <class V>
21790         BOOST_QVM_INLINE_TRIVIAL
21791         typename enable_if_c<
21792             is_vec<V>::value && vec_traits<V>::dim>=4,
21793             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21794         _1WWX( V const & a )
21795             {
21796             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21797             }
21798         template <class V>
21799         BOOST_QVM_INLINE_TRIVIAL
21800         typename enable_if_c<
21801             is_vec<V>::value && vec_traits<V>::dim>=4,
21802             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21803         _1WWX( V & a )
21804             {
21805             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21806             }
21807         template <class V>
21808         BOOST_QVM_INLINE_TRIVIAL
21809         typename enable_if_c<
21810             is_vec<V>::value && vec_traits<V>::dim>=4,
21811             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21812         _0WWX( V const & a )
21813             {
21814             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21815             }
21816         template <class V>
21817         BOOST_QVM_INLINE_TRIVIAL
21818         typename enable_if_c<
21819             is_vec<V>::value && vec_traits<V>::dim>=4,
21820             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21821         _0WWX( V & a )
21822             {
21823             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21824             }
21825         template <class V>
21826         BOOST_QVM_INLINE_TRIVIAL
21827         typename enable_if_c<
21828             is_vec<V>::value && vec_traits<V>::dim>=4,
21829             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21830         WWWX( V const & a )
21831             {
21832             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21833             }
21834         template <class V>
21835         BOOST_QVM_INLINE_TRIVIAL
21836         typename enable_if_c<
21837             is_vec<V>::value && vec_traits<V>::dim>=4,
21838             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21839         WWWX( V & a )
21840             {
21841             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21842             }
21843         template <class V>
21844         BOOST_QVM_INLINE_TRIVIAL
21845         typename enable_if_c<
21846             is_vec<V>::value && vec_traits<V>::dim>=4,
21847             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21848         ZWWX( V const & a )
21849             {
21850             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21851             }
21852         template <class V>
21853         BOOST_QVM_INLINE_TRIVIAL
21854         typename enable_if_c<
21855             is_vec<V>::value && vec_traits<V>::dim>=4,
21856             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21857         ZWWX( V & a )
21858             {
21859             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21860             }
21861         template <class V>
21862         BOOST_QVM_INLINE_TRIVIAL
21863         typename enable_if_c<
21864             is_vec<V>::value && vec_traits<V>::dim>=4,
21865             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21866         YWWX( V const & a )
21867             {
21868             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21869             }
21870         template <class V>
21871         BOOST_QVM_INLINE_TRIVIAL
21872         typename enable_if_c<
21873             is_vec<V>::value && vec_traits<V>::dim>=4,
21874             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21875         YWWX( V & a )
21876             {
21877             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21878             }
21879         template <class V>
21880         BOOST_QVM_INLINE_TRIVIAL
21881         typename enable_if_c<
21882             is_vec<V>::value && vec_traits<V>::dim>=4,
21883             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21884         XWWX( V const & a )
21885             {
21886             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21887             }
21888         template <class V>
21889         BOOST_QVM_INLINE_TRIVIAL
21890         typename enable_if_c<
21891             is_vec<V>::value && vec_traits<V>::dim>=4,
21892             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21893         XWWX( V & a )
21894             {
21895             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21896             }
21897         template <class V>
21898         BOOST_QVM_INLINE_TRIVIAL
21899         typename enable_if_c<
21900             is_vec<V>::value && vec_traits<V>::dim>=4,
21901             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21902         _1ZWX( V const & a )
21903             {
21904             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21905             }
21906         template <class V>
21907         BOOST_QVM_INLINE_TRIVIAL
21908         typename enable_if_c<
21909             is_vec<V>::value && vec_traits<V>::dim>=4,
21910             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21911         _1ZWX( V & a )
21912             {
21913             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21914             }
21915         template <class V>
21916         BOOST_QVM_INLINE_TRIVIAL
21917         typename enable_if_c<
21918             is_vec<V>::value && vec_traits<V>::dim>=4,
21919             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21920         _0ZWX( V const & a )
21921             {
21922             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21923             }
21924         template <class V>
21925         BOOST_QVM_INLINE_TRIVIAL
21926         typename enable_if_c<
21927             is_vec<V>::value && vec_traits<V>::dim>=4,
21928             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21929         _0ZWX( V & a )
21930             {
21931             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21932             }
21933         template <class V>
21934         BOOST_QVM_INLINE_TRIVIAL
21935         typename enable_if_c<
21936             is_vec<V>::value && vec_traits<V>::dim>=4,
21937             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21938         WZWX( V const & a )
21939             {
21940             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21941             }
21942         template <class V>
21943         BOOST_QVM_INLINE_TRIVIAL
21944         typename enable_if_c<
21945             is_vec<V>::value && vec_traits<V>::dim>=4,
21946             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21947         WZWX( V & a )
21948             {
21949             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21950             }
21951         template <class V>
21952         BOOST_QVM_INLINE_TRIVIAL
21953         typename enable_if_c<
21954             is_vec<V>::value && vec_traits<V>::dim>=4,
21955             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21956         ZZWX( V const & a )
21957             {
21958             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21959             }
21960         template <class V>
21961         BOOST_QVM_INLINE_TRIVIAL
21962         typename enable_if_c<
21963             is_vec<V>::value && vec_traits<V>::dim>=4,
21964             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21965         ZZWX( V & a )
21966             {
21967             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21968             }
21969         template <class V>
21970         BOOST_QVM_INLINE_TRIVIAL
21971         typename enable_if_c<
21972             is_vec<V>::value && vec_traits<V>::dim>=4,
21973             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21974         YZWX( V const & a )
21975             {
21976             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21977             }
21978         template <class V>
21979         BOOST_QVM_INLINE_TRIVIAL
21980         typename enable_if_c<
21981             is_vec<V>::value && vec_traits<V>::dim>=4,
21982             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
21983         YZWX( V & a )
21984             {
21985             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
21986             }
21987         template <class V>
21988         BOOST_QVM_INLINE_TRIVIAL
21989         typename enable_if_c<
21990             is_vec<V>::value && vec_traits<V>::dim>=4,
21991             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
21992         XZWX( V const & a )
21993             {
21994             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
21995             }
21996         template <class V>
21997         BOOST_QVM_INLINE_TRIVIAL
21998         typename enable_if_c<
21999             is_vec<V>::value && vec_traits<V>::dim>=4,
22000             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22001         XZWX( V & a )
22002             {
22003             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22004             }
22005         template <class V>
22006         BOOST_QVM_INLINE_TRIVIAL
22007         typename enable_if_c<
22008             is_vec<V>::value && vec_traits<V>::dim>=4,
22009             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22010         _1YWX( V const & a )
22011             {
22012             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22013             }
22014         template <class V>
22015         BOOST_QVM_INLINE_TRIVIAL
22016         typename enable_if_c<
22017             is_vec<V>::value && vec_traits<V>::dim>=4,
22018             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22019         _1YWX( V & a )
22020             {
22021             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22022             }
22023         template <class V>
22024         BOOST_QVM_INLINE_TRIVIAL
22025         typename enable_if_c<
22026             is_vec<V>::value && vec_traits<V>::dim>=4,
22027             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22028         _0YWX( V const & a )
22029             {
22030             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22031             }
22032         template <class V>
22033         BOOST_QVM_INLINE_TRIVIAL
22034         typename enable_if_c<
22035             is_vec<V>::value && vec_traits<V>::dim>=4,
22036             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22037         _0YWX( V & a )
22038             {
22039             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22040             }
22041         template <class V>
22042         BOOST_QVM_INLINE_TRIVIAL
22043         typename enable_if_c<
22044             is_vec<V>::value && vec_traits<V>::dim>=4,
22045             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22046         WYWX( V const & a )
22047             {
22048             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22049             }
22050         template <class V>
22051         BOOST_QVM_INLINE_TRIVIAL
22052         typename enable_if_c<
22053             is_vec<V>::value && vec_traits<V>::dim>=4,
22054             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22055         WYWX( V & a )
22056             {
22057             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22058             }
22059         template <class V>
22060         BOOST_QVM_INLINE_TRIVIAL
22061         typename enable_if_c<
22062             is_vec<V>::value && vec_traits<V>::dim>=4,
22063             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22064         ZYWX( V const & a )
22065             {
22066             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22067             }
22068         template <class V>
22069         BOOST_QVM_INLINE_TRIVIAL
22070         typename enable_if_c<
22071             is_vec<V>::value && vec_traits<V>::dim>=4,
22072             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22073         ZYWX( V & a )
22074             {
22075             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22076             }
22077         template <class V>
22078         BOOST_QVM_INLINE_TRIVIAL
22079         typename enable_if_c<
22080             is_vec<V>::value && vec_traits<V>::dim>=4,
22081             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22082         YYWX( V const & a )
22083             {
22084             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22085             }
22086         template <class V>
22087         BOOST_QVM_INLINE_TRIVIAL
22088         typename enable_if_c<
22089             is_vec<V>::value && vec_traits<V>::dim>=4,
22090             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22091         YYWX( V & a )
22092             {
22093             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22094             }
22095         template <class V>
22096         BOOST_QVM_INLINE_TRIVIAL
22097         typename enable_if_c<
22098             is_vec<V>::value && vec_traits<V>::dim>=4,
22099             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22100         XYWX( V const & a )
22101             {
22102             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22103             }
22104         template <class V>
22105         BOOST_QVM_INLINE_TRIVIAL
22106         typename enable_if_c<
22107             is_vec<V>::value && vec_traits<V>::dim>=4,
22108             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22109         XYWX( V & a )
22110             {
22111             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22112             }
22113         template <class V>
22114         BOOST_QVM_INLINE_TRIVIAL
22115         typename enable_if_c<
22116             is_vec<V>::value && vec_traits<V>::dim>=4,
22117             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22118         _1XWX( V const & a )
22119             {
22120             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22121             }
22122         template <class V>
22123         BOOST_QVM_INLINE_TRIVIAL
22124         typename enable_if_c<
22125             is_vec<V>::value && vec_traits<V>::dim>=4,
22126             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22127         _1XWX( V & a )
22128             {
22129             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22130             }
22131         template <class V>
22132         BOOST_QVM_INLINE_TRIVIAL
22133         typename enable_if_c<
22134             is_vec<V>::value && vec_traits<V>::dim>=4,
22135             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22136         _0XWX( V const & a )
22137             {
22138             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22139             }
22140         template <class V>
22141         BOOST_QVM_INLINE_TRIVIAL
22142         typename enable_if_c<
22143             is_vec<V>::value && vec_traits<V>::dim>=4,
22144             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22145         _0XWX( V & a )
22146             {
22147             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22148             }
22149         template <class V>
22150         BOOST_QVM_INLINE_TRIVIAL
22151         typename enable_if_c<
22152             is_vec<V>::value && vec_traits<V>::dim>=4,
22153             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22154         WXWX( V const & a )
22155             {
22156             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22157             }
22158         template <class V>
22159         BOOST_QVM_INLINE_TRIVIAL
22160         typename enable_if_c<
22161             is_vec<V>::value && vec_traits<V>::dim>=4,
22162             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22163         WXWX( V & a )
22164             {
22165             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22166             }
22167         template <class V>
22168         BOOST_QVM_INLINE_TRIVIAL
22169         typename enable_if_c<
22170             is_vec<V>::value && vec_traits<V>::dim>=4,
22171             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22172         ZXWX( V const & a )
22173             {
22174             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22175             }
22176         template <class V>
22177         BOOST_QVM_INLINE_TRIVIAL
22178         typename enable_if_c<
22179             is_vec<V>::value && vec_traits<V>::dim>=4,
22180             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22181         ZXWX( V & a )
22182             {
22183             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22184             }
22185         template <class V>
22186         BOOST_QVM_INLINE_TRIVIAL
22187         typename enable_if_c<
22188             is_vec<V>::value && vec_traits<V>::dim>=4,
22189             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22190         YXWX( V const & a )
22191             {
22192             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22193             }
22194         template <class V>
22195         BOOST_QVM_INLINE_TRIVIAL
22196         typename enable_if_c<
22197             is_vec<V>::value && vec_traits<V>::dim>=4,
22198             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22199         YXWX( V & a )
22200             {
22201             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22202             }
22203         template <class V>
22204         BOOST_QVM_INLINE_TRIVIAL
22205         typename enable_if_c<
22206             is_vec<V>::value && vec_traits<V>::dim>=4,
22207             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22208         XXWX( V const & a )
22209             {
22210             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22211             }
22212         template <class V>
22213         BOOST_QVM_INLINE_TRIVIAL
22214         typename enable_if_c<
22215             is_vec<V>::value && vec_traits<V>::dim>=4,
22216             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>::type
22217         XXWX( V & a )
22218             {
22219             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22220             }
22221         template <class V>
22222         BOOST_QVM_INLINE_TRIVIAL
22223         typename enable_if_c<
22224             is_vec<V>::value && vec_traits<V>::dim>=3,
22225             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22226         _11ZX( V const & a )
22227             {
22228             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22229             }
22230         template <class V>
22231         BOOST_QVM_INLINE_TRIVIAL
22232         typename enable_if_c<
22233             is_vec<V>::value && vec_traits<V>::dim>=3,
22234             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22235         _11ZX( V & a )
22236             {
22237             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22238             }
22239         template <class V>
22240         BOOST_QVM_INLINE_TRIVIAL
22241         typename enable_if_c<
22242             is_vec<V>::value && vec_traits<V>::dim>=3,
22243             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22244         _01ZX( V const & a )
22245             {
22246             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22247             }
22248         template <class V>
22249         BOOST_QVM_INLINE_TRIVIAL
22250         typename enable_if_c<
22251             is_vec<V>::value && vec_traits<V>::dim>=3,
22252             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22253         _01ZX( V & a )
22254             {
22255             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22256             }
22257         template <class V>
22258         BOOST_QVM_INLINE_TRIVIAL
22259         typename enable_if_c<
22260             is_vec<V>::value && vec_traits<V>::dim>=4,
22261             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22262         W1ZX( V const & a )
22263             {
22264             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22265             }
22266         template <class V>
22267         BOOST_QVM_INLINE_TRIVIAL
22268         typename enable_if_c<
22269             is_vec<V>::value && vec_traits<V>::dim>=4,
22270             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22271         W1ZX( V & a )
22272             {
22273             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22274             }
22275         template <class V>
22276         BOOST_QVM_INLINE_TRIVIAL
22277         typename enable_if_c<
22278             is_vec<V>::value && vec_traits<V>::dim>=3,
22279             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22280         Z1ZX( V const & a )
22281             {
22282             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22283             }
22284         template <class V>
22285         BOOST_QVM_INLINE_TRIVIAL
22286         typename enable_if_c<
22287             is_vec<V>::value && vec_traits<V>::dim>=3,
22288             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22289         Z1ZX( V & a )
22290             {
22291             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22292             }
22293         template <class V>
22294         BOOST_QVM_INLINE_TRIVIAL
22295         typename enable_if_c<
22296             is_vec<V>::value && vec_traits<V>::dim>=3,
22297             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22298         Y1ZX( V const & a )
22299             {
22300             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22301             }
22302         template <class V>
22303         BOOST_QVM_INLINE_TRIVIAL
22304         typename enable_if_c<
22305             is_vec<V>::value && vec_traits<V>::dim>=3,
22306             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22307         Y1ZX( V & a )
22308             {
22309             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22310             }
22311         template <class V>
22312         BOOST_QVM_INLINE_TRIVIAL
22313         typename enable_if_c<
22314             is_vec<V>::value && vec_traits<V>::dim>=3,
22315             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22316         X1ZX( V const & a )
22317             {
22318             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22319             }
22320         template <class V>
22321         BOOST_QVM_INLINE_TRIVIAL
22322         typename enable_if_c<
22323             is_vec<V>::value && vec_traits<V>::dim>=3,
22324             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22325         X1ZX( V & a )
22326             {
22327             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22328             }
22329         template <class V>
22330         BOOST_QVM_INLINE_TRIVIAL
22331         typename enable_if_c<
22332             is_vec<V>::value && vec_traits<V>::dim>=3,
22333             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22334         _10ZX( V const & a )
22335             {
22336             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22337             }
22338         template <class V>
22339         BOOST_QVM_INLINE_TRIVIAL
22340         typename enable_if_c<
22341             is_vec<V>::value && vec_traits<V>::dim>=3,
22342             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22343         _10ZX( V & a )
22344             {
22345             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22346             }
22347         template <class V>
22348         BOOST_QVM_INLINE_TRIVIAL
22349         typename enable_if_c<
22350             is_vec<V>::value && vec_traits<V>::dim>=3,
22351             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22352         _00ZX( V const & a )
22353             {
22354             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22355             }
22356         template <class V>
22357         BOOST_QVM_INLINE_TRIVIAL
22358         typename enable_if_c<
22359             is_vec<V>::value && vec_traits<V>::dim>=3,
22360             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22361         _00ZX( V & a )
22362             {
22363             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22364             }
22365         template <class V>
22366         BOOST_QVM_INLINE_TRIVIAL
22367         typename enable_if_c<
22368             is_vec<V>::value && vec_traits<V>::dim>=4,
22369             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22370         W0ZX( V const & a )
22371             {
22372             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22373             }
22374         template <class V>
22375         BOOST_QVM_INLINE_TRIVIAL
22376         typename enable_if_c<
22377             is_vec<V>::value && vec_traits<V>::dim>=4,
22378             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22379         W0ZX( V & a )
22380             {
22381             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22382             }
22383         template <class V>
22384         BOOST_QVM_INLINE_TRIVIAL
22385         typename enable_if_c<
22386             is_vec<V>::value && vec_traits<V>::dim>=3,
22387             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22388         Z0ZX( V const & a )
22389             {
22390             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22391             }
22392         template <class V>
22393         BOOST_QVM_INLINE_TRIVIAL
22394         typename enable_if_c<
22395             is_vec<V>::value && vec_traits<V>::dim>=3,
22396             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22397         Z0ZX( V & a )
22398             {
22399             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22400             }
22401         template <class V>
22402         BOOST_QVM_INLINE_TRIVIAL
22403         typename enable_if_c<
22404             is_vec<V>::value && vec_traits<V>::dim>=3,
22405             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22406         Y0ZX( V const & a )
22407             {
22408             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22409             }
22410         template <class V>
22411         BOOST_QVM_INLINE_TRIVIAL
22412         typename enable_if_c<
22413             is_vec<V>::value && vec_traits<V>::dim>=3,
22414             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22415         Y0ZX( V & a )
22416             {
22417             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22418             }
22419         template <class V>
22420         BOOST_QVM_INLINE_TRIVIAL
22421         typename enable_if_c<
22422             is_vec<V>::value && vec_traits<V>::dim>=3,
22423             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22424         X0ZX( V const & a )
22425             {
22426             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22427             }
22428         template <class V>
22429         BOOST_QVM_INLINE_TRIVIAL
22430         typename enable_if_c<
22431             is_vec<V>::value && vec_traits<V>::dim>=3,
22432             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22433         X0ZX( V & a )
22434             {
22435             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22436             }
22437         template <class V>
22438         BOOST_QVM_INLINE_TRIVIAL
22439         typename enable_if_c<
22440             is_vec<V>::value && vec_traits<V>::dim>=4,
22441             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22442         _1WZX( V const & a )
22443             {
22444             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22445             }
22446         template <class V>
22447         BOOST_QVM_INLINE_TRIVIAL
22448         typename enable_if_c<
22449             is_vec<V>::value && vec_traits<V>::dim>=4,
22450             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22451         _1WZX( V & a )
22452             {
22453             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22454             }
22455         template <class V>
22456         BOOST_QVM_INLINE_TRIVIAL
22457         typename enable_if_c<
22458             is_vec<V>::value && vec_traits<V>::dim>=4,
22459             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22460         _0WZX( V const & a )
22461             {
22462             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22463             }
22464         template <class V>
22465         BOOST_QVM_INLINE_TRIVIAL
22466         typename enable_if_c<
22467             is_vec<V>::value && vec_traits<V>::dim>=4,
22468             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22469         _0WZX( V & a )
22470             {
22471             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22472             }
22473         template <class V>
22474         BOOST_QVM_INLINE_TRIVIAL
22475         typename enable_if_c<
22476             is_vec<V>::value && vec_traits<V>::dim>=4,
22477             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22478         WWZX( V const & a )
22479             {
22480             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22481             }
22482         template <class V>
22483         BOOST_QVM_INLINE_TRIVIAL
22484         typename enable_if_c<
22485             is_vec<V>::value && vec_traits<V>::dim>=4,
22486             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22487         WWZX( V & a )
22488             {
22489             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22490             }
22491         template <class V>
22492         BOOST_QVM_INLINE_TRIVIAL
22493         typename enable_if_c<
22494             is_vec<V>::value && vec_traits<V>::dim>=4,
22495             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22496         ZWZX( V const & a )
22497             {
22498             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22499             }
22500         template <class V>
22501         BOOST_QVM_INLINE_TRIVIAL
22502         typename enable_if_c<
22503             is_vec<V>::value && vec_traits<V>::dim>=4,
22504             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22505         ZWZX( V & a )
22506             {
22507             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22508             }
22509         template <class V>
22510         BOOST_QVM_INLINE_TRIVIAL
22511         typename enable_if_c<
22512             is_vec<V>::value && vec_traits<V>::dim>=4,
22513             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22514         YWZX( V const & a )
22515             {
22516             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22517             }
22518         template <class V>
22519         BOOST_QVM_INLINE_TRIVIAL
22520         typename enable_if_c<
22521             is_vec<V>::value && vec_traits<V>::dim>=4,
22522             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22523         YWZX( V & a )
22524             {
22525             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22526             }
22527         template <class V>
22528         BOOST_QVM_INLINE_TRIVIAL
22529         typename enable_if_c<
22530             is_vec<V>::value && vec_traits<V>::dim>=4,
22531             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22532         XWZX( V const & a )
22533             {
22534             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22535             }
22536         template <class V>
22537         BOOST_QVM_INLINE_TRIVIAL
22538         typename enable_if_c<
22539             is_vec<V>::value && vec_traits<V>::dim>=4,
22540             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22541         XWZX( V & a )
22542             {
22543             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22544             }
22545         template <class V>
22546         BOOST_QVM_INLINE_TRIVIAL
22547         typename enable_if_c<
22548             is_vec<V>::value && vec_traits<V>::dim>=3,
22549             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22550         _1ZZX( V const & a )
22551             {
22552             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22553             }
22554         template <class V>
22555         BOOST_QVM_INLINE_TRIVIAL
22556         typename enable_if_c<
22557             is_vec<V>::value && vec_traits<V>::dim>=3,
22558             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22559         _1ZZX( V & a )
22560             {
22561             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22562             }
22563         template <class V>
22564         BOOST_QVM_INLINE_TRIVIAL
22565         typename enable_if_c<
22566             is_vec<V>::value && vec_traits<V>::dim>=3,
22567             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22568         _0ZZX( V const & a )
22569             {
22570             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22571             }
22572         template <class V>
22573         BOOST_QVM_INLINE_TRIVIAL
22574         typename enable_if_c<
22575             is_vec<V>::value && vec_traits<V>::dim>=3,
22576             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22577         _0ZZX( V & a )
22578             {
22579             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22580             }
22581         template <class V>
22582         BOOST_QVM_INLINE_TRIVIAL
22583         typename enable_if_c<
22584             is_vec<V>::value && vec_traits<V>::dim>=4,
22585             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22586         WZZX( V const & a )
22587             {
22588             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22589             }
22590         template <class V>
22591         BOOST_QVM_INLINE_TRIVIAL
22592         typename enable_if_c<
22593             is_vec<V>::value && vec_traits<V>::dim>=4,
22594             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22595         WZZX( V & a )
22596             {
22597             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22598             }
22599         template <class V>
22600         BOOST_QVM_INLINE_TRIVIAL
22601         typename enable_if_c<
22602             is_vec<V>::value && vec_traits<V>::dim>=3,
22603             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22604         ZZZX( V const & a )
22605             {
22606             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22607             }
22608         template <class V>
22609         BOOST_QVM_INLINE_TRIVIAL
22610         typename enable_if_c<
22611             is_vec<V>::value && vec_traits<V>::dim>=3,
22612             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22613         ZZZX( V & a )
22614             {
22615             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22616             }
22617         template <class V>
22618         BOOST_QVM_INLINE_TRIVIAL
22619         typename enable_if_c<
22620             is_vec<V>::value && vec_traits<V>::dim>=3,
22621             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22622         YZZX( V const & a )
22623             {
22624             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22625             }
22626         template <class V>
22627         BOOST_QVM_INLINE_TRIVIAL
22628         typename enable_if_c<
22629             is_vec<V>::value && vec_traits<V>::dim>=3,
22630             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22631         YZZX( V & a )
22632             {
22633             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22634             }
22635         template <class V>
22636         BOOST_QVM_INLINE_TRIVIAL
22637         typename enable_if_c<
22638             is_vec<V>::value && vec_traits<V>::dim>=3,
22639             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22640         XZZX( V const & a )
22641             {
22642             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22643             }
22644         template <class V>
22645         BOOST_QVM_INLINE_TRIVIAL
22646         typename enable_if_c<
22647             is_vec<V>::value && vec_traits<V>::dim>=3,
22648             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22649         XZZX( V & a )
22650             {
22651             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22652             }
22653         template <class V>
22654         BOOST_QVM_INLINE_TRIVIAL
22655         typename enable_if_c<
22656             is_vec<V>::value && vec_traits<V>::dim>=3,
22657             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22658         _1YZX( V const & a )
22659             {
22660             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22661             }
22662         template <class V>
22663         BOOST_QVM_INLINE_TRIVIAL
22664         typename enable_if_c<
22665             is_vec<V>::value && vec_traits<V>::dim>=3,
22666             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22667         _1YZX( V & a )
22668             {
22669             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22670             }
22671         template <class V>
22672         BOOST_QVM_INLINE_TRIVIAL
22673         typename enable_if_c<
22674             is_vec<V>::value && vec_traits<V>::dim>=3,
22675             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22676         _0YZX( V const & a )
22677             {
22678             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22679             }
22680         template <class V>
22681         BOOST_QVM_INLINE_TRIVIAL
22682         typename enable_if_c<
22683             is_vec<V>::value && vec_traits<V>::dim>=3,
22684             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22685         _0YZX( V & a )
22686             {
22687             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22688             }
22689         template <class V>
22690         BOOST_QVM_INLINE_TRIVIAL
22691         typename enable_if_c<
22692             is_vec<V>::value && vec_traits<V>::dim>=4,
22693             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22694         WYZX( V const & a )
22695             {
22696             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22697             }
22698         template <class V>
22699         BOOST_QVM_INLINE_TRIVIAL
22700         typename enable_if_c<
22701             is_vec<V>::value && vec_traits<V>::dim>=4,
22702             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22703         WYZX( V & a )
22704             {
22705             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22706             }
22707         template <class V>
22708         BOOST_QVM_INLINE_TRIVIAL
22709         typename enable_if_c<
22710             is_vec<V>::value && vec_traits<V>::dim>=3,
22711             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22712         ZYZX( V const & a )
22713             {
22714             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22715             }
22716         template <class V>
22717         BOOST_QVM_INLINE_TRIVIAL
22718         typename enable_if_c<
22719             is_vec<V>::value && vec_traits<V>::dim>=3,
22720             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22721         ZYZX( V & a )
22722             {
22723             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22724             }
22725         template <class V>
22726         BOOST_QVM_INLINE_TRIVIAL
22727         typename enable_if_c<
22728             is_vec<V>::value && vec_traits<V>::dim>=3,
22729             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22730         YYZX( V const & a )
22731             {
22732             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22733             }
22734         template <class V>
22735         BOOST_QVM_INLINE_TRIVIAL
22736         typename enable_if_c<
22737             is_vec<V>::value && vec_traits<V>::dim>=3,
22738             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22739         YYZX( V & a )
22740             {
22741             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22742             }
22743         template <class V>
22744         BOOST_QVM_INLINE_TRIVIAL
22745         typename enable_if_c<
22746             is_vec<V>::value && vec_traits<V>::dim>=3,
22747             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22748         XYZX( V const & a )
22749             {
22750             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22751             }
22752         template <class V>
22753         BOOST_QVM_INLINE_TRIVIAL
22754         typename enable_if_c<
22755             is_vec<V>::value && vec_traits<V>::dim>=3,
22756             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22757         XYZX( V & a )
22758             {
22759             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22760             }
22761         template <class V>
22762         BOOST_QVM_INLINE_TRIVIAL
22763         typename enable_if_c<
22764             is_vec<V>::value && vec_traits<V>::dim>=3,
22765             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22766         _1XZX( V const & a )
22767             {
22768             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22769             }
22770         template <class V>
22771         BOOST_QVM_INLINE_TRIVIAL
22772         typename enable_if_c<
22773             is_vec<V>::value && vec_traits<V>::dim>=3,
22774             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22775         _1XZX( V & a )
22776             {
22777             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22778             }
22779         template <class V>
22780         BOOST_QVM_INLINE_TRIVIAL
22781         typename enable_if_c<
22782             is_vec<V>::value && vec_traits<V>::dim>=3,
22783             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22784         _0XZX( V const & a )
22785             {
22786             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22787             }
22788         template <class V>
22789         BOOST_QVM_INLINE_TRIVIAL
22790         typename enable_if_c<
22791             is_vec<V>::value && vec_traits<V>::dim>=3,
22792             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22793         _0XZX( V & a )
22794             {
22795             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22796             }
22797         template <class V>
22798         BOOST_QVM_INLINE_TRIVIAL
22799         typename enable_if_c<
22800             is_vec<V>::value && vec_traits<V>::dim>=4,
22801             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22802         WXZX( V const & a )
22803             {
22804             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22805             }
22806         template <class V>
22807         BOOST_QVM_INLINE_TRIVIAL
22808         typename enable_if_c<
22809             is_vec<V>::value && vec_traits<V>::dim>=4,
22810             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22811         WXZX( V & a )
22812             {
22813             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22814             }
22815         template <class V>
22816         BOOST_QVM_INLINE_TRIVIAL
22817         typename enable_if_c<
22818             is_vec<V>::value && vec_traits<V>::dim>=3,
22819             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22820         ZXZX( V const & a )
22821             {
22822             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22823             }
22824         template <class V>
22825         BOOST_QVM_INLINE_TRIVIAL
22826         typename enable_if_c<
22827             is_vec<V>::value && vec_traits<V>::dim>=3,
22828             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22829         ZXZX( V & a )
22830             {
22831             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22832             }
22833         template <class V>
22834         BOOST_QVM_INLINE_TRIVIAL
22835         typename enable_if_c<
22836             is_vec<V>::value && vec_traits<V>::dim>=3,
22837             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22838         YXZX( V const & a )
22839             {
22840             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22841             }
22842         template <class V>
22843         BOOST_QVM_INLINE_TRIVIAL
22844         typename enable_if_c<
22845             is_vec<V>::value && vec_traits<V>::dim>=3,
22846             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22847         YXZX( V & a )
22848             {
22849             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22850             }
22851         template <class V>
22852         BOOST_QVM_INLINE_TRIVIAL
22853         typename enable_if_c<
22854             is_vec<V>::value && vec_traits<V>::dim>=3,
22855             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22856         XXZX( V const & a )
22857             {
22858             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22859             }
22860         template <class V>
22861         BOOST_QVM_INLINE_TRIVIAL
22862         typename enable_if_c<
22863             is_vec<V>::value && vec_traits<V>::dim>=3,
22864             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>::type
22865         XXZX( V & a )
22866             {
22867             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22868             }
22869         template <class V>
22870         BOOST_QVM_INLINE_TRIVIAL
22871         typename enable_if_c<
22872             is_vec<V>::value && vec_traits<V>::dim>=2,
22873             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22874         _11YX( V const & a )
22875             {
22876             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22877             }
22878         template <class V>
22879         BOOST_QVM_INLINE_TRIVIAL
22880         typename enable_if_c<
22881             is_vec<V>::value && vec_traits<V>::dim>=2,
22882             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
22883         _11YX( V & a )
22884             {
22885             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22886             }
22887         template <class V>
22888         BOOST_QVM_INLINE_TRIVIAL
22889         typename enable_if_c<
22890             is_vec<V>::value && vec_traits<V>::dim>=2,
22891             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22892         _01YX( V const & a )
22893             {
22894             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22895             }
22896         template <class V>
22897         BOOST_QVM_INLINE_TRIVIAL
22898         typename enable_if_c<
22899             is_vec<V>::value && vec_traits<V>::dim>=2,
22900             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
22901         _01YX( V & a )
22902             {
22903             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22904             }
22905         template <class V>
22906         BOOST_QVM_INLINE_TRIVIAL
22907         typename enable_if_c<
22908             is_vec<V>::value && vec_traits<V>::dim>=4,
22909             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22910         W1YX( V const & a )
22911             {
22912             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22913             }
22914         template <class V>
22915         BOOST_QVM_INLINE_TRIVIAL
22916         typename enable_if_c<
22917             is_vec<V>::value && vec_traits<V>::dim>=4,
22918             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
22919         W1YX( V & a )
22920             {
22921             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22922             }
22923         template <class V>
22924         BOOST_QVM_INLINE_TRIVIAL
22925         typename enable_if_c<
22926             is_vec<V>::value && vec_traits<V>::dim>=3,
22927             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22928         Z1YX( V const & a )
22929             {
22930             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22931             }
22932         template <class V>
22933         BOOST_QVM_INLINE_TRIVIAL
22934         typename enable_if_c<
22935             is_vec<V>::value && vec_traits<V>::dim>=3,
22936             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
22937         Z1YX( V & a )
22938             {
22939             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22940             }
22941         template <class V>
22942         BOOST_QVM_INLINE_TRIVIAL
22943         typename enable_if_c<
22944             is_vec<V>::value && vec_traits<V>::dim>=2,
22945             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22946         Y1YX( V const & a )
22947             {
22948             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22949             }
22950         template <class V>
22951         BOOST_QVM_INLINE_TRIVIAL
22952         typename enable_if_c<
22953             is_vec<V>::value && vec_traits<V>::dim>=2,
22954             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
22955         Y1YX( V & a )
22956             {
22957             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22958             }
22959         template <class V>
22960         BOOST_QVM_INLINE_TRIVIAL
22961         typename enable_if_c<
22962             is_vec<V>::value && vec_traits<V>::dim>=2,
22963             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22964         X1YX( V const & a )
22965             {
22966             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22967             }
22968         template <class V>
22969         BOOST_QVM_INLINE_TRIVIAL
22970         typename enable_if_c<
22971             is_vec<V>::value && vec_traits<V>::dim>=2,
22972             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
22973         X1YX( V & a )
22974             {
22975             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22976             }
22977         template <class V>
22978         BOOST_QVM_INLINE_TRIVIAL
22979         typename enable_if_c<
22980             is_vec<V>::value && vec_traits<V>::dim>=2,
22981             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
22982         _10YX( V const & a )
22983             {
22984             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
22985             }
22986         template <class V>
22987         BOOST_QVM_INLINE_TRIVIAL
22988         typename enable_if_c<
22989             is_vec<V>::value && vec_traits<V>::dim>=2,
22990             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
22991         _10YX( V & a )
22992             {
22993             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
22994             }
22995         template <class V>
22996         BOOST_QVM_INLINE_TRIVIAL
22997         typename enable_if_c<
22998             is_vec<V>::value && vec_traits<V>::dim>=2,
22999             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23000         _00YX( V const & a )
23001             {
23002             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23003             }
23004         template <class V>
23005         BOOST_QVM_INLINE_TRIVIAL
23006         typename enable_if_c<
23007             is_vec<V>::value && vec_traits<V>::dim>=2,
23008             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23009         _00YX( V & a )
23010             {
23011             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23012             }
23013         template <class V>
23014         BOOST_QVM_INLINE_TRIVIAL
23015         typename enable_if_c<
23016             is_vec<V>::value && vec_traits<V>::dim>=4,
23017             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23018         W0YX( V const & a )
23019             {
23020             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23021             }
23022         template <class V>
23023         BOOST_QVM_INLINE_TRIVIAL
23024         typename enable_if_c<
23025             is_vec<V>::value && vec_traits<V>::dim>=4,
23026             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23027         W0YX( V & a )
23028             {
23029             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23030             }
23031         template <class V>
23032         BOOST_QVM_INLINE_TRIVIAL
23033         typename enable_if_c<
23034             is_vec<V>::value && vec_traits<V>::dim>=3,
23035             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23036         Z0YX( V const & a )
23037             {
23038             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23039             }
23040         template <class V>
23041         BOOST_QVM_INLINE_TRIVIAL
23042         typename enable_if_c<
23043             is_vec<V>::value && vec_traits<V>::dim>=3,
23044             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23045         Z0YX( V & a )
23046             {
23047             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23048             }
23049         template <class V>
23050         BOOST_QVM_INLINE_TRIVIAL
23051         typename enable_if_c<
23052             is_vec<V>::value && vec_traits<V>::dim>=2,
23053             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23054         Y0YX( V const & a )
23055             {
23056             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23057             }
23058         template <class V>
23059         BOOST_QVM_INLINE_TRIVIAL
23060         typename enable_if_c<
23061             is_vec<V>::value && vec_traits<V>::dim>=2,
23062             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23063         Y0YX( V & a )
23064             {
23065             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23066             }
23067         template <class V>
23068         BOOST_QVM_INLINE_TRIVIAL
23069         typename enable_if_c<
23070             is_vec<V>::value && vec_traits<V>::dim>=2,
23071             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23072         X0YX( V const & a )
23073             {
23074             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23075             }
23076         template <class V>
23077         BOOST_QVM_INLINE_TRIVIAL
23078         typename enable_if_c<
23079             is_vec<V>::value && vec_traits<V>::dim>=2,
23080             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23081         X0YX( V & a )
23082             {
23083             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23084             }
23085         template <class V>
23086         BOOST_QVM_INLINE_TRIVIAL
23087         typename enable_if_c<
23088             is_vec<V>::value && vec_traits<V>::dim>=4,
23089             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23090         _1WYX( V const & a )
23091             {
23092             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23093             }
23094         template <class V>
23095         BOOST_QVM_INLINE_TRIVIAL
23096         typename enable_if_c<
23097             is_vec<V>::value && vec_traits<V>::dim>=4,
23098             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23099         _1WYX( V & a )
23100             {
23101             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23102             }
23103         template <class V>
23104         BOOST_QVM_INLINE_TRIVIAL
23105         typename enable_if_c<
23106             is_vec<V>::value && vec_traits<V>::dim>=4,
23107             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23108         _0WYX( V const & a )
23109             {
23110             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23111             }
23112         template <class V>
23113         BOOST_QVM_INLINE_TRIVIAL
23114         typename enable_if_c<
23115             is_vec<V>::value && vec_traits<V>::dim>=4,
23116             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23117         _0WYX( V & a )
23118             {
23119             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23120             }
23121         template <class V>
23122         BOOST_QVM_INLINE_TRIVIAL
23123         typename enable_if_c<
23124             is_vec<V>::value && vec_traits<V>::dim>=4,
23125             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23126         WWYX( V const & a )
23127             {
23128             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23129             }
23130         template <class V>
23131         BOOST_QVM_INLINE_TRIVIAL
23132         typename enable_if_c<
23133             is_vec<V>::value && vec_traits<V>::dim>=4,
23134             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23135         WWYX( V & a )
23136             {
23137             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23138             }
23139         template <class V>
23140         BOOST_QVM_INLINE_TRIVIAL
23141         typename enable_if_c<
23142             is_vec<V>::value && vec_traits<V>::dim>=4,
23143             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23144         ZWYX( V const & a )
23145             {
23146             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23147             }
23148         template <class V>
23149         BOOST_QVM_INLINE_TRIVIAL
23150         typename enable_if_c<
23151             is_vec<V>::value && vec_traits<V>::dim>=4,
23152             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23153         ZWYX( V & a )
23154             {
23155             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23156             }
23157         template <class V>
23158         BOOST_QVM_INLINE_TRIVIAL
23159         typename enable_if_c<
23160             is_vec<V>::value && vec_traits<V>::dim>=4,
23161             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23162         YWYX( V const & a )
23163             {
23164             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23165             }
23166         template <class V>
23167         BOOST_QVM_INLINE_TRIVIAL
23168         typename enable_if_c<
23169             is_vec<V>::value && vec_traits<V>::dim>=4,
23170             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23171         YWYX( V & a )
23172             {
23173             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23174             }
23175         template <class V>
23176         BOOST_QVM_INLINE_TRIVIAL
23177         typename enable_if_c<
23178             is_vec<V>::value && vec_traits<V>::dim>=4,
23179             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23180         XWYX( V const & a )
23181             {
23182             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23183             }
23184         template <class V>
23185         BOOST_QVM_INLINE_TRIVIAL
23186         typename enable_if_c<
23187             is_vec<V>::value && vec_traits<V>::dim>=4,
23188             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23189         XWYX( V & a )
23190             {
23191             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23192             }
23193         template <class V>
23194         BOOST_QVM_INLINE_TRIVIAL
23195         typename enable_if_c<
23196             is_vec<V>::value && vec_traits<V>::dim>=3,
23197             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23198         _1ZYX( V const & a )
23199             {
23200             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23201             }
23202         template <class V>
23203         BOOST_QVM_INLINE_TRIVIAL
23204         typename enable_if_c<
23205             is_vec<V>::value && vec_traits<V>::dim>=3,
23206             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23207         _1ZYX( V & a )
23208             {
23209             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23210             }
23211         template <class V>
23212         BOOST_QVM_INLINE_TRIVIAL
23213         typename enable_if_c<
23214             is_vec<V>::value && vec_traits<V>::dim>=3,
23215             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23216         _0ZYX( V const & a )
23217             {
23218             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23219             }
23220         template <class V>
23221         BOOST_QVM_INLINE_TRIVIAL
23222         typename enable_if_c<
23223             is_vec<V>::value && vec_traits<V>::dim>=3,
23224             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23225         _0ZYX( V & a )
23226             {
23227             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23228             }
23229         template <class V>
23230         BOOST_QVM_INLINE_TRIVIAL
23231         typename enable_if_c<
23232             is_vec<V>::value && vec_traits<V>::dim>=4,
23233             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23234         WZYX( V const & a )
23235             {
23236             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23237             }
23238         template <class V>
23239         BOOST_QVM_INLINE_TRIVIAL
23240         typename enable_if_c<
23241             is_vec<V>::value && vec_traits<V>::dim>=4,
23242             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23243         WZYX( V & a )
23244             {
23245             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23246             }
23247         template <class V>
23248         BOOST_QVM_INLINE_TRIVIAL
23249         typename enable_if_c<
23250             is_vec<V>::value && vec_traits<V>::dim>=3,
23251             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23252         ZZYX( V const & a )
23253             {
23254             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23255             }
23256         template <class V>
23257         BOOST_QVM_INLINE_TRIVIAL
23258         typename enable_if_c<
23259             is_vec<V>::value && vec_traits<V>::dim>=3,
23260             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23261         ZZYX( V & a )
23262             {
23263             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23264             }
23265         template <class V>
23266         BOOST_QVM_INLINE_TRIVIAL
23267         typename enable_if_c<
23268             is_vec<V>::value && vec_traits<V>::dim>=3,
23269             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23270         YZYX( V const & a )
23271             {
23272             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23273             }
23274         template <class V>
23275         BOOST_QVM_INLINE_TRIVIAL
23276         typename enable_if_c<
23277             is_vec<V>::value && vec_traits<V>::dim>=3,
23278             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23279         YZYX( V & a )
23280             {
23281             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23282             }
23283         template <class V>
23284         BOOST_QVM_INLINE_TRIVIAL
23285         typename enable_if_c<
23286             is_vec<V>::value && vec_traits<V>::dim>=3,
23287             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23288         XZYX( V const & a )
23289             {
23290             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23291             }
23292         template <class V>
23293         BOOST_QVM_INLINE_TRIVIAL
23294         typename enable_if_c<
23295             is_vec<V>::value && vec_traits<V>::dim>=3,
23296             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23297         XZYX( V & a )
23298             {
23299             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23300             }
23301         template <class V>
23302         BOOST_QVM_INLINE_TRIVIAL
23303         typename enable_if_c<
23304             is_vec<V>::value && vec_traits<V>::dim>=2,
23305             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23306         _1YYX( V const & a )
23307             {
23308             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23309             }
23310         template <class V>
23311         BOOST_QVM_INLINE_TRIVIAL
23312         typename enable_if_c<
23313             is_vec<V>::value && vec_traits<V>::dim>=2,
23314             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23315         _1YYX( V & a )
23316             {
23317             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23318             }
23319         template <class V>
23320         BOOST_QVM_INLINE_TRIVIAL
23321         typename enable_if_c<
23322             is_vec<V>::value && vec_traits<V>::dim>=2,
23323             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23324         _0YYX( V const & a )
23325             {
23326             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23327             }
23328         template <class V>
23329         BOOST_QVM_INLINE_TRIVIAL
23330         typename enable_if_c<
23331             is_vec<V>::value && vec_traits<V>::dim>=2,
23332             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23333         _0YYX( V & a )
23334             {
23335             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23336             }
23337         template <class V>
23338         BOOST_QVM_INLINE_TRIVIAL
23339         typename enable_if_c<
23340             is_vec<V>::value && vec_traits<V>::dim>=4,
23341             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23342         WYYX( V const & a )
23343             {
23344             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23345             }
23346         template <class V>
23347         BOOST_QVM_INLINE_TRIVIAL
23348         typename enable_if_c<
23349             is_vec<V>::value && vec_traits<V>::dim>=4,
23350             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23351         WYYX( V & a )
23352             {
23353             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23354             }
23355         template <class V>
23356         BOOST_QVM_INLINE_TRIVIAL
23357         typename enable_if_c<
23358             is_vec<V>::value && vec_traits<V>::dim>=3,
23359             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23360         ZYYX( V const & a )
23361             {
23362             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23363             }
23364         template <class V>
23365         BOOST_QVM_INLINE_TRIVIAL
23366         typename enable_if_c<
23367             is_vec<V>::value && vec_traits<V>::dim>=3,
23368             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23369         ZYYX( V & a )
23370             {
23371             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23372             }
23373         template <class V>
23374         BOOST_QVM_INLINE_TRIVIAL
23375         typename enable_if_c<
23376             is_vec<V>::value && vec_traits<V>::dim>=2,
23377             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23378         YYYX( V const & a )
23379             {
23380             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23381             }
23382         template <class V>
23383         BOOST_QVM_INLINE_TRIVIAL
23384         typename enable_if_c<
23385             is_vec<V>::value && vec_traits<V>::dim>=2,
23386             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23387         YYYX( V & a )
23388             {
23389             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23390             }
23391         template <class V>
23392         BOOST_QVM_INLINE_TRIVIAL
23393         typename enable_if_c<
23394             is_vec<V>::value && vec_traits<V>::dim>=2,
23395             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23396         XYYX( V const & a )
23397             {
23398             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23399             }
23400         template <class V>
23401         BOOST_QVM_INLINE_TRIVIAL
23402         typename enable_if_c<
23403             is_vec<V>::value && vec_traits<V>::dim>=2,
23404             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23405         XYYX( V & a )
23406             {
23407             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23408             }
23409         template <class V>
23410         BOOST_QVM_INLINE_TRIVIAL
23411         typename enable_if_c<
23412             is_vec<V>::value && vec_traits<V>::dim>=2,
23413             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23414         _1XYX( V const & a )
23415             {
23416             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23417             }
23418         template <class V>
23419         BOOST_QVM_INLINE_TRIVIAL
23420         typename enable_if_c<
23421             is_vec<V>::value && vec_traits<V>::dim>=2,
23422             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23423         _1XYX( V & a )
23424             {
23425             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23426             }
23427         template <class V>
23428         BOOST_QVM_INLINE_TRIVIAL
23429         typename enable_if_c<
23430             is_vec<V>::value && vec_traits<V>::dim>=2,
23431             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23432         _0XYX( V const & a )
23433             {
23434             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23435             }
23436         template <class V>
23437         BOOST_QVM_INLINE_TRIVIAL
23438         typename enable_if_c<
23439             is_vec<V>::value && vec_traits<V>::dim>=2,
23440             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23441         _0XYX( V & a )
23442             {
23443             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23444             }
23445         template <class V>
23446         BOOST_QVM_INLINE_TRIVIAL
23447         typename enable_if_c<
23448             is_vec<V>::value && vec_traits<V>::dim>=4,
23449             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23450         WXYX( V const & a )
23451             {
23452             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23453             }
23454         template <class V>
23455         BOOST_QVM_INLINE_TRIVIAL
23456         typename enable_if_c<
23457             is_vec<V>::value && vec_traits<V>::dim>=4,
23458             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23459         WXYX( V & a )
23460             {
23461             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23462             }
23463         template <class V>
23464         BOOST_QVM_INLINE_TRIVIAL
23465         typename enable_if_c<
23466             is_vec<V>::value && vec_traits<V>::dim>=3,
23467             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23468         ZXYX( V const & a )
23469             {
23470             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23471             }
23472         template <class V>
23473         BOOST_QVM_INLINE_TRIVIAL
23474         typename enable_if_c<
23475             is_vec<V>::value && vec_traits<V>::dim>=3,
23476             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23477         ZXYX( V & a )
23478             {
23479             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23480             }
23481         template <class V>
23482         BOOST_QVM_INLINE_TRIVIAL
23483         typename enable_if_c<
23484             is_vec<V>::value && vec_traits<V>::dim>=2,
23485             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23486         YXYX( V const & a )
23487             {
23488             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23489             }
23490         template <class V>
23491         BOOST_QVM_INLINE_TRIVIAL
23492         typename enable_if_c<
23493             is_vec<V>::value && vec_traits<V>::dim>=2,
23494             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23495         YXYX( V & a )
23496             {
23497             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23498             }
23499         template <class V>
23500         BOOST_QVM_INLINE_TRIVIAL
23501         typename enable_if_c<
23502             is_vec<V>::value && vec_traits<V>::dim>=2,
23503             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23504         XXYX( V const & a )
23505             {
23506             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23507             }
23508         template <class V>
23509         BOOST_QVM_INLINE_TRIVIAL
23510         typename enable_if_c<
23511             is_vec<V>::value && vec_traits<V>::dim>=2,
23512             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>::type
23513         XXYX( V & a )
23514             {
23515             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23516             }
23517         template <class V>
23518         BOOST_QVM_INLINE_TRIVIAL
23519         typename enable_if_c<
23520             is_vec<V>::value && vec_traits<V>::dim>=1,
23521             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23522         _11XX( V const & a )
23523             {
23524             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23525             }
23526         template <class S>
23527         BOOST_QVM_INLINE_TRIVIAL
23528         typename enable_if_c<
23529             is_scalar<S>::value,
23530             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_11XX(S const & a)23531         _11XX( S const & a )
23532             {
23533             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23534             }
23535         template <class V>
23536         BOOST_QVM_INLINE_TRIVIAL
23537         typename enable_if_c<
23538             is_vec<V>::value && vec_traits<V>::dim>=1,
23539             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23540         _11XX( V & a )
23541             {
23542             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23543             }
23544         template <class S>
23545         BOOST_QVM_INLINE_TRIVIAL
23546         typename enable_if_c<
23547             is_scalar<S>::value,
23548             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_11XX(S & a)23549         _11XX( S & a )
23550             {
23551             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23552             }
23553         template <class V>
23554         BOOST_QVM_INLINE_TRIVIAL
23555         typename enable_if_c<
23556             is_vec<V>::value && vec_traits<V>::dim>=1,
23557             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23558         _01XX( V const & a )
23559             {
23560             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23561             }
23562         template <class S>
23563         BOOST_QVM_INLINE_TRIVIAL
23564         typename enable_if_c<
23565             is_scalar<S>::value,
23566             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_01XX(S const & a)23567         _01XX( S const & a )
23568             {
23569             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23570             }
23571         template <class V>
23572         BOOST_QVM_INLINE_TRIVIAL
23573         typename enable_if_c<
23574             is_vec<V>::value && vec_traits<V>::dim>=1,
23575             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23576         _01XX( V & a )
23577             {
23578             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23579             }
23580         template <class S>
23581         BOOST_QVM_INLINE_TRIVIAL
23582         typename enable_if_c<
23583             is_scalar<S>::value,
23584             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_01XX(S & a)23585         _01XX( S & a )
23586             {
23587             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23588             }
23589         template <class V>
23590         BOOST_QVM_INLINE_TRIVIAL
23591         typename enable_if_c<
23592             is_vec<V>::value && vec_traits<V>::dim>=4,
23593             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23594         W1XX( V const & a )
23595             {
23596             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23597             }
23598         template <class V>
23599         BOOST_QVM_INLINE_TRIVIAL
23600         typename enable_if_c<
23601             is_vec<V>::value && vec_traits<V>::dim>=4,
23602             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23603         W1XX( V & a )
23604             {
23605             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23606             }
23607         template <class V>
23608         BOOST_QVM_INLINE_TRIVIAL
23609         typename enable_if_c<
23610             is_vec<V>::value && vec_traits<V>::dim>=3,
23611             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23612         Z1XX( V const & a )
23613             {
23614             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23615             }
23616         template <class V>
23617         BOOST_QVM_INLINE_TRIVIAL
23618         typename enable_if_c<
23619             is_vec<V>::value && vec_traits<V>::dim>=3,
23620             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23621         Z1XX( V & a )
23622             {
23623             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23624             }
23625         template <class V>
23626         BOOST_QVM_INLINE_TRIVIAL
23627         typename enable_if_c<
23628             is_vec<V>::value && vec_traits<V>::dim>=2,
23629             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23630         Y1XX( V const & a )
23631             {
23632             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23633             }
23634         template <class V>
23635         BOOST_QVM_INLINE_TRIVIAL
23636         typename enable_if_c<
23637             is_vec<V>::value && vec_traits<V>::dim>=2,
23638             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23639         Y1XX( V & a )
23640             {
23641             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23642             }
23643         template <class V>
23644         BOOST_QVM_INLINE_TRIVIAL
23645         typename enable_if_c<
23646             is_vec<V>::value && vec_traits<V>::dim>=1,
23647             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23648         X1XX( V const & a )
23649             {
23650             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23651             }
23652         template <class S>
23653         BOOST_QVM_INLINE_TRIVIAL
23654         typename enable_if_c<
23655             is_scalar<S>::value,
23656             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X1XX(S const & a)23657         X1XX( S const & a )
23658             {
23659             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23660             }
23661         template <class V>
23662         BOOST_QVM_INLINE_TRIVIAL
23663         typename enable_if_c<
23664             is_vec<V>::value && vec_traits<V>::dim>=1,
23665             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23666         X1XX( V & a )
23667             {
23668             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23669             }
23670         template <class S>
23671         BOOST_QVM_INLINE_TRIVIAL
23672         typename enable_if_c<
23673             is_scalar<S>::value,
23674             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
X1XX(S & a)23675         X1XX( S & a )
23676             {
23677             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23678             }
23679         template <class V>
23680         BOOST_QVM_INLINE_TRIVIAL
23681         typename enable_if_c<
23682             is_vec<V>::value && vec_traits<V>::dim>=1,
23683             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23684         _10XX( V const & a )
23685             {
23686             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23687             }
23688         template <class S>
23689         BOOST_QVM_INLINE_TRIVIAL
23690         typename enable_if_c<
23691             is_scalar<S>::value,
23692             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_10XX(S const & a)23693         _10XX( S const & a )
23694             {
23695             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23696             }
23697         template <class V>
23698         BOOST_QVM_INLINE_TRIVIAL
23699         typename enable_if_c<
23700             is_vec<V>::value && vec_traits<V>::dim>=1,
23701             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23702         _10XX( V & a )
23703             {
23704             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23705             }
23706         template <class S>
23707         BOOST_QVM_INLINE_TRIVIAL
23708         typename enable_if_c<
23709             is_scalar<S>::value,
23710             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_10XX(S & a)23711         _10XX( S & a )
23712             {
23713             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23714             }
23715         template <class V>
23716         BOOST_QVM_INLINE_TRIVIAL
23717         typename enable_if_c<
23718             is_vec<V>::value && vec_traits<V>::dim>=1,
23719             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23720         _00XX( V const & a )
23721             {
23722             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23723             }
23724         template <class S>
23725         BOOST_QVM_INLINE_TRIVIAL
23726         typename enable_if_c<
23727             is_scalar<S>::value,
23728             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_00XX(S const & a)23729         _00XX( S const & a )
23730             {
23731             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23732             }
23733         template <class V>
23734         BOOST_QVM_INLINE_TRIVIAL
23735         typename enable_if_c<
23736             is_vec<V>::value && vec_traits<V>::dim>=1,
23737             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23738         _00XX( V & a )
23739             {
23740             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23741             }
23742         template <class S>
23743         BOOST_QVM_INLINE_TRIVIAL
23744         typename enable_if_c<
23745             is_scalar<S>::value,
23746             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_00XX(S & a)23747         _00XX( S & a )
23748             {
23749             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23750             }
23751         template <class V>
23752         BOOST_QVM_INLINE_TRIVIAL
23753         typename enable_if_c<
23754             is_vec<V>::value && vec_traits<V>::dim>=4,
23755             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23756         W0XX( V const & a )
23757             {
23758             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23759             }
23760         template <class V>
23761         BOOST_QVM_INLINE_TRIVIAL
23762         typename enable_if_c<
23763             is_vec<V>::value && vec_traits<V>::dim>=4,
23764             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23765         W0XX( V & a )
23766             {
23767             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23768             }
23769         template <class V>
23770         BOOST_QVM_INLINE_TRIVIAL
23771         typename enable_if_c<
23772             is_vec<V>::value && vec_traits<V>::dim>=3,
23773             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23774         Z0XX( V const & a )
23775             {
23776             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23777             }
23778         template <class V>
23779         BOOST_QVM_INLINE_TRIVIAL
23780         typename enable_if_c<
23781             is_vec<V>::value && vec_traits<V>::dim>=3,
23782             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23783         Z0XX( V & a )
23784             {
23785             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23786             }
23787         template <class V>
23788         BOOST_QVM_INLINE_TRIVIAL
23789         typename enable_if_c<
23790             is_vec<V>::value && vec_traits<V>::dim>=2,
23791             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23792         Y0XX( V const & a )
23793             {
23794             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23795             }
23796         template <class V>
23797         BOOST_QVM_INLINE_TRIVIAL
23798         typename enable_if_c<
23799             is_vec<V>::value && vec_traits<V>::dim>=2,
23800             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23801         Y0XX( V & a )
23802             {
23803             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23804             }
23805         template <class V>
23806         BOOST_QVM_INLINE_TRIVIAL
23807         typename enable_if_c<
23808             is_vec<V>::value && vec_traits<V>::dim>=1,
23809             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23810         X0XX( V const & a )
23811             {
23812             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23813             }
23814         template <class S>
23815         BOOST_QVM_INLINE_TRIVIAL
23816         typename enable_if_c<
23817             is_scalar<S>::value,
23818             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
X0XX(S const & a)23819         X0XX( S const & a )
23820             {
23821             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23822             }
23823         template <class V>
23824         BOOST_QVM_INLINE_TRIVIAL
23825         typename enable_if_c<
23826             is_vec<V>::value && vec_traits<V>::dim>=1,
23827             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23828         X0XX( V & a )
23829             {
23830             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23831             }
23832         template <class S>
23833         BOOST_QVM_INLINE_TRIVIAL
23834         typename enable_if_c<
23835             is_scalar<S>::value,
23836             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
X0XX(S & a)23837         X0XX( S & a )
23838             {
23839             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23840             }
23841         template <class V>
23842         BOOST_QVM_INLINE_TRIVIAL
23843         typename enable_if_c<
23844             is_vec<V>::value && vec_traits<V>::dim>=4,
23845             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23846         _1WXX( V const & a )
23847             {
23848             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23849             }
23850         template <class V>
23851         BOOST_QVM_INLINE_TRIVIAL
23852         typename enable_if_c<
23853             is_vec<V>::value && vec_traits<V>::dim>=4,
23854             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23855         _1WXX( V & a )
23856             {
23857             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23858             }
23859         template <class V>
23860         BOOST_QVM_INLINE_TRIVIAL
23861         typename enable_if_c<
23862             is_vec<V>::value && vec_traits<V>::dim>=4,
23863             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23864         _0WXX( V const & a )
23865             {
23866             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23867             }
23868         template <class V>
23869         BOOST_QVM_INLINE_TRIVIAL
23870         typename enable_if_c<
23871             is_vec<V>::value && vec_traits<V>::dim>=4,
23872             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23873         _0WXX( V & a )
23874             {
23875             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23876             }
23877         template <class V>
23878         BOOST_QVM_INLINE_TRIVIAL
23879         typename enable_if_c<
23880             is_vec<V>::value && vec_traits<V>::dim>=4,
23881             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23882         WWXX( V const & a )
23883             {
23884             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23885             }
23886         template <class V>
23887         BOOST_QVM_INLINE_TRIVIAL
23888         typename enable_if_c<
23889             is_vec<V>::value && vec_traits<V>::dim>=4,
23890             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23891         WWXX( V & a )
23892             {
23893             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23894             }
23895         template <class V>
23896         BOOST_QVM_INLINE_TRIVIAL
23897         typename enable_if_c<
23898             is_vec<V>::value && vec_traits<V>::dim>=4,
23899             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23900         ZWXX( V const & a )
23901             {
23902             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23903             }
23904         template <class V>
23905         BOOST_QVM_INLINE_TRIVIAL
23906         typename enable_if_c<
23907             is_vec<V>::value && vec_traits<V>::dim>=4,
23908             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23909         ZWXX( V & a )
23910             {
23911             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23912             }
23913         template <class V>
23914         BOOST_QVM_INLINE_TRIVIAL
23915         typename enable_if_c<
23916             is_vec<V>::value && vec_traits<V>::dim>=4,
23917             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23918         YWXX( V const & a )
23919             {
23920             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23921             }
23922         template <class V>
23923         BOOST_QVM_INLINE_TRIVIAL
23924         typename enable_if_c<
23925             is_vec<V>::value && vec_traits<V>::dim>=4,
23926             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23927         YWXX( V & a )
23928             {
23929             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23930             }
23931         template <class V>
23932         BOOST_QVM_INLINE_TRIVIAL
23933         typename enable_if_c<
23934             is_vec<V>::value && vec_traits<V>::dim>=4,
23935             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23936         XWXX( V const & a )
23937             {
23938             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23939             }
23940         template <class V>
23941         BOOST_QVM_INLINE_TRIVIAL
23942         typename enable_if_c<
23943             is_vec<V>::value && vec_traits<V>::dim>=4,
23944             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23945         XWXX( V & a )
23946             {
23947             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23948             }
23949         template <class V>
23950         BOOST_QVM_INLINE_TRIVIAL
23951         typename enable_if_c<
23952             is_vec<V>::value && vec_traits<V>::dim>=3,
23953             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23954         _1ZXX( V const & a )
23955             {
23956             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23957             }
23958         template <class V>
23959         BOOST_QVM_INLINE_TRIVIAL
23960         typename enable_if_c<
23961             is_vec<V>::value && vec_traits<V>::dim>=3,
23962             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23963         _1ZXX( V & a )
23964             {
23965             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23966             }
23967         template <class V>
23968         BOOST_QVM_INLINE_TRIVIAL
23969         typename enable_if_c<
23970             is_vec<V>::value && vec_traits<V>::dim>=3,
23971             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23972         _0ZXX( V const & a )
23973             {
23974             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23975             }
23976         template <class V>
23977         BOOST_QVM_INLINE_TRIVIAL
23978         typename enable_if_c<
23979             is_vec<V>::value && vec_traits<V>::dim>=3,
23980             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23981         _0ZXX( V & a )
23982             {
23983             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
23984             }
23985         template <class V>
23986         BOOST_QVM_INLINE_TRIVIAL
23987         typename enable_if_c<
23988             is_vec<V>::value && vec_traits<V>::dim>=4,
23989             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
23990         WZXX( V const & a )
23991             {
23992             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
23993             }
23994         template <class V>
23995         BOOST_QVM_INLINE_TRIVIAL
23996         typename enable_if_c<
23997             is_vec<V>::value && vec_traits<V>::dim>=4,
23998             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
23999         WZXX( V & a )
24000             {
24001             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24002             }
24003         template <class V>
24004         BOOST_QVM_INLINE_TRIVIAL
24005         typename enable_if_c<
24006             is_vec<V>::value && vec_traits<V>::dim>=3,
24007             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24008         ZZXX( V const & a )
24009             {
24010             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24011             }
24012         template <class V>
24013         BOOST_QVM_INLINE_TRIVIAL
24014         typename enable_if_c<
24015             is_vec<V>::value && vec_traits<V>::dim>=3,
24016             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24017         ZZXX( V & a )
24018             {
24019             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24020             }
24021         template <class V>
24022         BOOST_QVM_INLINE_TRIVIAL
24023         typename enable_if_c<
24024             is_vec<V>::value && vec_traits<V>::dim>=3,
24025             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24026         YZXX( V const & a )
24027             {
24028             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24029             }
24030         template <class V>
24031         BOOST_QVM_INLINE_TRIVIAL
24032         typename enable_if_c<
24033             is_vec<V>::value && vec_traits<V>::dim>=3,
24034             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24035         YZXX( V & a )
24036             {
24037             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24038             }
24039         template <class V>
24040         BOOST_QVM_INLINE_TRIVIAL
24041         typename enable_if_c<
24042             is_vec<V>::value && vec_traits<V>::dim>=3,
24043             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24044         XZXX( V const & a )
24045             {
24046             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24047             }
24048         template <class V>
24049         BOOST_QVM_INLINE_TRIVIAL
24050         typename enable_if_c<
24051             is_vec<V>::value && vec_traits<V>::dim>=3,
24052             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24053         XZXX( V & a )
24054             {
24055             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24056             }
24057         template <class V>
24058         BOOST_QVM_INLINE_TRIVIAL
24059         typename enable_if_c<
24060             is_vec<V>::value && vec_traits<V>::dim>=2,
24061             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24062         _1YXX( V const & a )
24063             {
24064             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24065             }
24066         template <class V>
24067         BOOST_QVM_INLINE_TRIVIAL
24068         typename enable_if_c<
24069             is_vec<V>::value && vec_traits<V>::dim>=2,
24070             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24071         _1YXX( V & a )
24072             {
24073             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24074             }
24075         template <class V>
24076         BOOST_QVM_INLINE_TRIVIAL
24077         typename enable_if_c<
24078             is_vec<V>::value && vec_traits<V>::dim>=2,
24079             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24080         _0YXX( V const & a )
24081             {
24082             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24083             }
24084         template <class V>
24085         BOOST_QVM_INLINE_TRIVIAL
24086         typename enable_if_c<
24087             is_vec<V>::value && vec_traits<V>::dim>=2,
24088             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24089         _0YXX( V & a )
24090             {
24091             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24092             }
24093         template <class V>
24094         BOOST_QVM_INLINE_TRIVIAL
24095         typename enable_if_c<
24096             is_vec<V>::value && vec_traits<V>::dim>=4,
24097             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24098         WYXX( V const & a )
24099             {
24100             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24101             }
24102         template <class V>
24103         BOOST_QVM_INLINE_TRIVIAL
24104         typename enable_if_c<
24105             is_vec<V>::value && vec_traits<V>::dim>=4,
24106             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24107         WYXX( V & a )
24108             {
24109             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24110             }
24111         template <class V>
24112         BOOST_QVM_INLINE_TRIVIAL
24113         typename enable_if_c<
24114             is_vec<V>::value && vec_traits<V>::dim>=3,
24115             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24116         ZYXX( V const & a )
24117             {
24118             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24119             }
24120         template <class V>
24121         BOOST_QVM_INLINE_TRIVIAL
24122         typename enable_if_c<
24123             is_vec<V>::value && vec_traits<V>::dim>=3,
24124             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24125         ZYXX( V & a )
24126             {
24127             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24128             }
24129         template <class V>
24130         BOOST_QVM_INLINE_TRIVIAL
24131         typename enable_if_c<
24132             is_vec<V>::value && vec_traits<V>::dim>=2,
24133             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24134         YYXX( V const & a )
24135             {
24136             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24137             }
24138         template <class V>
24139         BOOST_QVM_INLINE_TRIVIAL
24140         typename enable_if_c<
24141             is_vec<V>::value && vec_traits<V>::dim>=2,
24142             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24143         YYXX( V & a )
24144             {
24145             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24146             }
24147         template <class V>
24148         BOOST_QVM_INLINE_TRIVIAL
24149         typename enable_if_c<
24150             is_vec<V>::value && vec_traits<V>::dim>=2,
24151             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24152         XYXX( V const & a )
24153             {
24154             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24155             }
24156         template <class V>
24157         BOOST_QVM_INLINE_TRIVIAL
24158         typename enable_if_c<
24159             is_vec<V>::value && vec_traits<V>::dim>=2,
24160             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24161         XYXX( V & a )
24162             {
24163             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24164             }
24165         template <class V>
24166         BOOST_QVM_INLINE_TRIVIAL
24167         typename enable_if_c<
24168             is_vec<V>::value && vec_traits<V>::dim>=1,
24169             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24170         _1XXX( V const & a )
24171             {
24172             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24173             }
24174         template <class S>
24175         BOOST_QVM_INLINE_TRIVIAL
24176         typename enable_if_c<
24177             is_scalar<S>::value,
24178             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_1XXX(S const & a)24179         _1XXX( S const & a )
24180             {
24181             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24182             }
24183         template <class V>
24184         BOOST_QVM_INLINE_TRIVIAL
24185         typename enable_if_c<
24186             is_vec<V>::value && vec_traits<V>::dim>=1,
24187             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24188         _1XXX( V & a )
24189             {
24190             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24191             }
24192         template <class S>
24193         BOOST_QVM_INLINE_TRIVIAL
24194         typename enable_if_c<
24195             is_scalar<S>::value,
24196             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_1XXX(S & a)24197         _1XXX( S & a )
24198             {
24199             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24200             }
24201         template <class V>
24202         BOOST_QVM_INLINE_TRIVIAL
24203         typename enable_if_c<
24204             is_vec<V>::value && vec_traits<V>::dim>=1,
24205             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24206         _0XXX( V const & a )
24207             {
24208             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24209             }
24210         template <class S>
24211         BOOST_QVM_INLINE_TRIVIAL
24212         typename enable_if_c<
24213             is_scalar<S>::value,
24214             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
_0XXX(S const & a)24215         _0XXX( S const & a )
24216             {
24217             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24218             }
24219         template <class V>
24220         BOOST_QVM_INLINE_TRIVIAL
24221         typename enable_if_c<
24222             is_vec<V>::value && vec_traits<V>::dim>=1,
24223             qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24224         _0XXX( V & a )
24225             {
24226             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24227             }
24228         template <class S>
24229         BOOST_QVM_INLINE_TRIVIAL
24230         typename enable_if_c<
24231             is_scalar<S>::value,
24232             qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
_0XXX(S & a)24233         _0XXX( S & a )
24234             {
24235             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<-1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24236             }
24237         template <class V>
24238         BOOST_QVM_INLINE_TRIVIAL
24239         typename enable_if_c<
24240             is_vec<V>::value && vec_traits<V>::dim>=4,
24241             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24242         WXXX( V const & a )
24243             {
24244             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24245             }
24246         template <class V>
24247         BOOST_QVM_INLINE_TRIVIAL
24248         typename enable_if_c<
24249             is_vec<V>::value && vec_traits<V>::dim>=4,
24250             qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24251         WXXX( V & a )
24252             {
24253             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<3,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24254             }
24255         template <class V>
24256         BOOST_QVM_INLINE_TRIVIAL
24257         typename enable_if_c<
24258             is_vec<V>::value && vec_traits<V>::dim>=3,
24259             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24260         ZXXX( V const & a )
24261             {
24262             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24263             }
24264         template <class V>
24265         BOOST_QVM_INLINE_TRIVIAL
24266         typename enable_if_c<
24267             is_vec<V>::value && vec_traits<V>::dim>=3,
24268             qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24269         ZXXX( V & a )
24270             {
24271             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<2,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24272             }
24273         template <class V>
24274         BOOST_QVM_INLINE_TRIVIAL
24275         typename enable_if_c<
24276             is_vec<V>::value && vec_traits<V>::dim>=2,
24277             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24278         YXXX( V const & a )
24279             {
24280             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24281             }
24282         template <class V>
24283         BOOST_QVM_INLINE_TRIVIAL
24284         typename enable_if_c<
24285             is_vec<V>::value && vec_traits<V>::dim>=2,
24286             qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24287         YXXX( V & a )
24288             {
24289             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<1,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24290             }
24291         template <class V>
24292         BOOST_QVM_INLINE_TRIVIAL
24293         typename enable_if_c<
24294             is_vec<V>::value && vec_traits<V>::dim>=1,
24295             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
24296         XXXX( V const & a )
24297             {
24298             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24299             }
24300         template <class S>
24301         BOOST_QVM_INLINE_TRIVIAL
24302         typename enable_if_c<
24303             is_scalar<S>::value,
24304             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>::type
XXXX(S const & a)24305         XXXX( S const & a )
24306             {
24307             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > const &>(a);
24308             }
24309         template <class V>
24310         BOOST_QVM_INLINE_TRIVIAL
24311         typename enable_if_c<
24312             is_vec<V>::value && vec_traits<V>::dim>=1,
24313             qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
24314         XXXX( V & a )
24315             {
24316             return reinterpret_cast<qvm_detail::sw_<V,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24317             }
24318         template <class S>
24319         BOOST_QVM_INLINE_TRIVIAL
24320         typename enable_if_c<
24321             is_scalar<S>::value,
24322             qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>::type
XXXX(S & a)24323         XXXX( S & a )
24324             {
24325             return reinterpret_cast<qvm_detail::sws_<S,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0,qvm_detail::swizzle_idx<0 > > > > > &>(a);
24326             }
24327         }
24328     }
24329 
24330 #endif
24331