Function orderZ [src]

Compares two many-item pointers with NUL-termination lexicographically.

Prototype

pub fn orderZ(comptime T: type, lhs: [*:0]const T, rhs: [*:0]const T) math.Order

Parameters

T: typelhs: [*:0]const Trhs: [*:0]const T

Example

test orderZ { try testing.expect(orderZ(u8, "abcd", "bee") == .lt); try testing.expect(orderZ(u8, "abc", "abc") == .eq); try testing.expect(orderZ(u8, "abc", "abc0") == .lt); try testing.expect(orderZ(u8, "", "") == .eq); try testing.expect(orderZ(u8, "", "a") == .lt); }

Source

pub fn orderZ(comptime T: type, lhs: [*:0]const T, rhs: [*:0]const T) math.Order { var i: usize = 0; while (lhs[i] == rhs[i] and lhs[i] != 0) : (i += 1) {} return math.order(lhs[i], rhs[i]); }