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