15 lines
392 B
Core
15 lines
392 B
Core
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 |