aboutsummaryrefslogtreecommitdiffhomepage
path: root/rbtree.h
diff options
context:
space:
mode:
Diffstat (limited to 'rbtree.h')
-rw-r--r--rbtree.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/rbtree.h b/rbtree.h
index f1e920a..d5f2a6e 100644
--- a/rbtree.h
+++ b/rbtree.h
@@ -49,16 +49,10 @@ public:
{
RB_INIT(&head);
}
-
virtual
~RBTree()
{
- RBEntry *cur;
-
- while ((cur = min())) {
- remove(cur);
- delete cur;
- }
+ clear();
}
inline RBEntry *
@@ -92,6 +86,17 @@ public:
{
return RB_MAX(Tree, &head);
}
+
+ inline void
+ clear(void)
+ {
+ RBEntry *cur;
+
+ while ((cur = min())) {
+ remove(cur);
+ delete cur;
+ }
+ }
};
template <typename KeyType, typename ValueType>