pub const OptionalString = enum(u32) pub fn init(s: String) OptionalStringpub fn unwrap(this: @This()) ?Stringpub fn slice(this: @This(), c: *const Configuration) ?[: 0]const u81918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939pub 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);
}
}
Points into
string_bytes, null-terminated.