nctref/tests/ListS.nct
2025-06-10 22:07:38 +03:00

28 lines
512 B
Plaintext

record ListS[T, S; capacity] {
S size;
T[capacity] data;
}
ListS_remove: [T, S; capacity]u0(ListS[T, S; capacity]* this, S index) -> {
T* data = &((*this).data[index]);
(*this).size = (*this).size - 1;
S sz = (*this).size;
loop {
if(index == sz) {
break;
}
*data = *(data + 1);
data = data + 1;
index = index + 1;
}
return;
};
ListS_add: [T, S; capacity]u0(ListS[T, S; capacity]* this, T value) -> {
(*this).data[(*this).size] = value;
(*this).size = (*this).size + 1;
return;
};