raw.odin 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package mem
  2. import "core:runtime"
  3. Raw_Any :: runtime.Raw_Any
  4. Raw_String :: runtime.Raw_String
  5. Raw_Cstring :: runtime.Raw_Cstring
  6. Raw_Slice :: runtime.Raw_Slice
  7. Raw_Dynamic_Array :: runtime.Raw_Dynamic_Array
  8. Raw_Map :: runtime.Raw_Map
  9. Raw_Complex64 :: struct {real, imag: f32}
  10. Raw_Complex128 :: struct {real, imag: f64}
  11. Raw_Quaternion128 :: struct {imag, jmag, kmag: f32, real: f32}
  12. Raw_Quaternion256 :: struct {imag, jmag, kmag: f64, real: f64}
  13. Raw_Quaternion128_Vector_Scalar :: struct {vector: [3]f32, scalar: f32}
  14. Raw_Quaternion256_Vector_Scalar :: struct {vector: [3]f64, scalar: f64}
  15. make_any :: proc "contextless" (data: rawptr, id: typeid) -> any {
  16. return transmute(any)Raw_Any{data, id}
  17. }
  18. raw_array_data :: runtime.raw_array_data
  19. raw_simd_data :: runtime.raw_simd_data
  20. raw_string_data :: runtime.raw_string_data
  21. raw_slice_data :: runtime.raw_slice_data
  22. raw_dynamic_array_data :: runtime.raw_dynamic_array_data
  23. raw_data :: runtime.raw_data
  24. Poly_Raw_Map_Entry :: struct($Key, $Value: typeid) {
  25. hash: uintptr,
  26. next: int,
  27. key: Key,
  28. value: Value,
  29. }
  30. Poly_Raw_Map :: struct($Key, $Value: typeid) {
  31. hashes: []int,
  32. entries: [dynamic]Poly_Raw_Map_Entry(Key, Value),
  33. }