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. Private Struct

Size

Private Struct
std.heap.ArenaAllocator.Node.Size
const Size = packed struct(usize)

Fields

resizing: bool
_: @Int(.unsigned, @bitSizeOf(usize) - 1) = 0

Functions

fn fromInt(int: usize) Size
fn toInt(size: Size) usize

File

heap/ArenaAllocator.zig:231
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
    const Size = packed struct(usize) {
        resizing: bool,
        _: @Int(.unsigned, @bitSizeOf(usize) - 1) = 0,

        fn fromInt(int: usize) Size {
            assert(int >= @sizeOf(Node));
            const size: Size = @bitCast(int);
            assert(!size.resizing);
            return size;
        }

        fn toInt(size: Size) usize {
            var int = size;
            int.resizing = false;
            return @bitCast(int);
        }

        comptime {
            assert(Size{ .resizing = true } == @as(Size, @bitCast(@as(usize, 1))));
        }
    }