}
// Intersection, union, disjoint union.
- BitVector operator&=(const BitVector &RHS) {
+ BitVector &operator&=(const BitVector &RHS) {
unsigned ThisWords = NumBitWords(size());
unsigned RHSWords = NumBitWords(RHS.size());
unsigned i;
return *this;
}
- BitVector operator|=(const BitVector &RHS) {
+ BitVector &operator|=(const BitVector &RHS) {
assert(Size == RHS.Size && "Illegal operation!");
for (unsigned i = 0; i < NumBitWords(size()); ++i)
Bits[i] |= RHS.Bits[i];
return *this;
}
- BitVector operator^=(const BitVector &RHS) {
+ BitVector &operator^=(const BitVector &RHS) {
assert(Size == RHS.Size && "Illegal operation!");
for (unsigned i = 0; i < NumBitWords(size()); ++i)
Bits[i] ^= RHS.Bits[i];