struct Utf8View [src]

Utf8View iterates the code points of a utf-8 encoded string. var utf8 = (try std.unicode.Utf8View.init("hi there")).iterator(); while (utf8.nextCodepointSlice()) |codepoint| { std.debug.print("got codepoint {s}\n", .{codepoint}); }

Fields

bytes: []const u8

Members

Source

pub const Utf8View = struct { bytes: []const u8, pub fn init(s: []const u8) !Utf8View { if (!utf8ValidateSlice(s)) { return error.InvalidUtf8; } return initUnchecked(s); } pub fn initUnchecked(s: []const u8) Utf8View { return Utf8View{ .bytes = s }; } pub inline fn initComptime(comptime s: []const u8) Utf8View { return comptime if (init(s)) |r| r else |err| switch (err) { error.InvalidUtf8 => { @compileError("invalid utf8"); }, }; } pub fn iterator(s: Utf8View) Utf8Iterator { return Utf8Iterator{ .bytes = s.bytes, .i = 0, }; } }