| 1 | const std = @import("std"); |
| 2 | const extras = @import("./lib.zig"); |
| 3 | |
| 4 | pub fn compareFnField(N: type, H: type, f: 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(f))) return .lt; |
| 8 | if (needle > @field(row, @tagName(f))) return .gt; |
| 9 | return .eq; |
| 10 | } |
| 11 | }; |
| 12 | return S.compare; |
| 13 | } |