Zig 0.17.0-dev (Split by item)

Shortcut keys
?
Show these tips
S
Focus search field
Esc
Clear focus & close tips
U
Jump to source code
↑
Move up in search results
↓
Move down in search results
↵
Go to active search result
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 standard library. Public Function

walkSelectively

Public Function
std.Io.Dir.walkSelectively
pub fn walkSelectively(dir: Dir, allocator: Allocator) !SelectiveWalker

Recursively iterates over a directory, but requires the user to opt-in to recursing into each directory entry.

dir must have been opened with OpenOptions.iterate set to true.

Walker.deinit releases allocated memory and directory handles.

The order of returned file system entries is undefined.

dir will not be closed after walking it.

See also walk.

Params

File

Io/Dir.zig:327
327
328
329
330
331
332
333
334
335
336
337
338
339
340
pub fn walkSelectively(dir: Dir, allocator: Allocator) !SelectiveWalker {
    var stack: std.ArrayList(SelectiveWalker.StackItem) = .empty;

    try stack.append(allocator, .{
        .iter = dir.iterate(),
        .dirname_len = 0,
    });

    return .{
        .stack = stack,
        .name_buffer = .empty,
        .allocator = allocator,
    };
}