Lines Matching refs:tail
21 /// Only tail insertion, reading, and eject are supported.
24 tail: *const Node<T>,
34 tail: null(),
56 // Sets prev to LinkedList.tail
57 node.prev = self.tail;
61 if self.tail.is_null() {
64 (*(self.tail as *mut Node<T>)).next = node;
67 self.tail = node;
74 if self.tail.is_null() {
78 let node = Box::from_raw(self.tail as *mut Node<T>);
79 self.tail = node.prev;
81 if self.tail.is_null() {
84 (*(self.tail as *mut Node<T>)).next = null();
98 tail: self.tail,
109 tail: self.tail,
141 current: self.tail,
152 current: self.tail,
157 /// Gets a mutable reference to the tail element of the list.
161 if self.tail.is_null() {
164 unsafe { Some(&(*self.tail).element) }
168 /// Gets a mutable reference to the tail element of the list.
171 if self.tail.is_null() {
174 unsafe { Some(&mut (*(self.tail as *mut Node<T>)).element) }
182 if self.tail.is_null() {
185 unsafe { Some(&(*self.tail)) }
193 if self.tail.is_null() {
198 let node = &mut *(self.tail as *mut Node<T>);
216 self.tail = node.prev;
325 tail: *const Node<T>,
360 if self.len == 0 || self.tail.is_null() {
363 let node = unsafe { &*(self.tail as *mut Node<T>) };
365 self.tail = node.prev;
374 tail: *const Node<T>,
410 if self.len == 0 || self.tail.is_null() {
413 let node = unsafe { &mut *(self.tail as *mut Node<T>) };
415 self.tail = node.prev;
457 self.current = self.list.tail;
525 self.current = self.list.tail;