Lines Matching full:pointers
28 /// only have one `ListArc` (for each pair of prev/next pointers), this ensures that the same
29 /// prev/next pointers are not used for several linked lists.
35 /// * All prev/next pointers in `ListLinks` fields of items in the list are valid and form a cycle.
77 /// Otherwise, the returned pointer points at a read-only [`ListLinks`] with two null pointers.
140 /// The prev/next pointers for an item in a linked list.
147 // This type is `!Unpin` for aliasing reasons as the pointers are part of an intrusive linked
152 // SAFETY: The only way to access/modify the pointers inside of `ListLinks<ID>` is via holding the
275 // SAFETY: Pointers in a linked list are never dangling, and the caller just gave us in push_back()
313 // SAFETY: Pointers in a linked list are never dangling, and the caller just gave us in push_front()
385 // is in this list. The pointers are in the right order. in remove()
401 // SAFETY: The pointers are ok and in the right order. in remove_internal()
417 // SAFETY: We have exclusive access to the pointers of items in the list, and the prev/next in remove_internal_inner()
418 // pointers are always valid for items in a list. in remove_internal_inner()
431 // INVARIANT: `item` is being removed, so the pointers should be null. in remove_internal_inner()
477 // SAFETY: We have exclusive access to both lists, so we can update the pointers. in push_all_back()
478 // INVARIANT: This correctly sets the pointers to merge both lists. We do not need to in push_all_back()
508 // INVARIANT: If the list is empty, both pointers are null. Otherwise, both pointers point in iter()