12#include "../../rb-tree/rb-tree.hpp"
138 T*
lower_bound(std::size_t key,
bool (*cmp)(std::size_t, std::size_t)) {
Template wrapper for managing a Red-Black tree.
Definition RBTreeDriver.hpp:28
void insert(T *node)
Inserts a node into the RB-tree.
Definition RBTreeDriver.hpp:101
T * lower_bound(std::size_t key, bool(*cmp)(std::size_t, std::size_t))
Finds the smallest node with value >= key using custom comparison.
Definition RBTreeDriver.hpp:138
RBTreeDriver(const RBTreeDriver &)=delete
Copy constructor - deleted (move-only semantics).
RBTreeDriver(T *node)
Constructor with existing root node.
Definition RBTreeDriver.hpp:47
RBTreeDriver()
Default constructor - creates an empty tree.
Definition RBTreeDriver.hpp:37
RBTreeDriver & operator=(const RBTreeDriver &)=delete
Copy assignment - deleted (move-only semantics).
RBTreeDriver(RBTreeDriver &&other)
Move constructor - transfers ownership of tree.
Definition RBTreeDriver.hpp:66
RBTreeDriver & operator=(RBTreeDriver &&other)
Move assignment - transfers ownership of tree.
Definition RBTreeDriver.hpp:76
void remove(T *node)
Removes a node from the RB-tree.
Definition RBTreeDriver.hpp:121
RbNode * lower_bound(RbNode *root, std::size_t key, bool(*cmp)(std::size_t, std::size_t))
Finds the smallest node with value >= key.
Definition rb-tree.hpp:592
void insert(RbNode *&root, RbNode *new_node)
Inserts a new node into the Red-Black tree.
Definition rb-tree.hpp:318
void remove(RbNode *&root, RbNode *node)
Removes a node from the Red-Black tree.
Definition rb-tree.hpp:499