Mercurial > dedupe
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 } |
