annotate BitArray.cpp @ 115:404795616b1e default tip

Added a lot of common files to ignore
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Sat, 25 Mar 2017 17:43:57 +0100
parents bc55cbd827bf
children
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
65
bc55cbd827bf Compile fix.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 64
diff changeset
3 #include <cstring>
bc55cbd827bf Compile fix.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 64
diff changeset
4
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
5 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
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 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
8 }
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
64
b9515dc35fe4 Make sure no file has greater linewidth than 80.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 62
diff changeset
10 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
11 : 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
12 {
65
bc55cbd827bf Compile fix.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 64
diff changeset
13 std::memcpy(bits, other.bits, 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
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
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 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
17 {
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 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
19 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
20 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
21 }
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 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
23 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
24 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
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
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 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
28 {
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 (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
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 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
32 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
33 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
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 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
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
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 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
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 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
41 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
42 }
725b0d776f3c Fix a lot of problems with BitArray and reorganize which functions are
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
43 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
44 }