Lines Matching defs:Next
85 /// circular in Prev indices, and INVALID-terminated in Next indices. This
94 unsigned Next;
96 SMSNode(ValueT D, unsigned P, unsigned N) : Data(D), Prev(P), Next(N) { }
100 return Next == INVALID;
157 unsigned addValue(const ValueT& V, unsigned Prev, unsigned Next) {
159 Dense.push_back(SMSNode(V, Prev, Next));
165 unsigned NextFree = Dense[Idx].Next;
168 Dense[Idx] = SMSNode(V, Prev, Next);
177 Dense[Idx].Next = FreelistIdx;
241 unsigned Next() const { return SMS->Dense[Idx].Next; }
244 void setNext(unsigned N) { SMS->Dense[Idx].Next = N; }
293 Idx = Next();
431 Dense[TailIdx].Next = NodeIdx;
488 assert(N.Next == SMSNode::INVALID && "Singleton has next?");
494 Sparse[sparseIndex(N)] = N.Next;
495 Dense[N.Next].Prev = N.Prev;
496 return iterator(this, N.Next, ValIndexOf(N.Data));
502 Dense[N.Prev].Next = N.Next;
510 Dense[N.Next].Prev = N.Prev;
511 Dense[N.Prev].Next = N.Next;
512 return iterator(this, N.Next, ValIndexOf(N.Data));