From d34ac633f0a0af8d348b66a38e7497d031f027b1 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Mon, 13 Mar 2023 13:53:23 -0700 Subject: [PATCH] add lessThanSlice --- src/lib.zig | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lib.zig b/src/lib.zig index 9a7ff7604e6b40f752570588a37892c491cfc5f6..5fb316836b7cc5dbb9f2f4c8dc7770b152890610 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -220,6 +220,18 @@ pub fn sortBySlice(comptime T: type, items: []T, comptime field: std.meta.FieldE }.f); } +pub fn lessThanSlice(comptime T: type) fn (void, T, T) bool { + return struct { + fn f(_: void, lhs: T, rhs: T) bool { + const result = for (0..@min(lhs.len, rhs.len)) |i| { + if (lhs[i] < rhs[i]) break true; + if (lhs[i] > rhs[i]) break false; + } else false; + return result; + } + }.f; +} + pub fn containsString(haystack: []const string, needle: string) bool { for (haystack) |item| { if (std.mem.eql(u8, item, needle)) { -- 2.54.0