From 788c02e94a29be775651d7a61660af7b94d935cc Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Mon, 13 Mar 2023 13:53:14 -0700 Subject: [PATCH] add sortBySlice --- src/lib.zig | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/lib.zig b/src/lib.zig index f8f499593aa6c9f85445dbe080855c779a80633a..9a7ff7604e6b40f752570588a37892c491cfc5f6 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -212,6 +212,14 @@ pub fn sortBy(comptime T: type, items: []T, comptime field: std.meta.FieldEnum(T }.f); } +pub fn sortBySlice(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 lessThanSlice(FieldType(T, field))({}, @field(lhs, @tagName(field)), @field(rhs, @tagName(field))); + } + }.f); +} + pub fn containsString(haystack: []const string, needle: string) bool { for (haystack) |item| { if (std.mem.eql(u8, item, needle)) { -- 2.54.0