From 126dec89e673cd98d2ba65daeae5dd0a6e017245 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Mon, 9 Sep 2002 11:23:31 +0000 Subject: added missing destructor; fixed clearNodes; fixed parameter of merge() svn-id: r4916 --- common/map.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'common/map.h') diff --git a/common/map.h b/common/map.h index 4d3b3f26ac..5fd655093c 100644 --- a/common/map.h +++ b/common/map.h @@ -79,6 +79,13 @@ public: _header = new Node(); _header->_right = _header->_left = _header; } + + ~Map() + { + clearNodes(_root); + delete _header; + _root = _header = 0; + } /* * Return the object for the given key. If no match is found, a new entry @@ -160,7 +167,7 @@ public: delete node; } - void merge(Map map) + void merge(const Map &map) { // FIXME - this is a very bad algorithm. // Right now we insert the items from 'map' using the default iterator, @@ -234,8 +241,8 @@ protected: if (!node) return; - clearNodes(left); - clearNodes(right); + clearNodes(node->_left); + clearNodes(node->_right); delete node; } }; -- cgit v1.2.3