glam/swizzles/
vec_traits.rs1pub trait Vec2Swizzles: Sized + Copy + Clone {
4 type Vec3;
5
6 type Vec4;
7
8 #[inline]
9 #[must_use]
10 fn xy(self) -> Self {
11 self
12 }
13
14 #[must_use]
15 fn xx(self) -> Self;
16
17 #[must_use]
18 fn yx(self) -> Self;
19
20 #[must_use]
21 fn yy(self) -> Self;
22
23 #[must_use]
24 fn xxx(self) -> Self::Vec3;
25
26 #[must_use]
27 fn xxy(self) -> Self::Vec3;
28
29 #[must_use]
30 fn xyx(self) -> Self::Vec3;
31
32 #[must_use]
33 fn xyy(self) -> Self::Vec3;
34
35 #[must_use]
36 fn yxx(self) -> Self::Vec3;
37
38 #[must_use]
39 fn yxy(self) -> Self::Vec3;
40
41 #[must_use]
42 fn yyx(self) -> Self::Vec3;
43
44 #[must_use]
45 fn yyy(self) -> Self::Vec3;
46
47 #[must_use]
48 fn xxxx(self) -> Self::Vec4;
49
50 #[must_use]
51 fn xxxy(self) -> Self::Vec4;
52
53 #[must_use]
54 fn xxyx(self) -> Self::Vec4;
55
56 #[must_use]
57 fn xxyy(self) -> Self::Vec4;
58
59 #[must_use]
60 fn xyxx(self) -> Self::Vec4;
61
62 #[must_use]
63 fn xyxy(self) -> Self::Vec4;
64
65 #[must_use]
66 fn xyyx(self) -> Self::Vec4;
67
68 #[must_use]
69 fn xyyy(self) -> Self::Vec4;
70
71 #[must_use]
72 fn yxxx(self) -> Self::Vec4;
73
74 #[must_use]
75 fn yxxy(self) -> Self::Vec4;
76
77 #[must_use]
78 fn yxyx(self) -> Self::Vec4;
79
80 #[must_use]
81 fn yxyy(self) -> Self::Vec4;
82
83 #[must_use]
84 fn yyxx(self) -> Self::Vec4;
85
86 #[must_use]
87 fn yyxy(self) -> Self::Vec4;
88
89 #[must_use]
90 fn yyyx(self) -> Self::Vec4;
91
92 #[must_use]
93 fn yyyy(self) -> Self::Vec4;
94}
95
96pub trait Vec3Swizzles: Sized + Copy + Clone {
97 type Vec2;
98
99 type Vec4;
100
101 #[inline]
102 #[must_use]
103 fn xyz(self) -> Self {
104 self
105 }
106
107 #[must_use]
108 fn xx(self) -> Self::Vec2;
109
110 #[must_use]
111 fn xy(self) -> Self::Vec2;
112
113 #[must_use]
114 fn with_xy(self, rhs: Self::Vec2) -> Self;
115
116 #[must_use]
117 fn xz(self) -> Self::Vec2;
118
119 #[must_use]
120 fn with_xz(self, rhs: Self::Vec2) -> Self;
121
122 #[must_use]
123 fn yx(self) -> Self::Vec2;
124
125 #[must_use]
126 fn with_yx(self, rhs: Self::Vec2) -> Self;
127
128 #[must_use]
129 fn yy(self) -> Self::Vec2;
130
131 #[must_use]
132 fn yz(self) -> Self::Vec2;
133
134 #[must_use]
135 fn with_yz(self, rhs: Self::Vec2) -> Self;
136
137 #[must_use]
138 fn zx(self) -> Self::Vec2;
139
140 #[must_use]
141 fn with_zx(self, rhs: Self::Vec2) -> Self;
142
143 #[must_use]
144 fn zy(self) -> Self::Vec2;
145
146 #[must_use]
147 fn with_zy(self, rhs: Self::Vec2) -> Self;
148
149 #[must_use]
150 fn zz(self) -> Self::Vec2;
151
152 #[must_use]
153 fn xxx(self) -> Self;
154
155 #[must_use]
156 fn xxy(self) -> Self;
157
158 #[must_use]
159 fn xxz(self) -> Self;
160
161 #[must_use]
162 fn xyx(self) -> Self;
163
164 #[must_use]
165 fn xyy(self) -> Self;
166
167 #[must_use]
168 fn xzx(self) -> Self;
169
170 #[must_use]
171 fn xzy(self) -> Self;
172
173 #[must_use]
174 fn xzz(self) -> Self;
175
176 #[must_use]
177 fn yxx(self) -> Self;
178
179 #[must_use]
180 fn yxy(self) -> Self;
181
182 #[must_use]
183 fn yxz(self) -> Self;
184
185 #[must_use]
186 fn yyx(self) -> Self;
187
188 #[must_use]
189 fn yyy(self) -> Self;
190
191 #[must_use]
192 fn yyz(self) -> Self;
193
194 #[must_use]
195 fn yzx(self) -> Self;
196
197 #[must_use]
198 fn yzy(self) -> Self;
199
200 #[must_use]
201 fn yzz(self) -> Self;
202
203 #[must_use]
204 fn zxx(self) -> Self;
205
206 #[must_use]
207 fn zxy(self) -> Self;
208
209 #[must_use]
210 fn zxz(self) -> Self;
211
212 #[must_use]
213 fn zyx(self) -> Self;
214
215 #[must_use]
216 fn zyy(self) -> Self;
217
218 #[must_use]
219 fn zyz(self) -> Self;
220
221 #[must_use]
222 fn zzx(self) -> Self;
223
224 #[must_use]
225 fn zzy(self) -> Self;
226
227 #[must_use]
228 fn zzz(self) -> Self;
229
230 #[must_use]
231 fn xxxx(self) -> Self::Vec4;
232
233 #[must_use]
234 fn xxxy(self) -> Self::Vec4;
235
236 #[must_use]
237 fn xxxz(self) -> Self::Vec4;
238
239 #[must_use]
240 fn xxyx(self) -> Self::Vec4;
241
242 #[must_use]
243 fn xxyy(self) -> Self::Vec4;
244
245 #[must_use]
246 fn xxyz(self) -> Self::Vec4;
247
248 #[must_use]
249 fn xxzx(self) -> Self::Vec4;
250
251 #[must_use]
252 fn xxzy(self) -> Self::Vec4;
253
254 #[must_use]
255 fn xxzz(self) -> Self::Vec4;
256
257 #[must_use]
258 fn xyxx(self) -> Self::Vec4;
259
260 #[must_use]
261 fn xyxy(self) -> Self::Vec4;
262
263 #[must_use]
264 fn xyxz(self) -> Self::Vec4;
265
266 #[must_use]
267 fn xyyx(self) -> Self::Vec4;
268
269 #[must_use]
270 fn xyyy(self) -> Self::Vec4;
271
272 #[must_use]
273 fn xyyz(self) -> Self::Vec4;
274
275 #[must_use]
276 fn xyzx(self) -> Self::Vec4;
277
278 #[must_use]
279 fn xyzy(self) -> Self::Vec4;
280
281 #[must_use]
282 fn xyzz(self) -> Self::Vec4;
283
284 #[must_use]
285 fn xzxx(self) -> Self::Vec4;
286
287 #[must_use]
288 fn xzxy(self) -> Self::Vec4;
289
290 #[must_use]
291 fn xzxz(self) -> Self::Vec4;
292
293 #[must_use]
294 fn xzyx(self) -> Self::Vec4;
295
296 #[must_use]
297 fn xzyy(self) -> Self::Vec4;
298
299 #[must_use]
300 fn xzyz(self) -> Self::Vec4;
301
302 #[must_use]
303 fn xzzx(self) -> Self::Vec4;
304
305 #[must_use]
306 fn xzzy(self) -> Self::Vec4;
307
308 #[must_use]
309 fn xzzz(self) -> Self::Vec4;
310
311 #[must_use]
312 fn yxxx(self) -> Self::Vec4;
313
314 #[must_use]
315 fn yxxy(self) -> Self::Vec4;
316
317 #[must_use]
318 fn yxxz(self) -> Self::Vec4;
319
320 #[must_use]
321 fn yxyx(self) -> Self::Vec4;
322
323 #[must_use]
324 fn yxyy(self) -> Self::Vec4;
325
326 #[must_use]
327 fn yxyz(self) -> Self::Vec4;
328
329 #[must_use]
330 fn yxzx(self) -> Self::Vec4;
331
332 #[must_use]
333 fn yxzy(self) -> Self::Vec4;
334
335 #[must_use]
336 fn yxzz(self) -> Self::Vec4;
337
338 #[must_use]
339 fn yyxx(self) -> Self::Vec4;
340
341 #[must_use]
342 fn yyxy(self) -> Self::Vec4;
343
344 #[must_use]
345 fn yyxz(self) -> Self::Vec4;
346
347 #[must_use]
348 fn yyyx(self) -> Self::Vec4;
349
350 #[must_use]
351 fn yyyy(self) -> Self::Vec4;
352
353 #[must_use]
354 fn yyyz(self) -> Self::Vec4;
355
356 #[must_use]
357 fn yyzx(self) -> Self::Vec4;
358
359 #[must_use]
360 fn yyzy(self) -> Self::Vec4;
361
362 #[must_use]
363 fn yyzz(self) -> Self::Vec4;
364
365 #[must_use]
366 fn yzxx(self) -> Self::Vec4;
367
368 #[must_use]
369 fn yzxy(self) -> Self::Vec4;
370
371 #[must_use]
372 fn yzxz(self) -> Self::Vec4;
373
374 #[must_use]
375 fn yzyx(self) -> Self::Vec4;
376
377 #[must_use]
378 fn yzyy(self) -> Self::Vec4;
379
380 #[must_use]
381 fn yzyz(self) -> Self::Vec4;
382
383 #[must_use]
384 fn yzzx(self) -> Self::Vec4;
385
386 #[must_use]
387 fn yzzy(self) -> Self::Vec4;
388
389 #[must_use]
390 fn yzzz(self) -> Self::Vec4;
391
392 #[must_use]
393 fn zxxx(self) -> Self::Vec4;
394
395 #[must_use]
396 fn zxxy(self) -> Self::Vec4;
397
398 #[must_use]
399 fn zxxz(self) -> Self::Vec4;
400
401 #[must_use]
402 fn zxyx(self) -> Self::Vec4;
403
404 #[must_use]
405 fn zxyy(self) -> Self::Vec4;
406
407 #[must_use]
408 fn zxyz(self) -> Self::Vec4;
409
410 #[must_use]
411 fn zxzx(self) -> Self::Vec4;
412
413 #[must_use]
414 fn zxzy(self) -> Self::Vec4;
415
416 #[must_use]
417 fn zxzz(self) -> Self::Vec4;
418
419 #[must_use]
420 fn zyxx(self) -> Self::Vec4;
421
422 #[must_use]
423 fn zyxy(self) -> Self::Vec4;
424
425 #[must_use]
426 fn zyxz(self) -> Self::Vec4;
427
428 #[must_use]
429 fn zyyx(self) -> Self::Vec4;
430
431 #[must_use]
432 fn zyyy(self) -> Self::Vec4;
433
434 #[must_use]
435 fn zyyz(self) -> Self::Vec4;
436
437 #[must_use]
438 fn zyzx(self) -> Self::Vec4;
439
440 #[must_use]
441 fn zyzy(self) -> Self::Vec4;
442
443 #[must_use]
444 fn zyzz(self) -> Self::Vec4;
445
446 #[must_use]
447 fn zzxx(self) -> Self::Vec4;
448
449 #[must_use]
450 fn zzxy(self) -> Self::Vec4;
451
452 #[must_use]
453 fn zzxz(self) -> Self::Vec4;
454
455 #[must_use]
456 fn zzyx(self) -> Self::Vec4;
457
458 #[must_use]
459 fn zzyy(self) -> Self::Vec4;
460
461 #[must_use]
462 fn zzyz(self) -> Self::Vec4;
463
464 #[must_use]
465 fn zzzx(self) -> Self::Vec4;
466
467 #[must_use]
468 fn zzzy(self) -> Self::Vec4;
469
470 #[must_use]
471 fn zzzz(self) -> Self::Vec4;
472}
473
474pub trait Vec4Swizzles: Sized + Copy + Clone {
475 type Vec2;
476
477 type Vec3;
478
479 #[inline]
480 #[must_use]
481 fn xyzw(self) -> Self {
482 self
483 }
484
485 #[must_use]
486 fn xx(self) -> Self::Vec2;
487
488 #[must_use]
489 fn xy(self) -> Self::Vec2;
490
491 #[must_use]
492 fn with_xy(self, rhs: Self::Vec2) -> Self;
493
494 #[must_use]
495 fn xz(self) -> Self::Vec2;
496
497 #[must_use]
498 fn with_xz(self, rhs: Self::Vec2) -> Self;
499
500 #[must_use]
501 fn xw(self) -> Self::Vec2;
502
503 #[must_use]
504 fn with_xw(self, rhs: Self::Vec2) -> Self;
505
506 #[must_use]
507 fn yx(self) -> Self::Vec2;
508
509 #[must_use]
510 fn with_yx(self, rhs: Self::Vec2) -> Self;
511
512 #[must_use]
513 fn yy(self) -> Self::Vec2;
514
515 #[must_use]
516 fn yz(self) -> Self::Vec2;
517
518 #[must_use]
519 fn with_yz(self, rhs: Self::Vec2) -> Self;
520
521 #[must_use]
522 fn yw(self) -> Self::Vec2;
523
524 #[must_use]
525 fn with_yw(self, rhs: Self::Vec2) -> Self;
526
527 #[must_use]
528 fn zx(self) -> Self::Vec2;
529
530 #[must_use]
531 fn with_zx(self, rhs: Self::Vec2) -> Self;
532
533 #[must_use]
534 fn zy(self) -> Self::Vec2;
535
536 #[must_use]
537 fn with_zy(self, rhs: Self::Vec2) -> Self;
538
539 #[must_use]
540 fn zz(self) -> Self::Vec2;
541
542 #[must_use]
543 fn zw(self) -> Self::Vec2;
544
545 #[must_use]
546 fn with_zw(self, rhs: Self::Vec2) -> Self;
547
548 #[must_use]
549 fn wx(self) -> Self::Vec2;
550
551 #[must_use]
552 fn with_wx(self, rhs: Self::Vec2) -> Self;
553
554 #[must_use]
555 fn wy(self) -> Self::Vec2;
556
557 #[must_use]
558 fn with_wy(self, rhs: Self::Vec2) -> Self;
559
560 #[must_use]
561 fn wz(self) -> Self::Vec2;
562
563 #[must_use]
564 fn with_wz(self, rhs: Self::Vec2) -> Self;
565
566 #[must_use]
567 fn ww(self) -> Self::Vec2;
568
569 #[must_use]
570 fn xxx(self) -> Self::Vec3;
571
572 #[must_use]
573 fn xxy(self) -> Self::Vec3;
574
575 #[must_use]
576 fn xxz(self) -> Self::Vec3;
577
578 #[must_use]
579 fn xxw(self) -> Self::Vec3;
580
581 #[must_use]
582 fn xyx(self) -> Self::Vec3;
583
584 #[must_use]
585 fn xyy(self) -> Self::Vec3;
586
587 #[must_use]
588 fn xyz(self) -> Self::Vec3;
589
590 #[must_use]
591 fn with_xyz(self, rhs: Self::Vec3) -> Self;
592
593 #[must_use]
594 fn xyw(self) -> Self::Vec3;
595
596 #[must_use]
597 fn with_xyw(self, rhs: Self::Vec3) -> Self;
598
599 #[must_use]
600 fn xzx(self) -> Self::Vec3;
601
602 #[must_use]
603 fn xzy(self) -> Self::Vec3;
604
605 #[must_use]
606 fn with_xzy(self, rhs: Self::Vec3) -> Self;
607
608 #[must_use]
609 fn xzz(self) -> Self::Vec3;
610
611 #[must_use]
612 fn xzw(self) -> Self::Vec3;
613
614 #[must_use]
615 fn with_xzw(self, rhs: Self::Vec3) -> Self;
616
617 #[must_use]
618 fn xwx(self) -> Self::Vec3;
619
620 #[must_use]
621 fn xwy(self) -> Self::Vec3;
622
623 #[must_use]
624 fn with_xwy(self, rhs: Self::Vec3) -> Self;
625
626 #[must_use]
627 fn xwz(self) -> Self::Vec3;
628
629 #[must_use]
630 fn with_xwz(self, rhs: Self::Vec3) -> Self;
631
632 #[must_use]
633 fn xww(self) -> Self::Vec3;
634
635 #[must_use]
636 fn yxx(self) -> Self::Vec3;
637
638 #[must_use]
639 fn yxy(self) -> Self::Vec3;
640
641 #[must_use]
642 fn yxz(self) -> Self::Vec3;
643
644 #[must_use]
645 fn with_yxz(self, rhs: Self::Vec3) -> Self;
646
647 #[must_use]
648 fn yxw(self) -> Self::Vec3;
649
650 #[must_use]
651 fn with_yxw(self, rhs: Self::Vec3) -> Self;
652
653 #[must_use]
654 fn yyx(self) -> Self::Vec3;
655
656 #[must_use]
657 fn yyy(self) -> Self::Vec3;
658
659 #[must_use]
660 fn yyz(self) -> Self::Vec3;
661
662 #[must_use]
663 fn yyw(self) -> Self::Vec3;
664
665 #[must_use]
666 fn yzx(self) -> Self::Vec3;
667
668 #[must_use]
669 fn with_yzx(self, rhs: Self::Vec3) -> Self;
670
671 #[must_use]
672 fn yzy(self) -> Self::Vec3;
673
674 #[must_use]
675 fn yzz(self) -> Self::Vec3;
676
677 #[must_use]
678 fn yzw(self) -> Self::Vec3;
679
680 #[must_use]
681 fn with_yzw(self, rhs: Self::Vec3) -> Self;
682
683 #[must_use]
684 fn ywx(self) -> Self::Vec3;
685
686 #[must_use]
687 fn with_ywx(self, rhs: Self::Vec3) -> Self;
688
689 #[must_use]
690 fn ywy(self) -> Self::Vec3;
691
692 #[must_use]
693 fn ywz(self) -> Self::Vec3;
694
695 #[must_use]
696 fn with_ywz(self, rhs: Self::Vec3) -> Self;
697
698 #[must_use]
699 fn yww(self) -> Self::Vec3;
700
701 #[must_use]
702 fn zxx(self) -> Self::Vec3;
703
704 #[must_use]
705 fn zxy(self) -> Self::Vec3;
706
707 #[must_use]
708 fn with_zxy(self, rhs: Self::Vec3) -> Self;
709
710 #[must_use]
711 fn zxz(self) -> Self::Vec3;
712
713 #[must_use]
714 fn zxw(self) -> Self::Vec3;
715
716 #[must_use]
717 fn with_zxw(self, rhs: Self::Vec3) -> Self;
718
719 #[must_use]
720 fn zyx(self) -> Self::Vec3;
721
722 #[must_use]
723 fn with_zyx(self, rhs: Self::Vec3) -> Self;
724
725 #[must_use]
726 fn zyy(self) -> Self::Vec3;
727
728 #[must_use]
729 fn zyz(self) -> Self::Vec3;
730
731 #[must_use]
732 fn zyw(self) -> Self::Vec3;
733
734 #[must_use]
735 fn with_zyw(self, rhs: Self::Vec3) -> Self;
736
737 #[must_use]
738 fn zzx(self) -> Self::Vec3;
739
740 #[must_use]
741 fn zzy(self) -> Self::Vec3;
742
743 #[must_use]
744 fn zzz(self) -> Self::Vec3;
745
746 #[must_use]
747 fn zzw(self) -> Self::Vec3;
748
749 #[must_use]
750 fn zwx(self) -> Self::Vec3;
751
752 #[must_use]
753 fn with_zwx(self, rhs: Self::Vec3) -> Self;
754
755 #[must_use]
756 fn zwy(self) -> Self::Vec3;
757
758 #[must_use]
759 fn with_zwy(self, rhs: Self::Vec3) -> Self;
760
761 #[must_use]
762 fn zwz(self) -> Self::Vec3;
763
764 #[must_use]
765 fn zww(self) -> Self::Vec3;
766
767 #[must_use]
768 fn wxx(self) -> Self::Vec3;
769
770 #[must_use]
771 fn wxy(self) -> Self::Vec3;
772
773 #[must_use]
774 fn with_wxy(self, rhs: Self::Vec3) -> Self;
775
776 #[must_use]
777 fn wxz(self) -> Self::Vec3;
778
779 #[must_use]
780 fn with_wxz(self, rhs: Self::Vec3) -> Self;
781
782 #[must_use]
783 fn wxw(self) -> Self::Vec3;
784
785 #[must_use]
786 fn wyx(self) -> Self::Vec3;
787
788 #[must_use]
789 fn with_wyx(self, rhs: Self::Vec3) -> Self;
790
791 #[must_use]
792 fn wyy(self) -> Self::Vec3;
793
794 #[must_use]
795 fn wyz(self) -> Self::Vec3;
796
797 #[must_use]
798 fn with_wyz(self, rhs: Self::Vec3) -> Self;
799
800 #[must_use]
801 fn wyw(self) -> Self::Vec3;
802
803 #[must_use]
804 fn wzx(self) -> Self::Vec3;
805
806 #[must_use]
807 fn with_wzx(self, rhs: Self::Vec3) -> Self;
808
809 #[must_use]
810 fn wzy(self) -> Self::Vec3;
811
812 #[must_use]
813 fn with_wzy(self, rhs: Self::Vec3) -> Self;
814
815 #[must_use]
816 fn wzz(self) -> Self::Vec3;
817
818 #[must_use]
819 fn wzw(self) -> Self::Vec3;
820
821 #[must_use]
822 fn wwx(self) -> Self::Vec3;
823
824 #[must_use]
825 fn wwy(self) -> Self::Vec3;
826
827 #[must_use]
828 fn wwz(self) -> Self::Vec3;
829
830 #[must_use]
831 fn www(self) -> Self::Vec3;
832
833 #[must_use]
834 fn xxxx(self) -> Self;
835
836 #[must_use]
837 fn xxxy(self) -> Self;
838
839 #[must_use]
840 fn xxxz(self) -> Self;
841
842 #[must_use]
843 fn xxxw(self) -> Self;
844
845 #[must_use]
846 fn xxyx(self) -> Self;
847
848 #[must_use]
849 fn xxyy(self) -> Self;
850
851 #[must_use]
852 fn xxyz(self) -> Self;
853
854 #[must_use]
855 fn xxyw(self) -> Self;
856
857 #[must_use]
858 fn xxzx(self) -> Self;
859
860 #[must_use]
861 fn xxzy(self) -> Self;
862
863 #[must_use]
864 fn xxzz(self) -> Self;
865
866 #[must_use]
867 fn xxzw(self) -> Self;
868
869 #[must_use]
870 fn xxwx(self) -> Self;
871
872 #[must_use]
873 fn xxwy(self) -> Self;
874
875 #[must_use]
876 fn xxwz(self) -> Self;
877
878 #[must_use]
879 fn xxww(self) -> Self;
880
881 #[must_use]
882 fn xyxx(self) -> Self;
883
884 #[must_use]
885 fn xyxy(self) -> Self;
886
887 #[must_use]
888 fn xyxz(self) -> Self;
889
890 #[must_use]
891 fn xyxw(self) -> Self;
892
893 #[must_use]
894 fn xyyx(self) -> Self;
895
896 #[must_use]
897 fn xyyy(self) -> Self;
898
899 #[must_use]
900 fn xyyz(self) -> Self;
901
902 #[must_use]
903 fn xyyw(self) -> Self;
904
905 #[must_use]
906 fn xyzx(self) -> Self;
907
908 #[must_use]
909 fn xyzy(self) -> Self;
910
911 #[must_use]
912 fn xyzz(self) -> Self;
913
914 #[must_use]
915 fn xywx(self) -> Self;
916
917 #[must_use]
918 fn xywy(self) -> Self;
919
920 #[must_use]
921 fn xywz(self) -> Self;
922
923 #[must_use]
924 fn xyww(self) -> Self;
925
926 #[must_use]
927 fn xzxx(self) -> Self;
928
929 #[must_use]
930 fn xzxy(self) -> Self;
931
932 #[must_use]
933 fn xzxz(self) -> Self;
934
935 #[must_use]
936 fn xzxw(self) -> Self;
937
938 #[must_use]
939 fn xzyx(self) -> Self;
940
941 #[must_use]
942 fn xzyy(self) -> Self;
943
944 #[must_use]
945 fn xzyz(self) -> Self;
946
947 #[must_use]
948 fn xzyw(self) -> Self;
949
950 #[must_use]
951 fn xzzx(self) -> Self;
952
953 #[must_use]
954 fn xzzy(self) -> Self;
955
956 #[must_use]
957 fn xzzz(self) -> Self;
958
959 #[must_use]
960 fn xzzw(self) -> Self;
961
962 #[must_use]
963 fn xzwx(self) -> Self;
964
965 #[must_use]
966 fn xzwy(self) -> Self;
967
968 #[must_use]
969 fn xzwz(self) -> Self;
970
971 #[must_use]
972 fn xzww(self) -> Self;
973
974 #[must_use]
975 fn xwxx(self) -> Self;
976
977 #[must_use]
978 fn xwxy(self) -> Self;
979
980 #[must_use]
981 fn xwxz(self) -> Self;
982
983 #[must_use]
984 fn xwxw(self) -> Self;
985
986 #[must_use]
987 fn xwyx(self) -> Self;
988
989 #[must_use]
990 fn xwyy(self) -> Self;
991
992 #[must_use]
993 fn xwyz(self) -> Self;
994
995 #[must_use]
996 fn xwyw(self) -> Self;
997
998 #[must_use]
999 fn xwzx(self) -> Self;
1000
1001 #[must_use]
1002 fn xwzy(self) -> Self;
1003
1004 #[must_use]
1005 fn xwzz(self) -> Self;
1006
1007 #[must_use]
1008 fn xwzw(self) -> Self;
1009
1010 #[must_use]
1011 fn xwwx(self) -> Self;
1012
1013 #[must_use]
1014 fn xwwy(self) -> Self;
1015
1016 #[must_use]
1017 fn xwwz(self) -> Self;
1018
1019 #[must_use]
1020 fn xwww(self) -> Self;
1021
1022 #[must_use]
1023 fn yxxx(self) -> Self;
1024
1025 #[must_use]
1026 fn yxxy(self) -> Self;
1027
1028 #[must_use]
1029 fn yxxz(self) -> Self;
1030
1031 #[must_use]
1032 fn yxxw(self) -> Self;
1033
1034 #[must_use]
1035 fn yxyx(self) -> Self;
1036
1037 #[must_use]
1038 fn yxyy(self) -> Self;
1039
1040 #[must_use]
1041 fn yxyz(self) -> Self;
1042
1043 #[must_use]
1044 fn yxyw(self) -> Self;
1045
1046 #[must_use]
1047 fn yxzx(self) -> Self;
1048
1049 #[must_use]
1050 fn yxzy(self) -> Self;
1051
1052 #[must_use]
1053 fn yxzz(self) -> Self;
1054
1055 #[must_use]
1056 fn yxzw(self) -> Self;
1057
1058 #[must_use]
1059 fn yxwx(self) -> Self;
1060
1061 #[must_use]
1062 fn yxwy(self) -> Self;
1063
1064 #[must_use]
1065 fn yxwz(self) -> Self;
1066
1067 #[must_use]
1068 fn yxww(self) -> Self;
1069
1070 #[must_use]
1071 fn yyxx(self) -> Self;
1072
1073 #[must_use]
1074 fn yyxy(self) -> Self;
1075
1076 #[must_use]
1077 fn yyxz(self) -> Self;
1078
1079 #[must_use]
1080 fn yyxw(self) -> Self;
1081
1082 #[must_use]
1083 fn yyyx(self) -> Self;
1084
1085 #[must_use]
1086 fn yyyy(self) -> Self;
1087
1088 #[must_use]
1089 fn yyyz(self) -> Self;
1090
1091 #[must_use]
1092 fn yyyw(self) -> Self;
1093
1094 #[must_use]
1095 fn yyzx(self) -> Self;
1096
1097 #[must_use]
1098 fn yyzy(self) -> Self;
1099
1100 #[must_use]
1101 fn yyzz(self) -> Self;
1102
1103 #[must_use]
1104 fn yyzw(self) -> Self;
1105
1106 #[must_use]
1107 fn yywx(self) -> Self;
1108
1109 #[must_use]
1110 fn yywy(self) -> Self;
1111
1112 #[must_use]
1113 fn yywz(self) -> Self;
1114
1115 #[must_use]
1116 fn yyww(self) -> Self;
1117
1118 #[must_use]
1119 fn yzxx(self) -> Self;
1120
1121 #[must_use]
1122 fn yzxy(self) -> Self;
1123
1124 #[must_use]
1125 fn yzxz(self) -> Self;
1126
1127 #[must_use]
1128 fn yzxw(self) -> Self;
1129
1130 #[must_use]
1131 fn yzyx(self) -> Self;
1132
1133 #[must_use]
1134 fn yzyy(self) -> Self;
1135
1136 #[must_use]
1137 fn yzyz(self) -> Self;
1138
1139 #[must_use]
1140 fn yzyw(self) -> Self;
1141
1142 #[must_use]
1143 fn yzzx(self) -> Self;
1144
1145 #[must_use]
1146 fn yzzy(self) -> Self;
1147
1148 #[must_use]
1149 fn yzzz(self) -> Self;
1150
1151 #[must_use]
1152 fn yzzw(self) -> Self;
1153
1154 #[must_use]
1155 fn yzwx(self) -> Self;
1156
1157 #[must_use]
1158 fn yzwy(self) -> Self;
1159
1160 #[must_use]
1161 fn yzwz(self) -> Self;
1162
1163 #[must_use]
1164 fn yzww(self) -> Self;
1165
1166 #[must_use]
1167 fn ywxx(self) -> Self;
1168
1169 #[must_use]
1170 fn ywxy(self) -> Self;
1171
1172 #[must_use]
1173 fn ywxz(self) -> Self;
1174
1175 #[must_use]
1176 fn ywxw(self) -> Self;
1177
1178 #[must_use]
1179 fn ywyx(self) -> Self;
1180
1181 #[must_use]
1182 fn ywyy(self) -> Self;
1183
1184 #[must_use]
1185 fn ywyz(self) -> Self;
1186
1187 #[must_use]
1188 fn ywyw(self) -> Self;
1189
1190 #[must_use]
1191 fn ywzx(self) -> Self;
1192
1193 #[must_use]
1194 fn ywzy(self) -> Self;
1195
1196 #[must_use]
1197 fn ywzz(self) -> Self;
1198
1199 #[must_use]
1200 fn ywzw(self) -> Self;
1201
1202 #[must_use]
1203 fn ywwx(self) -> Self;
1204
1205 #[must_use]
1206 fn ywwy(self) -> Self;
1207
1208 #[must_use]
1209 fn ywwz(self) -> Self;
1210
1211 #[must_use]
1212 fn ywww(self) -> Self;
1213
1214 #[must_use]
1215 fn zxxx(self) -> Self;
1216
1217 #[must_use]
1218 fn zxxy(self) -> Self;
1219
1220 #[must_use]
1221 fn zxxz(self) -> Self;
1222
1223 #[must_use]
1224 fn zxxw(self) -> Self;
1225
1226 #[must_use]
1227 fn zxyx(self) -> Self;
1228
1229 #[must_use]
1230 fn zxyy(self) -> Self;
1231
1232 #[must_use]
1233 fn zxyz(self) -> Self;
1234
1235 #[must_use]
1236 fn zxyw(self) -> Self;
1237
1238 #[must_use]
1239 fn zxzx(self) -> Self;
1240
1241 #[must_use]
1242 fn zxzy(self) -> Self;
1243
1244 #[must_use]
1245 fn zxzz(self) -> Self;
1246
1247 #[must_use]
1248 fn zxzw(self) -> Self;
1249
1250 #[must_use]
1251 fn zxwx(self) -> Self;
1252
1253 #[must_use]
1254 fn zxwy(self) -> Self;
1255
1256 #[must_use]
1257 fn zxwz(self) -> Self;
1258
1259 #[must_use]
1260 fn zxww(self) -> Self;
1261
1262 #[must_use]
1263 fn zyxx(self) -> Self;
1264
1265 #[must_use]
1266 fn zyxy(self) -> Self;
1267
1268 #[must_use]
1269 fn zyxz(self) -> Self;
1270
1271 #[must_use]
1272 fn zyxw(self) -> Self;
1273
1274 #[must_use]
1275 fn zyyx(self) -> Self;
1276
1277 #[must_use]
1278 fn zyyy(self) -> Self;
1279
1280 #[must_use]
1281 fn zyyz(self) -> Self;
1282
1283 #[must_use]
1284 fn zyyw(self) -> Self;
1285
1286 #[must_use]
1287 fn zyzx(self) -> Self;
1288
1289 #[must_use]
1290 fn zyzy(self) -> Self;
1291
1292 #[must_use]
1293 fn zyzz(self) -> Self;
1294
1295 #[must_use]
1296 fn zyzw(self) -> Self;
1297
1298 #[must_use]
1299 fn zywx(self) -> Self;
1300
1301 #[must_use]
1302 fn zywy(self) -> Self;
1303
1304 #[must_use]
1305 fn zywz(self) -> Self;
1306
1307 #[must_use]
1308 fn zyww(self) -> Self;
1309
1310 #[must_use]
1311 fn zzxx(self) -> Self;
1312
1313 #[must_use]
1314 fn zzxy(self) -> Self;
1315
1316 #[must_use]
1317 fn zzxz(self) -> Self;
1318
1319 #[must_use]
1320 fn zzxw(self) -> Self;
1321
1322 #[must_use]
1323 fn zzyx(self) -> Self;
1324
1325 #[must_use]
1326 fn zzyy(self) -> Self;
1327
1328 #[must_use]
1329 fn zzyz(self) -> Self;
1330
1331 #[must_use]
1332 fn zzyw(self) -> Self;
1333
1334 #[must_use]
1335 fn zzzx(self) -> Self;
1336
1337 #[must_use]
1338 fn zzzy(self) -> Self;
1339
1340 #[must_use]
1341 fn zzzz(self) -> Self;
1342
1343 #[must_use]
1344 fn zzzw(self) -> Self;
1345
1346 #[must_use]
1347 fn zzwx(self) -> Self;
1348
1349 #[must_use]
1350 fn zzwy(self) -> Self;
1351
1352 #[must_use]
1353 fn zzwz(self) -> Self;
1354
1355 #[must_use]
1356 fn zzww(self) -> Self;
1357
1358 #[must_use]
1359 fn zwxx(self) -> Self;
1360
1361 #[must_use]
1362 fn zwxy(self) -> Self;
1363
1364 #[must_use]
1365 fn zwxz(self) -> Self;
1366
1367 #[must_use]
1368 fn zwxw(self) -> Self;
1369
1370 #[must_use]
1371 fn zwyx(self) -> Self;
1372
1373 #[must_use]
1374 fn zwyy(self) -> Self;
1375
1376 #[must_use]
1377 fn zwyz(self) -> Self;
1378
1379 #[must_use]
1380 fn zwyw(self) -> Self;
1381
1382 #[must_use]
1383 fn zwzx(self) -> Self;
1384
1385 #[must_use]
1386 fn zwzy(self) -> Self;
1387
1388 #[must_use]
1389 fn zwzz(self) -> Self;
1390
1391 #[must_use]
1392 fn zwzw(self) -> Self;
1393
1394 #[must_use]
1395 fn zwwx(self) -> Self;
1396
1397 #[must_use]
1398 fn zwwy(self) -> Self;
1399
1400 #[must_use]
1401 fn zwwz(self) -> Self;
1402
1403 #[must_use]
1404 fn zwww(self) -> Self;
1405
1406 #[must_use]
1407 fn wxxx(self) -> Self;
1408
1409 #[must_use]
1410 fn wxxy(self) -> Self;
1411
1412 #[must_use]
1413 fn wxxz(self) -> Self;
1414
1415 #[must_use]
1416 fn wxxw(self) -> Self;
1417
1418 #[must_use]
1419 fn wxyx(self) -> Self;
1420
1421 #[must_use]
1422 fn wxyy(self) -> Self;
1423
1424 #[must_use]
1425 fn wxyz(self) -> Self;
1426
1427 #[must_use]
1428 fn wxyw(self) -> Self;
1429
1430 #[must_use]
1431 fn wxzx(self) -> Self;
1432
1433 #[must_use]
1434 fn wxzy(self) -> Self;
1435
1436 #[must_use]
1437 fn wxzz(self) -> Self;
1438
1439 #[must_use]
1440 fn wxzw(self) -> Self;
1441
1442 #[must_use]
1443 fn wxwx(self) -> Self;
1444
1445 #[must_use]
1446 fn wxwy(self) -> Self;
1447
1448 #[must_use]
1449 fn wxwz(self) -> Self;
1450
1451 #[must_use]
1452 fn wxww(self) -> Self;
1453
1454 #[must_use]
1455 fn wyxx(self) -> Self;
1456
1457 #[must_use]
1458 fn wyxy(self) -> Self;
1459
1460 #[must_use]
1461 fn wyxz(self) -> Self;
1462
1463 #[must_use]
1464 fn wyxw(self) -> Self;
1465
1466 #[must_use]
1467 fn wyyx(self) -> Self;
1468
1469 #[must_use]
1470 fn wyyy(self) -> Self;
1471
1472 #[must_use]
1473 fn wyyz(self) -> Self;
1474
1475 #[must_use]
1476 fn wyyw(self) -> Self;
1477
1478 #[must_use]
1479 fn wyzx(self) -> Self;
1480
1481 #[must_use]
1482 fn wyzy(self) -> Self;
1483
1484 #[must_use]
1485 fn wyzz(self) -> Self;
1486
1487 #[must_use]
1488 fn wyzw(self) -> Self;
1489
1490 #[must_use]
1491 fn wywx(self) -> Self;
1492
1493 #[must_use]
1494 fn wywy(self) -> Self;
1495
1496 #[must_use]
1497 fn wywz(self) -> Self;
1498
1499 #[must_use]
1500 fn wyww(self) -> Self;
1501
1502 #[must_use]
1503 fn wzxx(self) -> Self;
1504
1505 #[must_use]
1506 fn wzxy(self) -> Self;
1507
1508 #[must_use]
1509 fn wzxz(self) -> Self;
1510
1511 #[must_use]
1512 fn wzxw(self) -> Self;
1513
1514 #[must_use]
1515 fn wzyx(self) -> Self;
1516
1517 #[must_use]
1518 fn wzyy(self) -> Self;
1519
1520 #[must_use]
1521 fn wzyz(self) -> Self;
1522
1523 #[must_use]
1524 fn wzyw(self) -> Self;
1525
1526 #[must_use]
1527 fn wzzx(self) -> Self;
1528
1529 #[must_use]
1530 fn wzzy(self) -> Self;
1531
1532 #[must_use]
1533 fn wzzz(self) -> Self;
1534
1535 #[must_use]
1536 fn wzzw(self) -> Self;
1537
1538 #[must_use]
1539 fn wzwx(self) -> Self;
1540
1541 #[must_use]
1542 fn wzwy(self) -> Self;
1543
1544 #[must_use]
1545 fn wzwz(self) -> Self;
1546
1547 #[must_use]
1548 fn wzww(self) -> Self;
1549
1550 #[must_use]
1551 fn wwxx(self) -> Self;
1552
1553 #[must_use]
1554 fn wwxy(self) -> Self;
1555
1556 #[must_use]
1557 fn wwxz(self) -> Self;
1558
1559 #[must_use]
1560 fn wwxw(self) -> Self;
1561
1562 #[must_use]
1563 fn wwyx(self) -> Self;
1564
1565 #[must_use]
1566 fn wwyy(self) -> Self;
1567
1568 #[must_use]
1569 fn wwyz(self) -> Self;
1570
1571 #[must_use]
1572 fn wwyw(self) -> Self;
1573
1574 #[must_use]
1575 fn wwzx(self) -> Self;
1576
1577 #[must_use]
1578 fn wwzy(self) -> Self;
1579
1580 #[must_use]
1581 fn wwzz(self) -> Self;
1582
1583 #[must_use]
1584 fn wwzw(self) -> Self;
1585
1586 #[must_use]
1587 fn wwwx(self) -> Self;
1588
1589 #[must_use]
1590 fn wwwy(self) -> Self;
1591
1592 #[must_use]
1593 fn wwwz(self) -> Self;
1594
1595 #[must_use]
1596 fn wwww(self) -> Self;
1597}