diff HuffmanString.cpp @ 56:76846cb92b5c

Clean up at exit. Add getSet function.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Thu, 13 Sep 2012 23:49:18 +0200
parents fda70a362ed5
children
line wrap: on
line diff
--- a/HuffmanString.cpp	Thu Sep 13 23:47:29 2012 +0200
+++ b/HuffmanString.cpp	Thu Sep 13 23:49:18 2012 +0200
@@ -5,13 +5,21 @@
 HuffmanString::HuffmanString(const QString& str, HuffmanSet* set)
 {
   set = this->set;
-  if (!set)
+  if (!set) {
     set = new HuffmanSet();
+    atexit(&atExit);
+  }
   this->set = set;
 
   key = set->insert(str);
 }
 
+void HuffmanString::atExit()
+{
+  delete set;
+  set = 0;
+}
+
 QString HuffmanString::toString() const
 {
   return set->value(key);
@@ -31,3 +39,8 @@
 {
   return this->toString() == rhs.toString();
 }
+
+HuffmanSet& HuffmanString::getSet()
+{
+  return *set;
+}