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.
Zig › std/ › zig/ › Ast/ › Render.zig › drainNoNewline
drainNoNewline
Render.drainNoNewline
fn drainNoNewline (w : *Writer , data : []const []const u8 , splat : usize ) Writer .Error !usize
File
Code
fn drainNoNewline (w : *Writer , data : []const []const u8 , splat : usize ) Writer .Error !usize {
if (std .mem .indexOfScalar (u8 , w .buffered (), '\n' ) != null ) {
return error .WriteFailed ;
}
var n : usize = 0 ;
for (data [0 .. data .len - 1 ]) |v | {
if (std .mem .indexOfScalar (u8 , v , '\n' ) != null ) {
return error .WriteFailed ;
}
n += v .len ;
}
const pattern = data [data .len - 1 ];
if (splat != 0 and std .mem .indexOfScalar (u8 , pattern , '\n' ) != null ) {
return error .WriteFailed ;
}
n += pattern .len * splat ;
w .end = 0 ;
return n ;
}