diff --git a/lib/std/mem.zig b/lib/std/mem.zig index 24daa4a508f6fde819c5d558a5e3dd81f685c3b1..278e917df6213af76dbd1131d7acc872416fbe30 100644 --- a/lib/std/mem.zig +++ b/lib/std/mem.zig @@ -748,6 +748,19 @@ test lessThan { try testing.expect(lessThan(u8, "", "a")); } +/// Returns `true` if `lhs < rhs`; `false` otherwise, operating on null-terminated arrays. +pub fn lessThanZ(comptime T: type, lhs: [*:0]const T, rhs: [*:0]const T) bool { + return orderZ(T, lhs, rhs) == .lt; +} + +test lessThanZ { + try testing.expect(lessThanZ(u8, "abcd", "bee")); + try testing.expect(!lessThanZ(u8, "abc", "abc")); + try testing.expect(lessThanZ(u8, "abc", "abc0")); + try testing.expect(!lessThanZ(u8, "", "")); + try testing.expect(lessThanZ(u8, "", "a")); +} + const use_vectors = switch (builtin.zig_backend) { // These backends don't support vectors yet. .stage2_aarch64,