diff options
Diffstat (limited to 'darray.h')
-rw-r--r-- | darray.h | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -51,10 +51,20 @@ 1 \ ) : 0) +// Last element of the array +// +#define rb_darray_back(ary) ((ary)->data[(ary)->meta.size - 1]) + // Remove the last element of the array. // #define rb_darray_pop_back(ary) ((ary)->meta.size--) +// Remove element at idx and replace it by the last element +#define rb_darray_remove_unordered(ary, idx) do { \ + rb_darray_set(ary, idx, rb_darray_back(ary)); \ + rb_darray_pop_back(ary); \ +} while (0); + // Iterate over items of the array in a for loop // #define rb_darray_foreach(ary, idx_name, elem_ptr_var) \ |