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/ › Io/ › Dispatch.zig › BatchOperationUserdata
BatchOperationUserdata
Dispatch.BatchOperationUserdata
const BatchOperationUserdata = extern struct
File
Code
const BatchOperationUserdata = extern struct {
batch : *Io .Batch ,
source : c .dispatch .source_t ,
operation : extern union {
file_read_streaming : extern struct {
data_ptr : [*]const []u8 ,
data_len : usize ,
},
file_write_streaming : extern struct {
header_ptr : [*]const u8 ,
header_len : usize ,
data_ptr : [*]const []const u8 ,
data_len : usize ,
splat : usize ,
fn header (operation : *const @This ()) []const u8 {
return operation .header_ptr [0 ..operation .header_len ];
}
fn data (operation : *const @This ()) []const []const u8 {
return operation .data_ptr [0 ..operation .data_len ];
}
},
},
const Erased = Io .Operation .Storage .Pending .Userdata ;
comptime {
assert (@sizeOf (BatchOperationUserdata ) <= @sizeOf (Erased ));
}
fn toErased (userdata : *BatchOperationUserdata ) *Erased {
return @ptrCast (userdata );
}
fn fromErased (erased : *Erased ) *BatchOperationUserdata {
return @ptrCast (erased );
}
}