X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fplist.h;h=197aa33f19e21660f303e1141c9e07abf1ddd205;hp=4bb76b5a60af9ade3876d8d3a6152cb8a577b2eb;hb=39bbd983561a028dc67a52c2da1c6b13981d2e14;hpb=6ebcb60416cad353f5aeacebe919cb6990ef5a7d diff --git a/src/plist.h b/src/plist.h index 4bb76b5..197aa33 100644 --- a/src/plist.h +++ b/src/plist.h @@ -26,12 +26,16 @@ #ifndef PSI_PLIST_H #define PSI_PLIST_H +#include +#include + struct psi_plist; typedef void (*psi_plist_dtor)(void *); struct psi_plist *psi_plist_init(void (*dtor)(void *)); struct psi_plist *psi_plist_init_ex(size_t size, void (*dtor)(void *)); +void psi_plist_clean(struct psi_plist *list); void psi_plist_free(struct psi_plist *list); struct psi_plist *psi_plist_copy(struct psi_plist *list, void (*ctor)(void *)); @@ -46,6 +50,9 @@ bool psi_plist_del_r(struct psi_plist *list, size_t offset_start, size_t offset_ struct psi_plist *psi_plist_ins(struct psi_plist *list, size_t index, void *ptr); struct psi_plist *psi_plist_ins_r(struct psi_plist *list, size_t offset_start, size_t num_eles, void **eles); +bool psi_plist_set(struct psi_plist *list, size_t index, void *ptr); +bool psi_plist_unset(struct psi_plist *list, size_t index); + bool psi_plist_shift(struct psi_plist *list, void *ptr); bool psi_plist_pop(struct psi_plist *list, void *ptr); bool psi_plist_top(struct psi_plist *list, void *ptr);