reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
279 const_cast<SparseBitVector<ElementSize> *>(this)->Elements.begin(); 281 const_cast<SparseBitVector<ElementSize> *>(this)->Elements.end(); 283 if (Elements.empty()) { 340 if (BitVector->Elements.empty()) { 344 Iter = BitVector->Elements.begin(); 372 if (Iter == BitVector->Elements.end()) { 398 Iter = BitVector->Elements.begin(); 443 SparseBitVector() : Elements(), CurrElementIter(Elements.begin()) {} 446 : Elements(RHS.Elements), CurrElementIter(Elements.begin()) {} 446 : Elements(RHS.Elements), CurrElementIter(Elements.begin()) {} 448 : Elements(std::move(RHS.Elements)), CurrElementIter(Elements.begin()) {} 448 : Elements(std::move(RHS.Elements)), CurrElementIter(Elements.begin()) {} 452 Elements.clear(); 460 Elements = RHS.Elements; 460 Elements = RHS.Elements; 461 CurrElementIter = Elements.begin(); 465 Elements = std::move(RHS.Elements); 465 Elements = std::move(RHS.Elements); 466 CurrElementIter = Elements.begin(); 472 if (Elements.empty()) 480 if (ElementIter == Elements.end() || 487 if (Elements.empty()) 495 if (ElementIter == Elements.end() || 503 Elements.erase(ElementIter); 510 if (Elements.empty()) { 511 ElementIter = Elements.emplace(Elements.end(), ElementIndex); 511 ElementIter = Elements.emplace(Elements.end(), ElementIndex); 515 if (ElementIter == Elements.end() || 520 if (ElementIter != Elements.end() && 523 ElementIter = Elements.emplace(ElementIter, ElementIndex); 545 ElementListConstIter Iter1 = Elements.begin(); 546 ElementListConstIter Iter2 = RHS.Elements.begin(); 548 for (; Iter1 != Elements.end() && Iter2 != RHS.Elements.end(); 548 for (; Iter1 != Elements.end() && Iter2 != RHS.Elements.end(); 553 return Iter1 == Elements.end() && Iter2 == RHS.Elements.end(); 553 return Iter1 == Elements.end() && Iter2 == RHS.Elements.end(); 562 ElementListIter Iter1 = Elements.begin(); 563 ElementListConstIter Iter2 = RHS.Elements.begin(); 566 if (RHS.Elements.empty()) 569 while (Iter2 != RHS.Elements.end()) { 570 if (Iter1 == Elements.end() || Iter1->index() > Iter2->index()) { 571 Elements.insert(Iter1, *Iter2); 582 CurrElementIter = Elements.begin(); 592 ElementListIter Iter1 = Elements.begin(); 593 ElementListConstIter Iter2 = RHS.Elements.begin(); 596 if (Elements.empty() && RHS.Elements.empty()) 596 if (Elements.empty() && RHS.Elements.empty()) 600 while (Iter2 != RHS.Elements.end()) { 601 if (Iter1 == Elements.end()) { 602 CurrElementIter = Elements.begin(); 614 Elements.erase(IterTmp); 622 Elements.erase(IterTmp); 626 if (Iter1 != Elements.end()) { 627 Elements.erase(Iter1, Elements.end()); 627 Elements.erase(Iter1, Elements.end()); 630 CurrElementIter = Elements.begin(); 646 ElementListIter Iter1 = Elements.begin(); 647 ElementListConstIter Iter2 = RHS.Elements.begin(); 650 if (Elements.empty() || RHS.Elements.empty()) 650 if (Elements.empty() || RHS.Elements.empty()) 654 while (Iter2 != RHS.Elements.end()) { 655 if (Iter1 == Elements.end()) { 656 CurrElementIter = Elements.begin(); 668 Elements.erase(IterTmp); 677 CurrElementIter = Elements.begin(); 699 Elements.clear(); 700 CurrElementIter = Elements.begin(); 701 ElementListConstIter Iter1 = RHS1.Elements.begin(); 702 ElementListConstIter Iter2 = RHS2.Elements.begin(); 706 if (RHS1.Elements.empty()) 710 while (Iter2 != RHS2.Elements.end()) { 711 if (Iter1 == RHS1.Elements.end()) 718 Elements.emplace_back(Iter1->index()); 719 Elements.back().intersectWithComplement(*Iter1, *Iter2, BecameZero); 721 Elements.pop_back(); 725 Elements.push_back(*Iter1++); 730 std::copy(Iter1, RHS1.Elements.end(), std::back_inserter(Elements)); 730 std::copy(Iter1, RHS1.Elements.end(), std::back_inserter(Elements)); 744 ElementListConstIter Iter1 = Elements.begin(); 745 ElementListConstIter Iter2 = RHS.Elements.begin(); 748 if (Elements.empty() && RHS.Elements.empty()) 748 if (Elements.empty() && RHS.Elements.empty()) 752 while (Iter2 != RHS.Elements.end()) { 753 if (Iter1 == Elements.end()) 780 if (Elements.empty()) 782 const SparseBitVectorElement<ElementSize> &First = *(Elements.begin()); 788 if (Elements.empty()) 790 const SparseBitVectorElement<ElementSize> &Last = *(Elements.rbegin()); 796 return Elements.empty(); 801 for (ElementListConstIter Iter = Elements.begin(); 802 Iter != Elements.end();