forked from OSchip/llvm-project
Make maxSize a private variable, add a size() accessor
llvm-svn: 4573
This commit is contained in:
parent
92acbcda99
commit
21d8b9f0d6
|
@ -41,6 +41,7 @@ class BitSetVector {
|
||||||
class iterator;
|
class iterator;
|
||||||
|
|
||||||
std::vector<bitword> bitsetVec;
|
std::vector<bitword> bitsetVec;
|
||||||
|
unsigned maxSize;
|
||||||
|
|
||||||
static unsigned NumWords(unsigned Size) { return (Size+WORDSIZE-1)/WORDSIZE;}
|
static unsigned NumWords(unsigned Size) { return (Size+WORDSIZE-1)/WORDSIZE;}
|
||||||
|
|
||||||
|
@ -53,14 +54,15 @@ class BitSetVector {
|
||||||
BitSetVector(); // do not implement!
|
BitSetVector(); // do not implement!
|
||||||
|
|
||||||
public:
|
public:
|
||||||
unsigned maxSize;
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Constructor: create a set of the maximum size maxSetSize.
|
/// Constructor: create a set of the maximum size maxSetSize.
|
||||||
/// The set is initialized to empty.
|
/// The set is initialized to empty.
|
||||||
///
|
///
|
||||||
BitSetVector(unsigned maxSetSize)
|
BitSetVector(unsigned maxSetSize)
|
||||||
: bitsetVec(BitSetVector::NumWords(maxSetSize)), maxSize(maxSetSize) { }
|
: bitsetVec(NumWords(maxSetSize)), maxSize(maxSetSize) { }
|
||||||
|
|
||||||
|
/// size - Return the number of bits tracked by this bit vector...
|
||||||
|
unsigned size() const { return maxSize; }
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Modifier methods: reset, set for entire set, operator[] for one element.
|
/// Modifier methods: reset, set for entire set, operator[] for one element.
|
||||||
|
@ -229,7 +231,7 @@ inline std::ostream& operator<< (std::ostream& O, const BitSetVector& bset)
|
||||||
inline bool Disjoint(const BitSetVector& set1,
|
inline bool Disjoint(const BitSetVector& set1,
|
||||||
const BitSetVector& set2)
|
const BitSetVector& set2)
|
||||||
{
|
{
|
||||||
assert(set1.maxSize == set2.maxSize && "Illegal intersection");
|
assert(set1.size() == set2.size() && "Illegal intersection");
|
||||||
for (unsigned i = 0; i < set1.bitsetVec.size(); ++i)
|
for (unsigned i = 0; i < set1.bitsetVec.size(); ++i)
|
||||||
if ((set1.getWord(i) & set2.getWord(i)).any())
|
if ((set1.getWord(i) & set2.getWord(i)).any())
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue