MCPcopy Create free account
hub / github.com/SVF-tools/SVF / set

Method set

svf/include/Util/SparseBitVector.h:785–812  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

783 }
784
785 void set(unsigned Idx)
786 {
787 unsigned ElementIndex = Idx / ElementSize;
788 ElementListIter ElementIter;
789 if (Elements.empty())
790 {
791 ElementIter = Elements.emplace(Elements.end(), ElementIndex);
792 }
793 else
794 {
795 ElementIter = FindLowerBound(ElementIndex);
796
797 if (ElementIter == Elements.end() ||
798 ElementIter->index() != ElementIndex)
799 {
800 // We may have hit the beginning of our SparseBitVector, in which case,
801 // we may need to insert right after this element, which requires moving
802 // the current iterator forward one, because insert does insert before.
803 if (ElementIter != Elements.end() &&
804 ElementIter->index() < ElementIndex)
805 ++ElementIter;
806 ElementIter = Elements.emplace(ElementIter, ElementIndex);
807 }
808 }
809 CurrElementIter = ElementIter;
810
811 ElementIter->set(Idx % ElementSize);
812 }
813
814 bool test_and_set(unsigned Idx)
815 {

Callers 2

ptsToNodeBSFunction · 0.45
insertKeyFunction · 0.45

Calls 3

indexMethod · 0.80
emptyMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected