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()
384 // is in this list. The pointers are in the right order. in remove()
400 // SAFETY: The pointers are ok and in the right order. in remove_internal()
416 // SAFETY: We have exclusive access to the pointers of items in the list, and the prev/next in remove_internal_inner()
417 // pointers are always valid for items in a list. in remove_internal_inner()
430 // INVARIANT: `item` is being removed, so the pointers should be null. in remove_internal_inner()
476 // SAFETY: We have exclusive access to both lists, so we can update the pointers. in push_all_back()
477 // INVARIANT: This correctly sets the pointers to merge both lists. We do not need to in push_all_back()
507 // INVARIANT: If the list is empty, both pointers are null. Otherwise, both pointers point in iter()