Refresh the repo
This commit is contained in:
15
examples/push_struct.core
Normal file
15
examples/push_struct.core
Normal file
@@ -0,0 +1,15 @@
|
||||
MA :: #import "Arena.core"
|
||||
|
||||
PushStruct :: (a: *MA.Arena, $K: Type, $T: Type): *T
|
||||
size := sizeof(T)
|
||||
result := MA.PushSize(a, size->U64)
|
||||
return result->*T
|
||||
|
||||
main :: (argc: int, argv: **char): int
|
||||
arena: MA.Arena
|
||||
a: *int = PushStruct(&arena, int, int)
|
||||
b: *F32 = PushStruct(&arena, int, F32)
|
||||
padding := sizeof(int)
|
||||
Assert(arena.len->int == (sizeof(int) + sizeof(F32) + padding))
|
||||
|
||||
return 0
|
||||
Reference in New Issue
Block a user