pub trait SinglyPointer<T> {
// Required method
fn raw_ptr(&self) -> *mut Node<Singly<T>>;
// Provided methods
unsafe fn node(&self) -> &Node<Singly<T>> { ... }
unsafe fn node_mut(&mut self) -> &mut Node<Singly<T>> { ... }
unsafe fn next(&self) -> Option<SinglyPtr<T>> { ... }
}
Expand description
A node pointer in a Singly linked list.
Required Methods§
Provided Methods§
Sourceunsafe fn node(&self) -> &Node<Singly<T>>
unsafe fn node(&self) -> &Node<Singly<T>>
Returns a reference to the node.
§Safety
This method creates a reference directly from the pointer without any checks.
The caller is responsible for the validness of the node pointer.
Alternatively, you may use NodeIdx
for safe access.
Sourceunsafe fn node_mut(&mut self) -> &mut Node<Singly<T>>
unsafe fn node_mut(&mut self) -> &mut Node<Singly<T>>
Returns a mutable reference to the node.
§Safety
This method creates a reference directly from the pointer without any checks.
The caller is responsible for the validness of the node pointer.
Alternatively, you may use NodeIdx
for safe access.
Sourceunsafe fn next(&self) -> Option<SinglyPtr<T>>
unsafe fn next(&self) -> Option<SinglyPtr<T>>
Returns the pointer to the next node if exists; None otherwise.
§Safety
This method creates a reference directly from the pointer without any checks.
The caller is responsible for the validness of the node pointer.
Alternatively, you may use NodeIdx
for safe access.