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 Enum

OptionalIndex

Public Enum
std.Build.Configuration.Package.OptionalIndex
pub const OptionalIndex = enum(u32)

Functions

pub fn init(i: Index) OptionalIndex
pub fn unwrap(this: @This()) ?Index

File

Build/Configuration.zig:1620
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
    pub const OptionalIndex = enum(u32) {
        none = max_u32 - 1,
        root = max_u32,
        _,

        pub fn init(i: Index) OptionalIndex {
            const result: OptionalIndex = @fromBackingInt(@intCast(@backingInt(i)));
            assert(result != .none);
            return result;
        }

        pub fn unwrap(this: @This()) ?Index {
            return switch (this) {
                .none => null,
                .root => .root,
                _ => @fromBackingInt(@intCast(@backingInt(this))),
            };
        }
    }