Fix iterator traversal order

This commit is contained in:
Krzosa Karol
2023-03-31 12:41:19 +02:00
parent 534db633ed
commit 1839279235
4 changed files with 76 additions and 54 deletions

View File

@@ -38,6 +38,10 @@ struct Array {
}
}
void dealloc() {
deallocate(allocator, data);
}
S64 get_index(T *item) {
assert((data <= item) && ((data + len) > item));
size_t offset = item - data;
@@ -50,10 +54,6 @@ struct Array {
}
}
void reset() {
len = 0;
}
void add(T item) {
grow(1);
data[len++] = item;
@@ -101,6 +101,7 @@ struct Array {
force_inline B32 is_last(T *item) { return item == last(); }
force_inline B32 is_first(T *item) { return item == begin(); }
force_inline void clear() { len = 0; }
force_inline void reset() { len = 0; }
force_inline T pop() { return data[--len]; }
force_inline T *last() { return data + len - 1; }
force_inline T *begin() { return data; }