Mercurial > dedupe
annotate BitArray.cpp @ 62:247adcbbaf8b
Remove unnecessary includes in .cpp files.
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Fri, 14 Sep 2012 20:57:44 +0200 |
| parents | 725b0d776f3c |
| children | b9515dc35fe4 |
| rev | line source |
|---|---|
|
47
b23f04d4a276
Test a custom BitArray.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
1 #include "BitArray.hpp" |
|
b23f04d4a276
Test a custom BitArray.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
2 |
|
52
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
3 BitArray::~BitArray() |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
4 { |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
5 delete bits; |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
6 } |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
7 |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
8 BitArray::BitArray(const BitArray& other) : size_(other.size()), bits(new uchar[NUMCHARS(size_)]) |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
9 { |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
10 memcpy(bits, other.bits, NUMCHARS(size_)); |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
11 } |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
12 |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
13 BitArray& BitArray::operator=(const BitArray& other) |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
14 { |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
15 if (NUMCHARS(size_) != NUMCHARS(other.size_)) { |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
16 delete bits; |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
17 bits = new uchar[NUMCHARS(other.size_)]; |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
18 } |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
19 size_ = other.size_; |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
20 memcpy(bits, other.bits, NUMCHARS(size_)); |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
21 return *this; |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
22 } |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
23 |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
24 bool BitArray::operator==(const BitArray& rhs) const |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
25 { |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
26 if (size() != rhs.size()) |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
27 return false; |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
28 for(size_t i = 0; i < size(); ++i) { |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
29 if (testBit(i) != rhs.testBit(i)) |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
30 return false; |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
31 } |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
32 return true; |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
33 } |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
34 |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
35 std::ostream& operator<<(std::ostream& out, const BitArray& rhs) |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
36 { |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
37 for (size_t i = 0; i < rhs.size(); ++i) { |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
38 out << (rhs.testBit(i) ? "1" : "0"); |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
39 } |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
40 return out; |
|
725b0d776f3c
Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
41 } |
