28 lines
512 B
Plaintext
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;
|
|
};
|