Zig 0.17.0-dev (Split by item)

Shortcut keys
?
Show these tips
S
Focus search field
Esc
Clear focus & close tips
U
Jump to source code
↑
Move up in search results
↓
Move down in search results
↵
Go to active search result
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 Function

tagName

Public Function
std.enums.tagName
pub fn tagName(comptime E: type, e: E) ?[:0]const u8

A safe alternative to @tagName() for non-exhaustive enums that doesn't panic when e has no tagged value. Returns the tag name for e or null if no tag exists.

Params

  • E: type
  • e: E

File

enums.zig:63
63
64
65
66
67
68
69
70
pub fn tagName(comptime E: type, e: E) ?[:0]const u8 {
    const field_names = @typeInfo(E).@"enum".field_names;
    const field_values = @typeInfo(E).@"enum".field_values;
    @setEvalBranchQuota(field_names.len);
    return inline for (field_names, field_values) |f_name, f_value| {
        if (@backingInt(e) == f_value) break f_name;
    } else null;
}