annotate BitArray.cpp @ 64:b9515dc35fe4

Make sure no file has greater linewidth than 80.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Fri, 14 Sep 2012 22:50:45 +0200
parents 247adcbbaf8b
children bc55cbd827bf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
64
b9515dc35fe4 Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 62
diff changeset
8 BitArray::BitArray(const BitArray& other)
b9515dc35fe4 Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 62
diff changeset
9 : size_(other.size()), bits(new uchar[NUMCHARS(size_)])
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
10 {
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 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
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
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 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
15 {
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 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
17 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
18 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
19 }
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 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
21 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
22 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
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
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 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
26 {
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 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
28 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
29 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
30 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
31 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
32 }
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 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
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
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 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
37 {
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 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
39 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
40 }
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 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
42 }