pub fn walkSelectively(dir: Dir, allocator: Allocator) !SelectiveWalker 327
328
329
330
331
332
333
334
335
336
337
338
339
340pub 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,
};
}
Recursively iterates over a directory, but requires the user to opt-in to recursing into each directory entry.
dirmust have been opened withOpenOptions.iterateset totrue.Walker.deinitreleases allocated memory and directory handles.The order of returned file system entries is undefined.
dirwill not be closed after walking it.See also
walk.