aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
*/