blob: 5b68220a66bbe61487dc542fc06d7c4f12c560c8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
#include "boolset.h"
#include <iostream>
using namespace omega;
void foo(const BoolSet<> &B) {
for (BoolSet<>::const_iterator i = B.begin(); i != B.end(); i++)
std::cout << *i << ' ';
std::cout << std::endl;
}
int main() {
BoolSet<> A(13);
A.set(2);
std::cout << A << std::endl;
A.set_all();
std::cout << A << std::endl;
A.unset_all();
std::cout << A << std::endl;
A.set(2);
A.set(4);
BoolSet<> B(13);
B.set(2);
std::cout << "A: " << A << std::endl;
std::cout << "B: " << B << std::endl;
std::cout << A.imply(B) << std::endl;
std::cout << B.imply(A) << std::endl;
B.set(10);
std::cout << (A|B) << std::endl;
std::cout << (A&B) << std::endl;
BoolSet<> C(3);
C.set(0);
std::cout << (A|C) << std::endl;
std::cout << ~(A|C) << std::endl;
B = BoolSet<>(23);
std::cout << "test iterator\n";
B.set(12);
B.set(11);
B.set(0);
std::cout << B << std::endl;
for (BoolSet<>::const_iterator i = B.begin(); i != B.end(); i++) {
std::cout << *i << ' ';
if (*i == 11)
B.unset(*i);
}
std::cout << std::endl;
std::cout << B << std::endl;
std::cout << std::endl;
foo(B);
std::cout << ~BoolSet<>(5) << std::endl;
std::cout << "------\n";
B.dump();
std::cout << std::endl << *(B.begin()+1) << std::endl;
for (BoolSet<>::iterator i = B.begin(); i != B.end(); i++)
for (BoolSet<>::iterator j = i; j != B.end(); j++)
if (j == i)
std::cout << "ehh-";
}
|