Lines Matching refs:Head
72 /// strategy. The sentinel is stored in the prev field of ilist's Head.
83 /// value for its Head
87 /// ensureHead - make sure that Head is either already
90 static NodeTy *ensureHead(NodeTy *&Head) {
91 if (!Head) {
92 Head = ilist_traits<NodeTy>::createSentinel();
93 ilist_traits<NodeTy>::noteHead(Head, Head);
94 ilist_traits<NodeTy>::setNext(Head, 0);
95 return Head;
97 return ilist_traits<NodeTy>::getPrev(Head);
313 mutable NodeTy *Head;
319 NodeTy *getTail() { return this->ensureHead(Head); }
320 const NodeTy *getTail() const { return this->ensureHead(Head); }
321 void setTail(NodeTy *N) const { this->noteHead(Head, N); }
326 this->ensureHead(Head);
350 iplist() : Head(this->provideInitialHead()) {}
352 if (!Head) return;
360 return iterator(Head);
364 return const_iterator(Head);
384 bool empty() const { return Head == 0 || Head == getTail(); }
389 return *Head;
393 return *Head;
406 std::swap(Head, RHS.Head);
415 if (CurNode != Head) // Is PrevNode off the beginning of the list?
418 Head = New;
438 if (Node != Head) // Is PrevNode off the beginning of the list?
441 Head = NextNode;
489 L2.Head = Next;
500 Head = First;
522 if (Head == 0) return 0; // Don't require construction of sentinel if empty.
532 void clear() { if (Head) erase(begin(), end()); }