glam/swizzles/
vec_traits.rs

1// Generated from swizzle_traits.rs.tera template. Edit the template, not the generated file.
2
3pub 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    fn xx(self) -> Self;
15
16    fn yx(self) -> Self;
17
18    fn yy(self) -> Self;
19
20    fn xxx(self) -> Self::Vec3;
21
22    fn xxy(self) -> Self::Vec3;
23
24    fn xyx(self) -> Self::Vec3;
25
26    fn xyy(self) -> Self::Vec3;
27
28    fn yxx(self) -> Self::Vec3;
29
30    fn yxy(self) -> Self::Vec3;
31
32    fn yyx(self) -> Self::Vec3;
33
34    fn yyy(self) -> Self::Vec3;
35
36    fn xxxx(self) -> Self::Vec4;
37
38    fn xxxy(self) -> Self::Vec4;
39
40    fn xxyx(self) -> Self::Vec4;
41
42    fn xxyy(self) -> Self::Vec4;
43
44    fn xyxx(self) -> Self::Vec4;
45
46    fn xyxy(self) -> Self::Vec4;
47
48    fn xyyx(self) -> Self::Vec4;
49
50    fn xyyy(self) -> Self::Vec4;
51
52    fn yxxx(self) -> Self::Vec4;
53
54    fn yxxy(self) -> Self::Vec4;
55
56    fn yxyx(self) -> Self::Vec4;
57
58    fn yxyy(self) -> Self::Vec4;
59
60    fn yyxx(self) -> Self::Vec4;
61
62    fn yyxy(self) -> Self::Vec4;
63
64    fn yyyx(self) -> Self::Vec4;
65
66    fn yyyy(self) -> Self::Vec4;
67}
68
69pub trait Vec3Swizzles: Sized + Copy + Clone {
70    type Vec2;
71
72    type Vec4;
73
74    #[inline]
75    #[must_use]
76    fn xyz(self) -> Self {
77        self
78    }
79
80    fn xx(self) -> Self::Vec2;
81
82    fn xy(self) -> Self::Vec2;
83
84    fn xz(self) -> Self::Vec2;
85
86    fn yx(self) -> Self::Vec2;
87
88    fn yy(self) -> Self::Vec2;
89
90    fn yz(self) -> Self::Vec2;
91
92    fn zx(self) -> Self::Vec2;
93
94    fn zy(self) -> Self::Vec2;
95
96    fn zz(self) -> Self::Vec2;
97
98    fn xxx(self) -> Self;
99
100    fn xxy(self) -> Self;
101
102    fn xxz(self) -> Self;
103
104    fn xyx(self) -> Self;
105
106    fn xyy(self) -> Self;
107
108    fn xzx(self) -> Self;
109
110    fn xzy(self) -> Self;
111
112    fn xzz(self) -> Self;
113
114    fn yxx(self) -> Self;
115
116    fn yxy(self) -> Self;
117
118    fn yxz(self) -> Self;
119
120    fn yyx(self) -> Self;
121
122    fn yyy(self) -> Self;
123
124    fn yyz(self) -> Self;
125
126    fn yzx(self) -> Self;
127
128    fn yzy(self) -> Self;
129
130    fn yzz(self) -> Self;
131
132    fn zxx(self) -> Self;
133
134    fn zxy(self) -> Self;
135
136    fn zxz(self) -> Self;
137
138    fn zyx(self) -> Self;
139
140    fn zyy(self) -> Self;
141
142    fn zyz(self) -> Self;
143
144    fn zzx(self) -> Self;
145
146    fn zzy(self) -> Self;
147
148    fn zzz(self) -> Self;
149
150    fn xxxx(self) -> Self::Vec4;
151
152    fn xxxy(self) -> Self::Vec4;
153
154    fn xxxz(self) -> Self::Vec4;
155
156    fn xxyx(self) -> Self::Vec4;
157
158    fn xxyy(self) -> Self::Vec4;
159
160    fn xxyz(self) -> Self::Vec4;
161
162    fn xxzx(self) -> Self::Vec4;
163
164    fn xxzy(self) -> Self::Vec4;
165
166    fn xxzz(self) -> Self::Vec4;
167
168    fn xyxx(self) -> Self::Vec4;
169
170    fn xyxy(self) -> Self::Vec4;
171
172    fn xyxz(self) -> Self::Vec4;
173
174    fn xyyx(self) -> Self::Vec4;
175
176    fn xyyy(self) -> Self::Vec4;
177
178    fn xyyz(self) -> Self::Vec4;
179
180    fn xyzx(self) -> Self::Vec4;
181
182    fn xyzy(self) -> Self::Vec4;
183
184    fn xyzz(self) -> Self::Vec4;
185
186    fn xzxx(self) -> Self::Vec4;
187
188    fn xzxy(self) -> Self::Vec4;
189
190    fn xzxz(self) -> Self::Vec4;
191
192    fn xzyx(self) -> Self::Vec4;
193
194    fn xzyy(self) -> Self::Vec4;
195
196    fn xzyz(self) -> Self::Vec4;
197
198    fn xzzx(self) -> Self::Vec4;
199
200    fn xzzy(self) -> Self::Vec4;
201
202    fn xzzz(self) -> Self::Vec4;
203
204    fn yxxx(self) -> Self::Vec4;
205
206    fn yxxy(self) -> Self::Vec4;
207
208    fn yxxz(self) -> Self::Vec4;
209
210    fn yxyx(self) -> Self::Vec4;
211
212    fn yxyy(self) -> Self::Vec4;
213
214    fn yxyz(self) -> Self::Vec4;
215
216    fn yxzx(self) -> Self::Vec4;
217
218    fn yxzy(self) -> Self::Vec4;
219
220    fn yxzz(self) -> Self::Vec4;
221
222    fn yyxx(self) -> Self::Vec4;
223
224    fn yyxy(self) -> Self::Vec4;
225
226    fn yyxz(self) -> Self::Vec4;
227
228    fn yyyx(self) -> Self::Vec4;
229
230    fn yyyy(self) -> Self::Vec4;
231
232    fn yyyz(self) -> Self::Vec4;
233
234    fn yyzx(self) -> Self::Vec4;
235
236    fn yyzy(self) -> Self::Vec4;
237
238    fn yyzz(self) -> Self::Vec4;
239
240    fn yzxx(self) -> Self::Vec4;
241
242    fn yzxy(self) -> Self::Vec4;
243
244    fn yzxz(self) -> Self::Vec4;
245
246    fn yzyx(self) -> Self::Vec4;
247
248    fn yzyy(self) -> Self::Vec4;
249
250    fn yzyz(self) -> Self::Vec4;
251
252    fn yzzx(self) -> Self::Vec4;
253
254    fn yzzy(self) -> Self::Vec4;
255
256    fn yzzz(self) -> Self::Vec4;
257
258    fn zxxx(self) -> Self::Vec4;
259
260    fn zxxy(self) -> Self::Vec4;
261
262    fn zxxz(self) -> Self::Vec4;
263
264    fn zxyx(self) -> Self::Vec4;
265
266    fn zxyy(self) -> Self::Vec4;
267
268    fn zxyz(self) -> Self::Vec4;
269
270    fn zxzx(self) -> Self::Vec4;
271
272    fn zxzy(self) -> Self::Vec4;
273
274    fn zxzz(self) -> Self::Vec4;
275
276    fn zyxx(self) -> Self::Vec4;
277
278    fn zyxy(self) -> Self::Vec4;
279
280    fn zyxz(self) -> Self::Vec4;
281
282    fn zyyx(self) -> Self::Vec4;
283
284    fn zyyy(self) -> Self::Vec4;
285
286    fn zyyz(self) -> Self::Vec4;
287
288    fn zyzx(self) -> Self::Vec4;
289
290    fn zyzy(self) -> Self::Vec4;
291
292    fn zyzz(self) -> Self::Vec4;
293
294    fn zzxx(self) -> Self::Vec4;
295
296    fn zzxy(self) -> Self::Vec4;
297
298    fn zzxz(self) -> Self::Vec4;
299
300    fn zzyx(self) -> Self::Vec4;
301
302    fn zzyy(self) -> Self::Vec4;
303
304    fn zzyz(self) -> Self::Vec4;
305
306    fn zzzx(self) -> Self::Vec4;
307
308    fn zzzy(self) -> Self::Vec4;
309
310    fn zzzz(self) -> Self::Vec4;
311}
312
313pub trait Vec4Swizzles: Sized + Copy + Clone {
314    type Vec2;
315
316    type Vec3;
317
318    #[inline]
319    #[must_use]
320    fn xyzw(self) -> Self {
321        self
322    }
323
324    fn xx(self) -> Self::Vec2;
325
326    fn xy(self) -> Self::Vec2;
327
328    fn xz(self) -> Self::Vec2;
329
330    fn xw(self) -> Self::Vec2;
331
332    fn yx(self) -> Self::Vec2;
333
334    fn yy(self) -> Self::Vec2;
335
336    fn yz(self) -> Self::Vec2;
337
338    fn yw(self) -> Self::Vec2;
339
340    fn zx(self) -> Self::Vec2;
341
342    fn zy(self) -> Self::Vec2;
343
344    fn zz(self) -> Self::Vec2;
345
346    fn zw(self) -> Self::Vec2;
347
348    fn wx(self) -> Self::Vec2;
349
350    fn wy(self) -> Self::Vec2;
351
352    fn wz(self) -> Self::Vec2;
353
354    fn ww(self) -> Self::Vec2;
355
356    fn xxx(self) -> Self::Vec3;
357
358    fn xxy(self) -> Self::Vec3;
359
360    fn xxz(self) -> Self::Vec3;
361
362    fn xxw(self) -> Self::Vec3;
363
364    fn xyx(self) -> Self::Vec3;
365
366    fn xyy(self) -> Self::Vec3;
367
368    fn xyz(self) -> Self::Vec3;
369
370    fn xyw(self) -> Self::Vec3;
371
372    fn xzx(self) -> Self::Vec3;
373
374    fn xzy(self) -> Self::Vec3;
375
376    fn xzz(self) -> Self::Vec3;
377
378    fn xzw(self) -> Self::Vec3;
379
380    fn xwx(self) -> Self::Vec3;
381
382    fn xwy(self) -> Self::Vec3;
383
384    fn xwz(self) -> Self::Vec3;
385
386    fn xww(self) -> Self::Vec3;
387
388    fn yxx(self) -> Self::Vec3;
389
390    fn yxy(self) -> Self::Vec3;
391
392    fn yxz(self) -> Self::Vec3;
393
394    fn yxw(self) -> Self::Vec3;
395
396    fn yyx(self) -> Self::Vec3;
397
398    fn yyy(self) -> Self::Vec3;
399
400    fn yyz(self) -> Self::Vec3;
401
402    fn yyw(self) -> Self::Vec3;
403
404    fn yzx(self) -> Self::Vec3;
405
406    fn yzy(self) -> Self::Vec3;
407
408    fn yzz(self) -> Self::Vec3;
409
410    fn yzw(self) -> Self::Vec3;
411
412    fn ywx(self) -> Self::Vec3;
413
414    fn ywy(self) -> Self::Vec3;
415
416    fn ywz(self) -> Self::Vec3;
417
418    fn yww(self) -> Self::Vec3;
419
420    fn zxx(self) -> Self::Vec3;
421
422    fn zxy(self) -> Self::Vec3;
423
424    fn zxz(self) -> Self::Vec3;
425
426    fn zxw(self) -> Self::Vec3;
427
428    fn zyx(self) -> Self::Vec3;
429
430    fn zyy(self) -> Self::Vec3;
431
432    fn zyz(self) -> Self::Vec3;
433
434    fn zyw(self) -> Self::Vec3;
435
436    fn zzx(self) -> Self::Vec3;
437
438    fn zzy(self) -> Self::Vec3;
439
440    fn zzz(self) -> Self::Vec3;
441
442    fn zzw(self) -> Self::Vec3;
443
444    fn zwx(self) -> Self::Vec3;
445
446    fn zwy(self) -> Self::Vec3;
447
448    fn zwz(self) -> Self::Vec3;
449
450    fn zww(self) -> Self::Vec3;
451
452    fn wxx(self) -> Self::Vec3;
453
454    fn wxy(self) -> Self::Vec3;
455
456    fn wxz(self) -> Self::Vec3;
457
458    fn wxw(self) -> Self::Vec3;
459
460    fn wyx(self) -> Self::Vec3;
461
462    fn wyy(self) -> Self::Vec3;
463
464    fn wyz(self) -> Self::Vec3;
465
466    fn wyw(self) -> Self::Vec3;
467
468    fn wzx(self) -> Self::Vec3;
469
470    fn wzy(self) -> Self::Vec3;
471
472    fn wzz(self) -> Self::Vec3;
473
474    fn wzw(self) -> Self::Vec3;
475
476    fn wwx(self) -> Self::Vec3;
477
478    fn wwy(self) -> Self::Vec3;
479
480    fn wwz(self) -> Self::Vec3;
481
482    fn www(self) -> Self::Vec3;
483
484    fn xxxx(self) -> Self;
485
486    fn xxxy(self) -> Self;
487
488    fn xxxz(self) -> Self;
489
490    fn xxxw(self) -> Self;
491
492    fn xxyx(self) -> Self;
493
494    fn xxyy(self) -> Self;
495
496    fn xxyz(self) -> Self;
497
498    fn xxyw(self) -> Self;
499
500    fn xxzx(self) -> Self;
501
502    fn xxzy(self) -> Self;
503
504    fn xxzz(self) -> Self;
505
506    fn xxzw(self) -> Self;
507
508    fn xxwx(self) -> Self;
509
510    fn xxwy(self) -> Self;
511
512    fn xxwz(self) -> Self;
513
514    fn xxww(self) -> Self;
515
516    fn xyxx(self) -> Self;
517
518    fn xyxy(self) -> Self;
519
520    fn xyxz(self) -> Self;
521
522    fn xyxw(self) -> Self;
523
524    fn xyyx(self) -> Self;
525
526    fn xyyy(self) -> Self;
527
528    fn xyyz(self) -> Self;
529
530    fn xyyw(self) -> Self;
531
532    fn xyzx(self) -> Self;
533
534    fn xyzy(self) -> Self;
535
536    fn xyzz(self) -> Self;
537
538    fn xywx(self) -> Self;
539
540    fn xywy(self) -> Self;
541
542    fn xywz(self) -> Self;
543
544    fn xyww(self) -> Self;
545
546    fn xzxx(self) -> Self;
547
548    fn xzxy(self) -> Self;
549
550    fn xzxz(self) -> Self;
551
552    fn xzxw(self) -> Self;
553
554    fn xzyx(self) -> Self;
555
556    fn xzyy(self) -> Self;
557
558    fn xzyz(self) -> Self;
559
560    fn xzyw(self) -> Self;
561
562    fn xzzx(self) -> Self;
563
564    fn xzzy(self) -> Self;
565
566    fn xzzz(self) -> Self;
567
568    fn xzzw(self) -> Self;
569
570    fn xzwx(self) -> Self;
571
572    fn xzwy(self) -> Self;
573
574    fn xzwz(self) -> Self;
575
576    fn xzww(self) -> Self;
577
578    fn xwxx(self) -> Self;
579
580    fn xwxy(self) -> Self;
581
582    fn xwxz(self) -> Self;
583
584    fn xwxw(self) -> Self;
585
586    fn xwyx(self) -> Self;
587
588    fn xwyy(self) -> Self;
589
590    fn xwyz(self) -> Self;
591
592    fn xwyw(self) -> Self;
593
594    fn xwzx(self) -> Self;
595
596    fn xwzy(self) -> Self;
597
598    fn xwzz(self) -> Self;
599
600    fn xwzw(self) -> Self;
601
602    fn xwwx(self) -> Self;
603
604    fn xwwy(self) -> Self;
605
606    fn xwwz(self) -> Self;
607
608    fn xwww(self) -> Self;
609
610    fn yxxx(self) -> Self;
611
612    fn yxxy(self) -> Self;
613
614    fn yxxz(self) -> Self;
615
616    fn yxxw(self) -> Self;
617
618    fn yxyx(self) -> Self;
619
620    fn yxyy(self) -> Self;
621
622    fn yxyz(self) -> Self;
623
624    fn yxyw(self) -> Self;
625
626    fn yxzx(self) -> Self;
627
628    fn yxzy(self) -> Self;
629
630    fn yxzz(self) -> Self;
631
632    fn yxzw(self) -> Self;
633
634    fn yxwx(self) -> Self;
635
636    fn yxwy(self) -> Self;
637
638    fn yxwz(self) -> Self;
639
640    fn yxww(self) -> Self;
641
642    fn yyxx(self) -> Self;
643
644    fn yyxy(self) -> Self;
645
646    fn yyxz(self) -> Self;
647
648    fn yyxw(self) -> Self;
649
650    fn yyyx(self) -> Self;
651
652    fn yyyy(self) -> Self;
653
654    fn yyyz(self) -> Self;
655
656    fn yyyw(self) -> Self;
657
658    fn yyzx(self) -> Self;
659
660    fn yyzy(self) -> Self;
661
662    fn yyzz(self) -> Self;
663
664    fn yyzw(self) -> Self;
665
666    fn yywx(self) -> Self;
667
668    fn yywy(self) -> Self;
669
670    fn yywz(self) -> Self;
671
672    fn yyww(self) -> Self;
673
674    fn yzxx(self) -> Self;
675
676    fn yzxy(self) -> Self;
677
678    fn yzxz(self) -> Self;
679
680    fn yzxw(self) -> Self;
681
682    fn yzyx(self) -> Self;
683
684    fn yzyy(self) -> Self;
685
686    fn yzyz(self) -> Self;
687
688    fn yzyw(self) -> Self;
689
690    fn yzzx(self) -> Self;
691
692    fn yzzy(self) -> Self;
693
694    fn yzzz(self) -> Self;
695
696    fn yzzw(self) -> Self;
697
698    fn yzwx(self) -> Self;
699
700    fn yzwy(self) -> Self;
701
702    fn yzwz(self) -> Self;
703
704    fn yzww(self) -> Self;
705
706    fn ywxx(self) -> Self;
707
708    fn ywxy(self) -> Self;
709
710    fn ywxz(self) -> Self;
711
712    fn ywxw(self) -> Self;
713
714    fn ywyx(self) -> Self;
715
716    fn ywyy(self) -> Self;
717
718    fn ywyz(self) -> Self;
719
720    fn ywyw(self) -> Self;
721
722    fn ywzx(self) -> Self;
723
724    fn ywzy(self) -> Self;
725
726    fn ywzz(self) -> Self;
727
728    fn ywzw(self) -> Self;
729
730    fn ywwx(self) -> Self;
731
732    fn ywwy(self) -> Self;
733
734    fn ywwz(self) -> Self;
735
736    fn ywww(self) -> Self;
737
738    fn zxxx(self) -> Self;
739
740    fn zxxy(self) -> Self;
741
742    fn zxxz(self) -> Self;
743
744    fn zxxw(self) -> Self;
745
746    fn zxyx(self) -> Self;
747
748    fn zxyy(self) -> Self;
749
750    fn zxyz(self) -> Self;
751
752    fn zxyw(self) -> Self;
753
754    fn zxzx(self) -> Self;
755
756    fn zxzy(self) -> Self;
757
758    fn zxzz(self) -> Self;
759
760    fn zxzw(self) -> Self;
761
762    fn zxwx(self) -> Self;
763
764    fn zxwy(self) -> Self;
765
766    fn zxwz(self) -> Self;
767
768    fn zxww(self) -> Self;
769
770    fn zyxx(self) -> Self;
771
772    fn zyxy(self) -> Self;
773
774    fn zyxz(self) -> Self;
775
776    fn zyxw(self) -> Self;
777
778    fn zyyx(self) -> Self;
779
780    fn zyyy(self) -> Self;
781
782    fn zyyz(self) -> Self;
783
784    fn zyyw(self) -> Self;
785
786    fn zyzx(self) -> Self;
787
788    fn zyzy(self) -> Self;
789
790    fn zyzz(self) -> Self;
791
792    fn zyzw(self) -> Self;
793
794    fn zywx(self) -> Self;
795
796    fn zywy(self) -> Self;
797
798    fn zywz(self) -> Self;
799
800    fn zyww(self) -> Self;
801
802    fn zzxx(self) -> Self;
803
804    fn zzxy(self) -> Self;
805
806    fn zzxz(self) -> Self;
807
808    fn zzxw(self) -> Self;
809
810    fn zzyx(self) -> Self;
811
812    fn zzyy(self) -> Self;
813
814    fn zzyz(self) -> Self;
815
816    fn zzyw(self) -> Self;
817
818    fn zzzx(self) -> Self;
819
820    fn zzzy(self) -> Self;
821
822    fn zzzz(self) -> Self;
823
824    fn zzzw(self) -> Self;
825
826    fn zzwx(self) -> Self;
827
828    fn zzwy(self) -> Self;
829
830    fn zzwz(self) -> Self;
831
832    fn zzww(self) -> Self;
833
834    fn zwxx(self) -> Self;
835
836    fn zwxy(self) -> Self;
837
838    fn zwxz(self) -> Self;
839
840    fn zwxw(self) -> Self;
841
842    fn zwyx(self) -> Self;
843
844    fn zwyy(self) -> Self;
845
846    fn zwyz(self) -> Self;
847
848    fn zwyw(self) -> Self;
849
850    fn zwzx(self) -> Self;
851
852    fn zwzy(self) -> Self;
853
854    fn zwzz(self) -> Self;
855
856    fn zwzw(self) -> Self;
857
858    fn zwwx(self) -> Self;
859
860    fn zwwy(self) -> Self;
861
862    fn zwwz(self) -> Self;
863
864    fn zwww(self) -> Self;
865
866    fn wxxx(self) -> Self;
867
868    fn wxxy(self) -> Self;
869
870    fn wxxz(self) -> Self;
871
872    fn wxxw(self) -> Self;
873
874    fn wxyx(self) -> Self;
875
876    fn wxyy(self) -> Self;
877
878    fn wxyz(self) -> Self;
879
880    fn wxyw(self) -> Self;
881
882    fn wxzx(self) -> Self;
883
884    fn wxzy(self) -> Self;
885
886    fn wxzz(self) -> Self;
887
888    fn wxzw(self) -> Self;
889
890    fn wxwx(self) -> Self;
891
892    fn wxwy(self) -> Self;
893
894    fn wxwz(self) -> Self;
895
896    fn wxww(self) -> Self;
897
898    fn wyxx(self) -> Self;
899
900    fn wyxy(self) -> Self;
901
902    fn wyxz(self) -> Self;
903
904    fn wyxw(self) -> Self;
905
906    fn wyyx(self) -> Self;
907
908    fn wyyy(self) -> Self;
909
910    fn wyyz(self) -> Self;
911
912    fn wyyw(self) -> Self;
913
914    fn wyzx(self) -> Self;
915
916    fn wyzy(self) -> Self;
917
918    fn wyzz(self) -> Self;
919
920    fn wyzw(self) -> Self;
921
922    fn wywx(self) -> Self;
923
924    fn wywy(self) -> Self;
925
926    fn wywz(self) -> Self;
927
928    fn wyww(self) -> Self;
929
930    fn wzxx(self) -> Self;
931
932    fn wzxy(self) -> Self;
933
934    fn wzxz(self) -> Self;
935
936    fn wzxw(self) -> Self;
937
938    fn wzyx(self) -> Self;
939
940    fn wzyy(self) -> Self;
941
942    fn wzyz(self) -> Self;
943
944    fn wzyw(self) -> Self;
945
946    fn wzzx(self) -> Self;
947
948    fn wzzy(self) -> Self;
949
950    fn wzzz(self) -> Self;
951
952    fn wzzw(self) -> Self;
953
954    fn wzwx(self) -> Self;
955
956    fn wzwy(self) -> Self;
957
958    fn wzwz(self) -> Self;
959
960    fn wzww(self) -> Self;
961
962    fn wwxx(self) -> Self;
963
964    fn wwxy(self) -> Self;
965
966    fn wwxz(self) -> Self;
967
968    fn wwxw(self) -> Self;
969
970    fn wwyx(self) -> Self;
971
972    fn wwyy(self) -> Self;
973
974    fn wwyz(self) -> Self;
975
976    fn wwyw(self) -> Self;
977
978    fn wwzx(self) -> Self;
979
980    fn wwzy(self) -> Self;
981
982    fn wwzz(self) -> Self;
983
984    fn wwzw(self) -> Self;
985
986    fn wwwx(self) -> Self;
987
988    fn wwwy(self) -> Self;
989
990    fn wwwz(self) -> Self;
991
992    fn wwww(self) -> Self;
993}