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 standard library.
std › compress › lzma › Decode › CircularBuffer › appendLz Public Function appendLz Doc Source Public Function std.compress.lzma.Decode.CircularBuffer.appendLz
pub fn appendLz (
self : *CircularBuffer ,
gpa : Allocator ,
len : usize ,
dist : usize ,
writer : *Writer ,
) !void Params File compress/lzma.zig: 412
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433 pub fn appendLz (
self : *CircularBuffer ,
gpa : Allocator ,
len : usize ,
dist : usize ,
writer : *Writer ,
) !void {
if (dist > self .dict_size or dist > self .len ) {
return error .CorruptInput ;
}
var offset = (self .dict_size + self .cursor - dist ) % self .dict_size ;
var i : usize = 0 ;
while (i < len ) : (i += 1 ) {
const x = self .get (offset );
try self .appendLiteral (gpa , x , writer );
offset += 1 ;
if (offset == self .dict_size ) {
offset = 0 ;
}
}
}
Fetch an LZ sequence (length, distance) from inside the buffer