raw.odin 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package mem
  2. import "base:builtin"
  3. import "base:runtime"
  4. /*
  5. Memory layout of the `any` type.
  6. */
  7. Raw_Any :: runtime.Raw_Any
  8. /*
  9. Memory layout of the `string` type.
  10. */
  11. Raw_String :: runtime.Raw_String
  12. /*
  13. Memory layout of the `cstring` type.
  14. */
  15. Raw_Cstring :: runtime.Raw_Cstring
  16. /*
  17. Memory layout of `[]T` types.
  18. */
  19. Raw_Slice :: runtime.Raw_Slice
  20. /*
  21. Memory layout of `[dynamic]T` types.
  22. */
  23. Raw_Dynamic_Array :: runtime.Raw_Dynamic_Array
  24. /*
  25. Memory layout of `map[K]V` types.
  26. */
  27. Raw_Map :: runtime.Raw_Map
  28. /*
  29. Memory layout of `#soa []T` types.
  30. */
  31. Raw_Soa_Pointer :: runtime.Raw_Soa_Pointer
  32. /*
  33. Memory layout of the `complex32` type.
  34. */
  35. Raw_Complex32 :: runtime.Raw_Complex32
  36. /*
  37. Memory layout of the `complex64` type.
  38. */
  39. Raw_Complex64 :: runtime.Raw_Complex64
  40. /*
  41. Memory layout of the `complex128` type.
  42. */
  43. Raw_Complex128 :: runtime.Raw_Complex128
  44. /*
  45. Memory layout of the `quaternion64` type.
  46. */
  47. Raw_Quaternion64 :: runtime.Raw_Quaternion64
  48. /*
  49. Memory layout of the `quaternion128` type.
  50. */
  51. Raw_Quaternion128 :: runtime.Raw_Quaternion128
  52. /*
  53. Memory layout of the `quaternion256` type.
  54. */
  55. Raw_Quaternion256 :: runtime.Raw_Quaternion256
  56. /*
  57. Memory layout of the `quaternion64` type.
  58. */
  59. Raw_Quaternion64_Vector_Scalar :: runtime.Raw_Quaternion64_Vector_Scalar
  60. /*
  61. Memory layout of the `quaternion128` type.
  62. */
  63. Raw_Quaternion128_Vector_Scalar :: runtime.Raw_Quaternion128_Vector_Scalar
  64. /*
  65. Memory layout of the `quaternion256` type.
  66. */
  67. Raw_Quaternion256_Vector_Scalar :: runtime.Raw_Quaternion256_Vector_Scalar
  68. /*
  69. Create a value of the any type.
  70. This procedure creates a value with type `any` that points to an object with
  71. typeid `id` located at an address specified by `data`.
  72. */
  73. make_any :: proc "contextless" (data: rawptr, id: typeid) -> any {
  74. return transmute(any)Raw_Any{data, id}
  75. }
  76. /*
  77. Obtain pointer to the data.
  78. This procedure returns the pointer to the data of a slice, string, or a dynamic
  79. array.
  80. */
  81. raw_data :: builtin.raw_data