| author | |
| committer | |
| log | a236e1a08006fcdd61c666d2b4775c8161d7e709 |
| tree | 58e8afece9a54d26a522ef968ad1aa47c5ce2bf0 |
| parent | 09a26d4f28ed44334df7fa5a77e3d6c3b016e090 |
1 files changed, 8 insertions(+), 0 deletions(-)
src/lib.zig+8| ... | ... | @@ -226,3 +226,11 @@ pub fn ptrCast(comptime T: type, ptr: *anyopaque) *T { |
| 226 | 226 | if (@alignOf(T) == 0) @compileError(@typeName(T)); |
| 227 | 227 | return @ptrCast(*T, @alignCast(@alignOf(T), ptr)); |
| 228 | 228 | } |
| 229 | ||
| 230 | pub fn sortBy(comptime T: type, items: []T, comptime field: std.meta.FieldEnum(T)) void { | |
| 231 | std.sort.sort(T, items, {}, struct { | |
| 232 | fn f(_: void, lhs: T, rhs: T) bool { | |
| 233 | return @field(lhs, @tagName(field)) < @field(rhs, @tagName(field)); | |
| 234 | } | |
| 235 | }.f); | |
| 236 | } |