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/ › debug.zig › SafetyLock
SafetyLock
debug.SafetyLock
pub const SafetyLock = struct
File
Code
pub const SafetyLock = struct {
state : State = if (runtime_safety ) .unlocked else .unknown ,
pub const State = if (runtime_safety ) enum { unlocked , locked } else enum { unknown };
pub fn lock (l : *SafetyLock ) void {
if (!runtime_safety ) return ;
assert (l .state == .unlocked );
l .state = .locked ;
}
pub fn unlock (l : *SafetyLock ) void {
if (!runtime_safety ) return ;
assert (l .state == .locked );
l .state = .unlocked ;
}
pub fn assertUnlocked (l : SafetyLock ) void {
if (!runtime_safety ) return ;
assert (l .state == .unlocked );
}
pub fn assertLocked (l : SafetyLock ) void {
if (!runtime_safety ) return ;
assert (l .state == .locked );
}
}