raw.odin 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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_Soa_Pointer :: runtime.Raw_Soa_Pointer
  10. Raw_Complex64 :: struct {real, imag: f32}
  11. Raw_Complex128 :: struct {real, imag: f64}
  12. Raw_Quaternion128 :: struct {imag, jmag, kmag: f32, real: f32}
  13. Raw_Quaternion256 :: struct {imag, jmag, kmag: f64, real: f64}
  14. Raw_Quaternion128_Vector_Scalar :: struct {vector: [3]f32, scalar: f32}
  15. Raw_Quaternion256_Vector_Scalar :: struct {vector: [3]f64, scalar: f64}
  16. make_any :: proc "contextless" (data: rawptr, id: typeid) -> any {
  17. return transmute(any)Raw_Any{data, id}
  18. }
  19. raw_array_data :: runtime.raw_array_data
  20. raw_simd_data :: runtime.raw_simd_data
  21. raw_string_data :: runtime.raw_string_data
  22. raw_slice_data :: runtime.raw_slice_data
  23. raw_dynamic_array_data :: runtime.raw_dynamic_array_data
  24. raw_data :: runtime.raw_data
  25. Poly_Raw_Map_Entry :: struct($Key, $Value: typeid) {
  26. hash: uintptr,
  27. next: int,
  28. key: Key,
  29. value: Value,
  30. }
  31. Poly_Raw_Map :: struct($Key, $Value: typeid) {
  32. hashes: []int,
  33. entries: [dynamic]Poly_Raw_Map_Entry(Key, Value),
  34. }