20 lines
410 B
Core
20 lines
410 B
Core
MA :: #import "Arena.core"
|
|
|
|
/*
|
|
PushStruct :: (a: *MA.Arena, $T: Type): *$T
|
|
size := size_of(Type)
|
|
result := PushSize(a, size)
|
|
return result
|
|
*/
|
|
|
|
PushStruct :: (a: *MA.Arena, type: Type): *void
|
|
ti := GetTypeInfo(type)
|
|
result := MA.PushSize(a, ti.size->U64)
|
|
return result
|
|
|
|
main :: (argc: int, argv: **char): int
|
|
arena: MA.Arena
|
|
a: *int = PushStruct(&arena, int)
|
|
Assert(arena.len == SizeOf(int))
|
|
|
|
return 0 |