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. Public Type Function
BackingInt
Public Type Function
std.meta.BackingInt
pubfnBackingInt(comptimeT: type) type
For enums, packed unions and packed structs, returns their backing integer type. For tagged unions, returns the backing integer type of their enum tag type.
File
meta.zig:524
524525526527528529530531532533534535536537
pubfnBackingInt(comptimeT: type) type {
switch (@typeInfo(T)) {
.@"enum" => |info| returninfo.tag_type,
.@"struct" => |info| if (info.backing_integer) |Int| returnInt,
.@"union" => |info| switch (info.layout) {
.@"packed" => returninfo.backing_integer.?,
.auto => if (info.tag_type) |EnumTag|
return@typeInfo(EnumTag).@"enum".tag_type,
.@"extern" => {},
},
else => {},
}
@compileError("expected enum, tagged union, packed union or packed struct type, found '" ++ @typeName(T) ++ "'");
}
For enums, packed unions and packed structs, returns their backing integer type. For tagged unions, returns the backing integer type of their enum tag type.