Files
coven/core/static_array.jai

33 lines
937 B
Plaintext

Static_Array :: struct (Data_Type : Type, Count: s64) {
data: [Count] Data_Type;
count: s64;
}
array_add :: (static_array: *Static_Array, value: static_array.Data_Type) {
assert(static_array.count < static_array.Count);
static_array.data[static_array.count] = value;
static_array.count += 1;
}
for_expansion :: (static_array: *Static_Array, body: Code, flags: For_Flags) #expand {
for `it_index: 0..static_array.count-1 {
#if flags & .POINTER {
`it := *static_array.data[it_index];
} else {
`it := static_array.data[it_index];
}
#insert body;
}
}
array_contains :: (static_array: Static_Array, value: static_array.Data_Type) -> bool {
for static_array {
if it == value return true;
}
return false;
}
operator [] :: (static_array: Static_Array, index: int) -> static_array.Data_Type {
return static_array.data[index];
}