Points into string_bytes, null-terminated.
pub const OptionalString = enum(u32)
pub const OptionalString = enum(u32) {
empty = 0,
/// The string "root".
root = 1,
none = max_u32,
_,
pub fn init(s: String) OptionalString {
const result: OptionalString = @fromBackingInt(@intCast(@backingInt(s)));
assert(result != .none);
return result;
}
pub fn unwrap(this: @This()) ?String {
if (this == .none) return null;
return @fromBackingInt(@intCast(@backingInt(this)));
}
pub fn slice(this: @This(), c: *const Configuration) ?[:0]const u8 {
return (unwrap(this) orelse return null).slice(c);
}
}