Struct intrusive_collections::singly_linked_list::SinglyLinkedList [] [src]

pub struct SinglyLinkedList<A: Adapter<Link=Link>> { /* fields omitted */ }

An intrusive singly-linked list.

When this collection is dropped, all elements linked into it will be converted back to owned pointers and dropped.

Methods

impl<A: Adapter<Link=Link>> SinglyLinkedList<A>
[src]

Creates an empty SinglyLinkedList.

Returns true if theSinglyLinkedList` is empty.

Returns a null Cursor for this list.

Returns a null CursorMut for this list.

Creates a Cursor from a pointer to an element.

Safety

ptr must be a pointer to an object that is part of this list.

Creates a CursorMut from a pointer to an element.

Safety

ptr must be a pointer to an object that is part of this list.

Returns a Cursor pointing to the first element of the list. If the list is empty then a null cursor is returned.

Returns a CursorMut pointing to the first element of the list. If the the list is empty then a null cursor is returned.

Gets an iterator over the objects in the SinglyLinkedList.

Removes all elements from the SinglyLinkedList.

This will unlink all object currently in the list, which requires iterating through all elements in the SinglyLinkedList. Each element is converted back to an owned pointer and then dropped.

Empties the SinglyLinkedList without unlinking or freeing objects in it.

Since this does not unlink any objects, any attempts to link these objects into another SinglyLinkedList will fail but will not cause any memory unsafety. To unlink those objects manually, you must call the force_unlink function on them.

Takes all the elements out of the SinglyLinkedList, leaving it empty. The taken elements are returned as a new SinglyLinkedList.

Inserts a new element at the start of the SinglyLinkedList.

Removes the first element of the SinglyLinkedList.

This returns None if the SinglyLinkedList is empty.

Trait Implementations

impl<A: Adapter<Link=Link> + Sync> Sync for SinglyLinkedList<A> where A::Value: Sync
[src]

impl<A: Adapter<Link=Link> + Send> Send for SinglyLinkedList<A> where A::Pointer: Send
[src]

impl<A: Adapter<Link=Link>> Drop for SinglyLinkedList<A>
[src]

A method called when the value goes out of scope. Read more

impl<A: Adapter<Link=Link>> IntoIterator for SinglyLinkedList<A>
[src]

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

Creates an iterator from a value. Read more

impl<'a, A: Adapter<Link=Link> + 'a> IntoIterator for &'a SinglyLinkedList<A>
[src]

The type of the elements being iterated over.

Which kind of iterator are we turning this into?

Creates an iterator from a value. Read more

impl<A: Adapter<Link=Link> + Default> Default for SinglyLinkedList<A>
[src]

Returns the "default value" for a type. Read more

impl<A: Adapter<Link=Link>> Debug for SinglyLinkedList<A> where A::Value: Debug
[src]

Formats the value using the given formatter.