aboutsummaryrefslogtreecommitdiff
path: root/mirai.old/utils/mem/slice.zig
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-02-24 06:56:58 +0530
committerBobby <[email protected]>2026-02-24 06:56:58 +0530
commit5fe89e6f5b6fd6f5b5589b9e5d4714e0f4fbe5e8 (patch)
tree2ae2a13678844b82b43583ca28eed4d4b6223ec0 /mirai.old/utils/mem/slice.zig
parent297c66b480a238dad5ce7f03405fe6f5b9123701 (diff)
downloadakiba-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.zig29
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));
+}