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 Struct

MemoryMapSlice

Public Struct
std.os.uefi.tables.MemoryMapSlice
pub const MemoryMapSlice = struct

Fields

info: MemoryMapInfo
ptr: [*]align(@alignOf(MemoryDescriptor)) u8

Functions

pub fn iterator(self: MemoryMapSlice) MemoryDescriptorIterator
pub fn get(self: MemoryMapSlice, index: usize) ?*MemoryDescriptor
pub fn getUnchecked(self: MemoryMapSlice, index: usize) *MemoryDescriptor

File

os/uefi/tables.zig:142
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
pub const MemoryMapSlice = struct {
    info: MemoryMapInfo,
    ptr: [*]align(@alignOf(MemoryDescriptor)) u8,

    pub fn iterator(self: MemoryMapSlice) MemoryDescriptorIterator {
        return .{ .ctx = self };
    }

    pub fn get(self: MemoryMapSlice, index: usize) ?*MemoryDescriptor {
        if (index >= self.info.len) return null;
        return self.getUnchecked(index);
    }

    pub fn getUnchecked(self: MemoryMapSlice, index: usize) *MemoryDescriptor {
        const offset: usize = index * self.info.descriptor_size;
        return @ptrCast(@alignCast(self.ptr[offset..]));
    }
}