15 lines
372 B
Core
15 lines
372 B
Core
MA :: #import "Arena.core"
|
|
|
|
PushStruct :: (a: *MA.Arena, $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)
|
|
b: *F32 = PushStruct(&arena, F32)
|
|
padding := SizeOf(int)
|
|
Assert(arena.len->S64 == (SizeOf(int) + SizeOf(F32) + padding))
|
|
|
|
return 0 |