From 936cba4a8a63bf17f1715d063cef7d9cb233fe4e Mon Sep 17 00:00:00 2001 From: lifegpc Date: Sun, 17 Apr 2022 15:00:45 +0800 Subject: [PATCH] Update utils --- linked_list.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/linked_list.h b/linked_list.h index 1e44129..e23d16e 100644 --- a/linked_list.h +++ b/linked_list.h @@ -340,6 +340,14 @@ void linked_list_remove(struct LinkedList*& node, void(*free_func)(T) = nullp free(node); } +template +void linked_list_remove_before(struct LinkedList* node, void(*free_func)(T) = nullptr) { + if (!node) return; + while (node->prev) { + linked_list_remove(node->prev, free_func); + } +} + template struct LinkedList* linked_list_tail(struct LinkedList* list) { if (!list) return nullptr;