comparison 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
comparison
equal deleted inserted replaced
55:19b2a2d98788 56:76846cb92b5c
3 HuffmanSet* HuffmanString::set = 0; 3 HuffmanSet* HuffmanString::set = 0;
4 4
5 HuffmanString::HuffmanString(const QString& str, HuffmanSet* set) 5 HuffmanString::HuffmanString(const QString& str, HuffmanSet* set)
6 { 6 {
7 set = this->set; 7 set = this->set;
8 if (!set) 8 if (!set) {
9 set = new HuffmanSet(); 9 set = new HuffmanSet();
10 atexit(&atExit);
11 }
10 this->set = set; 12 this->set = set;
11 13
12 key = set->insert(str); 14 key = set->insert(str);
15 }
16
17 void HuffmanString::atExit()
18 {
19 delete set;
20 set = 0;
13 } 21 }
14 22
15 QString HuffmanString::toString() const 23 QString HuffmanString::toString() const
16 { 24 {
17 return set->value(key); 25 return set->value(key);
29 37
30 bool HuffmanString::operator==(const HuffmanString& rhs) const 38 bool HuffmanString::operator==(const HuffmanString& rhs) const
31 { 39 {
32 return this->toString() == rhs.toString(); 40 return this->toString() == rhs.toString();
33 } 41 }
42
43 HuffmanSet& HuffmanString::getSet()
44 {
45 return *set;
46 }