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/ › llvm/ › Builder.zig › ThreadLocal
ThreadLocal
Builder.ThreadLocal
pub const ThreadLocal = enum (u3 )
File
Code
pub const ThreadLocal = enum (u3 ) {
default = 0 ,
generaldynamic = 1 ,
localdynamic = 2 ,
initialexec = 3 ,
localexec = 4 ,
pub fn format (tl : ThreadLocal , w : *Writer ) Writer .Error !void {
return Prefixed .format (.{ .thread_local = tl , .prefix = "" }, w );
}
pub const Prefixed = struct {
thread_local : ThreadLocal ,
prefix : []const u8 ,
pub fn format (p : Prefixed , w : *Writer ) Writer .Error !void {
switch (p .thread_local ) {
.default => return ,
.generaldynamic => {
var vecs : [2 ][]const u8 = .{ p .prefix , "thread_local" };
return w .writeVecAll (&vecs );
},
else => {
var vecs : [4 ][]const u8 = .{ p .prefix , "thread_local(" , @tagName (p .thread_local ), ")" };
return w .writeVecAll (&vecs );
},
}
}
};
pub fn fmt (tl : ThreadLocal , prefix : []const u8 ) Prefixed {
return .{ .thread_local = tl , .prefix = prefix };
}
}