From 2a265f75ae332fc8febc876e132ce63a0a7aac65 Mon Sep 17 00:00:00 2001 From: Mineplay Date: Sun, 7 Sep 2025 11:53:49 -0500 Subject: [PATCH] feat(red black tree): implemented is empty function --- Include/Fledasty/Trees/RedBlackTree.h | 34 ++++++++++++++------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/Include/Fledasty/Trees/RedBlackTree.h b/Include/Fledasty/Trees/RedBlackTree.h index f88f3d8..7a1a16d 100644 --- a/Include/Fledasty/Trees/RedBlackTree.h +++ b/Include/Fledasty/Trees/RedBlackTree.h @@ -33,22 +33,24 @@ #include "../Utils/Error.h" -#define FLEDASTY_RED_BLACK_TREE_DEFINE(key_type, value_type, name) \ -typedef struct FledastyRedBlackTreeNode_##name { \ - bool is_red; \ - \ - key_type key; \ - value_type value; \ - \ - struct FledastyRedBlackTreeNode_##name *parent, *left, *right; \ -} FledastyRedBlackTreeNode_##name; \ - \ -typedef struct { \ - size_t size; \ - FledastyRedBlackTreeNode_##name *top; \ -} FledastyRedBlackTree_##name; \ - \ -FledastyError fledasty_red_black_tree_##name##_free(FledastyRedBlackTree_##name *current_red_black_tree); \ +#define FLEDASTY_RED_BLACK_TREE_DEFINE(key_type, value_type, name) \ +typedef struct FledastyRedBlackTreeNode_##name { \ + bool is_red; \ + \ + key_type key; \ + value_type value; \ + \ + struct FledastyRedBlackTreeNode_##name *parent, *left, *right; \ +} FledastyRedBlackTreeNode_##name; \ + \ +typedef struct { \ + size_t size; \ + FledastyRedBlackTreeNode_##name *top; \ +} FledastyRedBlackTree_##name; \ + \ +FledastyError fledasty_red_black_tree_##name##_free(FledastyRedBlackTree_##name *current_red_black_tree); \ + \ +static inline bool fledasty_red_black_tree_##name##_is_empty(const FledastyRedBlackTree_##name *current_red_black_tree) { return current_red_black_tree == NULL || current_red_black_tree->size == 0; } #define FLEDASTY_RED_BLACK_TREE_IMPLEMENT(key_type, value_type, name, compare_key_function, key_less_than_function) \ FledastyError fledasty_red_black_tree_##name##_free(FledastyRedBlackTree_##name *current_red_black_tree) { \