Mercurial > dedupe
annotate HuffmanString.cpp @ 38:7905fa8a3f1b
Test for empty string.
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Fri, 07 Sep 2012 13:07:46 +0200 |
| parents | fda70a362ed5 |
| children | 76846cb92b5c |
| rev | line source |
|---|---|
|
21
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
1 #include "HuffmanString.hpp" |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
2 |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
3 HuffmanSet* HuffmanString::set = 0; |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
4 |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
5 HuffmanString::HuffmanString(const QString& str, HuffmanSet* set) |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
6 { |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
7 set = this->set; |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
8 if (!set) |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
9 set = new HuffmanSet(); |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
10 this->set = set; |
|
34
fda70a362ed5
Remove whitespace.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
21
diff
changeset
|
11 |
|
21
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
12 key = set->insert(str); |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
13 } |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
14 |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
15 QString HuffmanString::toString() const |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
16 { |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
17 return set->value(key); |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
18 } |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
19 |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
20 HuffmanString::operator QString() const |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
21 { |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
22 return toString(); |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
23 } |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
24 |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
25 bool HuffmanString::operator<(const HuffmanString& rhs) const |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
26 { |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
27 return this->toString() < rhs.toString(); |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
28 } |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
29 |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
30 bool HuffmanString::operator==(const HuffmanString& rhs) const |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
31 { |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
32 return this->toString() == rhs.toString(); |
|
3bcdb8bb6914
Huffman representations.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
33 } |
