1const std = @import("std");
2const extras = @import("./lib.zig");
3
4pub fn compareFnRange(N: type, H: type, lower: std.meta.FieldEnum(H), upper: std.meta.FieldEnum(H)) fn (N, H) std.math.Order {
5 const S = struct {
6 pub fn compare(needle: N, row: H) std.math.Order {
7 if (needle < @field(row, @tagName(lower))) return .lt;
8 if (needle > @field(row, @tagName(upper))) return .gt;
9 return .eq;
10 }
11 };
12 return S.compare;
13}