| author | |
| committer | |
| log | 54abdc5bce0b243601ef4808bce1c29e1a46cdec |
| tree | 4005effac07027072e7d15cb2b22be7c03182614 |
| parent | d77ee373c1f1b4156c60dd1fe486d779c28263c9 |
1 files changed, 11 insertions(+), 0 deletions(-)
src/lib.zig+11| ... | ... | @@ -665,3 +665,14 @@ pub fn OneBiggerInt(comptime T: type) type { |
| 665 | 665 | info.Int.bits += 1; |
| 666 | 666 | return @Type(info); |
| 667 | 667 | } |
| 668 | ||
| 669 | pub fn ReverseFields(comptime T: type) type { | |
| 670 | var info = @typeInfo(T).Struct; | |
| 671 | const len = info.fields.len; | |
| 672 | var fields: [len]std.builtin.Type.StructField = undefined; | |
| 673 | for (0..len) |i| { | |
| 674 | fields[i] = info.fields[len - 1 - i]; | |
| 675 | } | |
| 676 | info.fields = &fields; | |
| 677 | return @Type(.{ .Struct = info }); | |
| 678 | } |