Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

findNonePos

Find the first item in slice[start_index..] which is not contained in values. The returned index will be relative to the start of slice, and never less than start_index.

Comparable to strspn in the C standard library.

mem.findNonePos
pub fn findNonePos(comptime T: type, slice: []const T, start_index: usize, values: []const T) ?usize

File

lib/std/mem.zig:1413

Code

pub fn findNonePos(comptime T: type, slice: []const T, start_index: usize, values: []const T) ?usize {
    if (start_index >= slice.len) return null;
    outer: for (slice[start_index..], start_index..) |c, i| {
        for (values) |value| {
            if (c == value) continue :outer;
        }
        return i;
    }
    return null;
}