From c73af10e4025e5fc9956d868c8682c08f323bfc6 Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Mon, 31 Oct 2022 07:39:44 +0100 Subject: Added clist_X_reverse() and node API functions ++. NB! needs a bit more testing. --- docs/clist_api.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'docs') diff --git a/docs/clist_api.md b/docs/clist_api.md index 7e2b9c58..0d20941a 100644 --- a/docs/clist_api.md +++ b/docs/clist_api.md @@ -48,24 +48,24 @@ void clist_X_drop(clist_X* self); bool clist_X_empty(const clist_X* list); size_t clist_X_count(const clist_X* list); // size() in O(n) time -clist_X_value* clist_X_front(const clist_X* self); clist_X_value* clist_X_back(const clist_X* self); - -void clist_X_push_front(clist_X* self, i_val value); -void clist_X_emplace_front(clist_X* self, i_valraw raw); -void clist_X_pop_front(clist_X* self); +clist_X_value* clist_X_front(const clist_X* self); void clist_X_push_back(clist_X* self, i_val value); // note: no pop_back() +void clist_X_push_front(clist_X* self, i_val value); void clist_X_push(clist_X* self, i_val value); // alias for push_back() + void clist_X_emplace_back(clist_X* self, i_valraw raw); +void clist_X_emplace_front(clist_X* self, i_valraw raw); void clist_X_emplace(clist_X* self, i_valraw raw); // alias for emplace_back() clist_X_iter clist_X_insert_at(clist_X* self, clist_X_iter it, i_val value); // return iter to new elem clist_X_iter clist_X_emplace_at(clist_X* self, clist_X_iter it, i_valraw raw); +void clist_X_pop_front(clist_X* self); clist_X_iter clist_X_erase_at(clist_X* self, clist_X_iter it); // return iter after it clist_X_iter clist_X_erase_range(clist_X* self, clist_X_iter it1, clist_X_iter it2); -size_t clist_X_remove(clist_X* self, i_valraw raw); // removes matching elements +size_t clist_X_remove(clist_X* self, i_valraw raw); // removes all matches clist_X clist_X_split_off(clist_X* self, clist_X_iter i1, clist_X_iter i2); // split off [i1, i2) clist_X_iter clist_X_splice(clist_X* self, clist_X_iter it, clist_X* other); // return updated valid it @@ -78,6 +78,12 @@ const i_val* clist_X_get(const clist_X* self, i_valraw val); i_val* clist_X_get_mut(clist_X* self, i_valraw val); void clist_X_sort(clist_X* self); +void clist_X_reverse(clist_X* self); +// Node API +clist_X_value* clist_X_push_node_back(clist_X* self, clist_X_node* node); +clist_X_value* clist_X_insert_node_after(clist_X* self, clist_X_node* ref, clist_X_node* node); +clist_X_node* clist_X_unlink_node_after(clist_X* self, clist_X_node* ref); // return unlinked +void clist_X_erase_node_after(clist_X* self, clist_X_node* node); clist_X_iter clist_X_begin(const clist_X* self); clist_X_iter clist_X_end(const clist_X* self); -- cgit v1.2.3