src/array_list.c

changeset 647
2e6e9d9f2159
parent 643
5700ba9154ab
child 654
c9d008861178
     1.1 --- a/src/array_list.c	Wed Feb 08 18:56:58 2023 +0100
     1.2 +++ b/src/array_list.c	Wed Feb 08 20:26:09 2023 +0100
     1.3 @@ -292,6 +292,17 @@
     1.4      return result;
     1.5  }
     1.6  
     1.7 +static int cx_arl_swap(
     1.8 +        struct cx_list_s *list,
     1.9 +        size_t i,
    1.10 +        size_t j
    1.11 +) {
    1.12 +    if (i >= list->size || j >= list->size) return 1;
    1.13 +    cx_array_list *arl = (cx_array_list *) list;
    1.14 +    cx_array_swap(arl->data, list->itemsize, i, j);
    1.15 +    return 0;
    1.16 +}
    1.17 +
    1.18  static void *cx_arl_at(
    1.19          struct cx_list_s const *list,
    1.20          size_t index
    1.21 @@ -420,6 +431,7 @@
    1.22          cx_arl_insert_array,
    1.23          cx_arl_insert_iter,
    1.24          cx_arl_remove,
    1.25 +        cx_arl_swap,
    1.26          cx_arl_at,
    1.27          cx_arl_find,
    1.28          cx_arl_sort,

mercurial