ucx/dlist.h

changeset 67
27e67e725d35
parent 36
a9d656e4f7ce
child 87
bd444539cced
     1.1 --- a/ucx/dlist.h	Thu Oct 11 08:42:56 2012 +0200
     1.2 +++ b/ucx/dlist.h	Thu Oct 11 11:42:31 2012 +0200
     1.3 @@ -15,25 +15,27 @@
     1.4  typedef struct UcxDlist UcxDlist;
     1.5  struct UcxDlist {
     1.6      void     *data;
     1.7 -    UcxDlist *next;
     1.8 -    UcxDlist *prev;
     1.9 +    UcxDlist *restrict next;
    1.10 +    UcxDlist *restrict prev;
    1.11  };
    1.12  
    1.13 -UcxDlist *ucx_dlist_clone(UcxDlist *l, copy_func fnc, void* data);
    1.14 -int ucx_dlist_equals(UcxDlist *l1, UcxDlist *l2, cmp_func fnc, void* data);
    1.15 +UcxDlist *restrict ucx_dlist_clone(UcxDlist *restrict l,
    1.16 +        copy_func fnc, void* data);
    1.17 +int ucx_dlist_equals(const UcxDlist *l1, const UcxDlist *l2,
    1.18 +        cmp_func fnc, void* data);
    1.19  
    1.20  void ucx_dlist_free(UcxDlist *l);
    1.21  UcxDlist *ucx_dlist_append(UcxDlist *l, void *data);
    1.22  UcxDlist *ucx_dlist_prepend(UcxDlist *l, void *data);
    1.23 -UcxDlist *ucx_dlist_concat(UcxDlist *l1, UcxDlist *l2);
    1.24 -UcxDlist *ucx_dlist_last(UcxDlist *l);
    1.25 -UcxDlist *ucx_dlist_get(UcxDlist *l, int index);
    1.26 -size_t ucx_dlist_size(UcxDlist *l);
    1.27 +UcxDlist *ucx_dlist_concat(UcxDlist *restrict l1, UcxDlist *restrict l2);
    1.28 +UcxDlist *ucx_dlist_last(const UcxDlist *l);
    1.29 +UcxDlist *ucx_dlist_get(const UcxDlist *l, int index);
    1.30 +size_t ucx_dlist_size(const UcxDlist *l);
    1.31  
    1.32  UcxDlist *ucx_dlist_sort(UcxDlist *l, cmp_func fnc, void *data);
    1.33  
    1.34  /* dlist specific functions */
    1.35 -UcxDlist *ucx_dlist_first(UcxDlist *l);
    1.36 +UcxDlist *ucx_dlist_first(const UcxDlist *l);
    1.37  UcxDlist *ucx_dlist_remove(UcxDlist *l, UcxDlist *e);
    1.38  
    1.39  #ifdef	__cplusplus

mercurial