reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
256 using ElementList = std::list<SparseBitVectorElement<ElementSize>>; 260 BITWORD_SIZE = SparseBitVectorElement<ElementSize>::BITWORD_SIZE 279 const_cast<SparseBitVector<ElementSize> *>(this)->Elements.begin(); 281 const_cast<SparseBitVector<ElementSize> *>(this)->Elements.end(); 322 const SparseBitVector<ElementSize> *BitVector = nullptr; 334 typename SparseBitVectorElement<ElementSize>::BitWord Bits; 345 BitNumber = Iter->index() * ElementSize; 348 WordNumber = (BitNumber % ElementSize) / BITWORD_SIZE; 365 int NextSetBitNumber = Iter->find_next(BitNumber % ElementSize) ; 367 if (NextSetBitNumber == -1 || (BitNumber % ElementSize == 0)) { 377 BitNumber = Iter->index() * ElementSize; 380 WordNumber = (BitNumber % ElementSize) / BITWORD_SIZE; 384 WordNumber = (NextSetBitNumber % ElementSize) / BITWORD_SIZE; 387 BitNumber = Iter->index() * ElementSize; 396 SparseBitVectorIterator(const SparseBitVector<ElementSize> *RHS, 475 unsigned ElementIndex = Idx / ElementSize; 483 return ElementIter->test(Idx % ElementSize); 490 unsigned ElementIndex = Idx / ElementSize; 498 ElementIter->reset(Idx % ElementSize); 508 unsigned ElementIndex = Idx / ElementSize; 528 ElementIter->set(Idx % ElementSize); 681 bool intersectWithComplement(const SparseBitVector<ElementSize> *RHS) const { 687 void intersectWithComplement(const SparseBitVector<ElementSize> &RHS1, 688 const SparseBitVector<ElementSize> &RHS2) 733 void intersectWithComplement(const SparseBitVector<ElementSize> *RHS1, 734 const SparseBitVector<ElementSize> *RHS2) { 738 bool intersects(const SparseBitVector<ElementSize> *RHS) const { 743 bool intersects(const SparseBitVector<ElementSize> &RHS) const { 772 bool contains(const SparseBitVector<ElementSize> &RHS) const { 773 SparseBitVector<ElementSize> Result(*this); 782 const SparseBitVectorElement<ElementSize> &First = *(Elements.begin()); 783 return (First.index() * ElementSize) + First.find_first(); 790 const SparseBitVectorElement<ElementSize> &Last = *(Elements.rbegin()); 791 return (Last.index() * ElementSize) + Last.find_last();