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 › Io › Dispatch › Thread Private Struct Thread Doc Source Private Struct std.Io.Dispatch.Thread
const Thread = struct Fields main_context : Io .fiber .Context current_context : ?*Io .fiber .Context seed_csprng : c .dispatch .once_t csprng : Csprng Structs Values Functions File Io/Dispatch.zig: 70
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 const Thread = struct {
main_context : Io .fiber .Context ,
current_context : ?*Io .fiber .Context ,
seed_csprng : c .dispatch .once_t ,
csprng : Csprng ,
threadlocal var self : Thread = .{
.main_context = undefined ,
.current_context = null ,
.seed_csprng = .init ,
.csprng = undefined ,
};
noinline fn current () *Thread {
return &self ;
}
fn currentFiber (thread : *Thread ) *Fiber {
assert (thread .current_context != &thread .main_context );
return @fieldParentPtr ("context" , thread .current_context .?);
}
const List = struct {
allocated : []Thread ,
reserved : u32 ,
active : u32 ,
};
}