reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/ADT/SparseMultiSet.h
  146     return Dense[D.Prev].isTail();
  154     return &Dense[N.Prev] == &N;
  161       Dense.push_back(SMSNode(V, Prev, Next));
  162       return Dense.size() - 1;
  167     unsigned NextFree = Dense[Idx].Next;
  168     assert(Dense[Idx].isTombstone() && "Non-tombstone free?");
  170     Dense[Idx] = SMSNode(V, Prev, Next);
  178     Dense[Idx].Prev = SMSNode::INVALID;
  179     Dense[Idx].Next = FreelistIdx;
  236       assert(Idx < SMS->Dense.size() && "Out of range, non-INVALID Idx?");
  243     unsigned Prev() const { return SMS->Dense[Idx].Prev; }
  244     unsigned Next() const { return SMS->Dense[Idx].Next; }
  246     void setPrev(unsigned P) { SMS->Dense[Idx].Prev = P; }
  257       assert(isKeyed() && SMS->sparseIndex(SMS->Dense[Idx].Data) == SparseIdx &&
  260       return SMS->Dense[Idx].Data;
  283       assert((isEnd() || !SMS->isHead(SMS->Dense[Idx])) &&
  336     assert(NumFree <= Dense.size() && "Out-of-bounds free entries");
  337     return Dense.size() - NumFree;
  344     Dense.clear();
  357     for (unsigned i = Sparse[Idx], e = Dense.size(); i < e; i += Stride) {
  358       const unsigned FoundIdx = sparseIndex(Dense[i]);
  361       if (Idx == FoundIdx && Dense[i].isValid() && isHead(Dense[i]))
  361       if (Idx == FoundIdx && Dense[i].isValid() && isHead(Dense[i]))
  428       Dense[NodeIdx].Prev = NodeIdx;
  435     Dense[TailIdx].Next = NodeIdx;
  436     Dense[HeadIdx].Prev = NodeIdx;
  437     Dense[NodeIdx].Prev = TailIdx;
  467     assert(I.isKeyed() && !I.isEnd() && !Dense[I.Idx].isTombstone() &&
  472     iterator NextI = unlink(Dense[I.Idx]);
  499       Dense[N.Next].Prev = N.Prev;
  506       Dense[N.Prev].Next = N.Next;
  514     Dense[N.Next].Prev = N.Prev;
  515     Dense[N.Prev].Next = N.Next;