From a236e1a08006fcdd61c666d2b4775c8161d7e709 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sun, 5 Jun 2022 13:47:01 -0700 Subject: [PATCH] add sortBy --- src/lib.zig | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/lib.zig b/src/lib.zig index 538ca96f8ace12e70d1e7163000230aaac9868e0..2ebf355b5b36a151bdf5d403bf820f4f316f1837 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -226,3 +226,11 @@ pub fn ptrCast(comptime T: type, ptr: *anyopaque) *T { if (@alignOf(T) == 0) @compileError(@typeName(T)); return @ptrCast(*T, @alignCast(@alignOf(T), ptr)); } + +pub fn sortBy(comptime T: type, items: []T, comptime field: std.meta.FieldEnum(T)) void { + std.sort.sort(T, items, {}, struct { + fn f(_: void, lhs: T, rhs: T) bool { + return @field(lhs, @tagName(field)) < @field(rhs, @tagName(field)); + } + }.f); +} -- 2.54.0