16 lines
304 B
Core
16 lines
304 B
Core
#import "LibC.core"
|
|
|
|
Array :: struct($T: Type)
|
|
data: *T
|
|
len: int
|
|
cap: int
|
|
|
|
Add :: (a: *Array($T), item: T)
|
|
if a.cap == 0
|
|
a.cap = 16
|
|
a.data = malloc(SizeOf(T) * a.cap->U64)
|
|
if a.len + 1 > a.cap
|
|
a.cap *= 2
|
|
a.data = realloc(a.data, SizeOf(T) * a.cap->U64)
|
|
a.data[a.len++] = item
|