travis: update
[m6w6/ext-psi] / src / plist.h
index bca0d85ded589454114d025d8cd0b9f50aebb75f..197aa33f19e21660f303e1141c9e07abf1ddd205 100644 (file)
 #ifndef PSI_PLIST_H
 #define PSI_PLIST_H
 
+#include <stdbool.h>
+#include <stddef.h>
+
 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 *));
 
@@ -39,11 +43,15 @@ size_t psi_plist_count(struct psi_plist *list);
 void **psi_plist_eles(struct psi_plist *list);
 
 struct psi_plist *psi_plist_add(struct psi_plist *list, void *ptr);
+struct psi_plist *psi_plist_add_r(struct psi_plist *list, size_t num_eles, void **eles);
 bool psi_plist_get(struct psi_plist *list, size_t index, void *ptr);
 bool psi_plist_del(struct psi_plist *list, size_t index, void *ptr);
-bool psi_plist_del_range(struct psi_plist *list, size_t offset_start, size_t offset_end, void **eles);
+bool psi_plist_del_r(struct psi_plist *list, size_t offset_start, size_t offset_end, void **eles);
 struct psi_plist *psi_plist_ins(struct psi_plist *list, size_t index, void *ptr);
-struct psi_plist *psi_plist_ins_range(struct psi_plist *list, size_t offset_start, size_t num_eles, void **eles);
+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);