Lines Matching refs:element
20 void PushBack(T* element) { in PushBack() argument
21 DCHECK(!element->list_node().next()); in PushBack()
22 DCHECK(!element->list_node().prev()); in PushBack()
25 InsertAfter(element, back_); in PushBack()
27 AddFirstElement(element); in PushBack()
31 void PushFront(T* element) { in PushFront() argument
32 DCHECK(!element->list_node().next()); in PushFront()
33 DCHECK(!element->list_node().prev()); in PushFront()
36 InsertBefore(element, front_); in PushFront()
38 AddFirstElement(element); in PushFront()
42 void Remove(T* element) { in Remove() argument
43 DCHECK(Contains(element)); in Remove()
44 if (back_ == element) { in Remove()
45 back_ = element->list_node().prev(); in Remove()
47 if (front_ == element) { in Remove()
48 front_ = element->list_node().next(); in Remove()
50 T* next = element->list_node().next(); in Remove()
51 T* prev = element->list_node().prev(); in Remove()
54 element->list_node().set_prev(nullptr); in Remove()
55 element->list_node().set_next(nullptr); in Remove()
58 bool Contains(T* element) { in Contains() argument
61 if (it == element) return true; in Contains()
73 void AddFirstElement(T* element) { in AddFirstElement() argument
76 DCHECK(!element->list_node().next()); in AddFirstElement()
77 DCHECK(!element->list_node().prev()); in AddFirstElement()
78 element->list_node().set_prev(nullptr); in AddFirstElement()
79 element->list_node().set_next(nullptr); in AddFirstElement()
80 front_ = element; in AddFirstElement()
81 back_ = element; in AddFirstElement()
84 void InsertAfter(T* element, T* other) { in InsertAfter() argument
86 element->list_node().set_next(other_next); in InsertAfter()
87 element->list_node().set_prev(other); in InsertAfter()
88 other->list_node().set_next(element); in InsertAfter()
90 other_next->list_node().set_prev(element); in InsertAfter()
92 back_ = element; in InsertAfter()
95 void InsertBefore(T* element, T* other) { in InsertBefore() argument
97 element->list_node().set_next(other); in InsertBefore()
98 element->list_node().set_prev(other_prev); in InsertBefore()
99 other->list_node().set_prev(element); in InsertBefore()
101 other_prev->list_node().set_next(element); in InsertBefore()
103 front_ = element; in InsertBefore()