pub const MemoryMapSlice = struct info: MemoryMapInfoptr: [*]align(@alignOf(MemoryDescriptor)) u8pub fn iterator(self: MemoryMapSlice) MemoryDescriptorIteratorpub fn get(self: MemoryMapSlice, index: usize) ?*MemoryDescriptorpub fn getUnchecked(self: MemoryMapSlice, index: usize) *MemoryDescriptor142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159pub 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..]));
}
}