diff options
| author | Bobby <[email protected]> | 2026-02-24 06:56:58 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2026-02-24 06:56:58 +0530 |
| commit | 5fe89e6f5b6fd6f5b5589b9e5d4714e0f4fbe5e8 (patch) | |
| tree | 2ae2a13678844b82b43583ca28eed4d4b6223ec0 /mirai.old/utils/mem/slice.zig | |
| parent | 297c66b480a238dad5ce7f03405fe6f5b9123701 (diff) | |
| download | akiba-5fe89e6f5b6fd6f5b5589b9e5d4714e0f4fbe5e8.tar.xz akiba-5fe89e6f5b6fd6f5b5589b9e5d4714e0f4fbe5e8.zip | |
Bunch of stuff moved as .old for new arch change
Diffstat (limited to 'mirai.old/utils/mem/slice.zig')
| -rw-r--r-- | mirai.old/utils/mem/slice.zig | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/mirai.old/utils/mem/slice.zig b/mirai.old/utils/mem/slice.zig new file mode 100644 index 0000000..f750d6c --- /dev/null +++ b/mirai.old/utils/mem/slice.zig @@ -0,0 +1,29 @@ +//! Slice and pointer utilities + +pub inline fn from_ptr(comptime T: type, ptr: u64, len: usize) []T { + return @as([*]T, @ptrFromInt(ptr))[0..len]; +} + +pub inline fn from_ptr_const(comptime T: type, ptr: u64, len: usize) []const T { + return @as([*]const T, @ptrFromInt(ptr))[0..len]; +} + +pub inline fn byte_ptr(ptr: u64) [*]u8 { + return @as([*]u8, @ptrFromInt(ptr)); +} + +pub inline fn byte_ptr_const(ptr: u64) [*]const u8 { + return @as([*]const u8, @ptrFromInt(ptr)); +} + +pub inline fn null_term_ptr(ptr: u64) [*:0]const u8 { + return @as([*:0]const u8, @ptrFromInt(ptr)); +} + +pub inline fn typed_ptr(comptime T: type, ptr: u64) [*]T { + return @as([*]T, @ptrFromInt(ptr)); +} + +pub inline fn typed_ptr_const(comptime T: type, ptr: u64) [*]const T { + return @as([*]const T, @ptrFromInt(ptr)); +} |
