diff options
| author | Riley Beckett <rbeckettvt@gmail.com> | 2025-10-23 00:07:26 -0400 |
|---|---|---|
| committer | Riley Beckett <rbeckettvt@gmail.com> | 2025-10-23 00:07:26 -0400 |
| commit | 9d8db4146d025e3a967700414a9fc68fa186045e (patch) | |
| tree | 9d0e0d6dd46a2f580f4b2fb4e1fbba2b0c6fb11e /array.h | |
| parent | 90d6b2a866c6da29921dfae3d684203fd232ea74 (diff) | |
add basic cursor movement
Diffstat (limited to 'array.h')
| -rw-r--r-- | array.h | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -27,6 +27,23 @@ void* array_add_(void* array, size_t item_size); (array) = NULL; \ } while (0) +#define array_erase(array, index) do { \ + if ((index)) {\ + for (int __i = (index) - 1; __i < array_size((array)) - 1; __i++) \ + (array)[__i] = (array)[__i + 1]; \ + ((array_info*)(array))[-1].size--; \ + } \ +} while(0) + +#define array_insert(array, index, value) do { \ + void* __temp = array_add_((array), sizeof(*(array))); \ + (array) = __temp; \ + for (int __i = array_size((array)) - 1; __i > (index); __i--) \ + (array)[__i] = (array)[__i - 1]; \ + (array)[(index)] = value; \ +} while(0) \ + + #define array_add(array, value) do { \ void* __temp = array_add_((array), sizeof(*(array))); \ (array) = __temp; \ |
