diff options
| -rw-r--r-- | array.c | 8 | ||||
| -rw-r--r-- | array.h | 2 |
2 files changed, 10 insertions, 0 deletions
@@ -127,3 +127,11 @@ size_t array_length(Array *arr) { size_t array_capacity(Array *arr) { return arr->count; } + +bool array_truncate(Array *arr, size_t len) { + if (len <= arr->len) { + arr->len = len; + return true; + } + return false; +} @@ -56,5 +56,7 @@ bool array_remove(Array*, size_t idx); size_t array_length(Array*); /* return the number of elements which can be stored without enlarging the array */ size_t array_capacity(Array*); +/* remove all elements at index >= length, keep allocated memory */ +bool array_truncate(Array*, size_t length); #endif |
