aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamian Tarnawski <gthetarnav@gmail.com>2024-06-30 11:48:36 +0200
committerDamian Tarnawski <gthetarnav@gmail.com>2024-06-30 11:48:36 +0200
commit9db9f60400c900e5de75ef8669b62ac9528dee6d (patch)
treea6261b5685048f6c11cc599b26f58cf1089c9f35
parent9fc36bfa5c76bec6f890d744398169a8069ada5a (diff)
Add `raw_data` proc to `builtin/builtin.odin`
-rw-r--r--builtin/builtin.odin8
1 files changed, 8 insertions, 0 deletions
diff --git a/builtin/builtin.odin b/builtin/builtin.odin
index e6a634c..33f9788 100644
--- a/builtin/builtin.odin
+++ b/builtin/builtin.odin
@@ -34,6 +34,14 @@ conj :: proc(value: Complex_Or_Quaternion) -> Complex_Or_Quaternion ---
@builtin unreachable :: proc() -> ! ---
+@private _raw_data_slice :: proc(value: []$E) -> [^]E ---
+@private _raw_data_dynamic :: proc(value: [dynamic]$E) -> [^]E ---
+@private _raw_data_array :: proc(value: ^[$N]$E) -> [^]E ---
+@private _raw_data_simd :: proc(value: ^#simd[$N]$E) -> [^]E ---
+@private _raw_data_string :: proc(value: string) -> [^]byte ---
+// raw_data is a built-in procedure which returns the underlying data of a built-in data type as a Multi-Pointer.
+@builtin raw_data :: proc{_raw_data_slice, _raw_data_dynamic, _raw_data_array, _raw_data_simd, _raw_data_string}
+
/*
This is interally from the compiler
*/