cpp: avoid a gazillion calls to memcpy/memmove
[m6w6/ext-psi] / src / plist.h
index 4bb76b5a60af9ade3876d8d3a6152cb8a577b2eb..e119ead8b86f598aea1b19e82b7b6dac6bad9d52 100644 (file)
@@ -32,6 +32,7 @@ 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 +47,8 @@ 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_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);