DoublyPointer

Trait DoublyPointer 

Source
pub trait DoublyPointer<T> {
    // Required method
    fn raw_ptr(&self) -> *mut Node<Doubly<T>>;

    // Provided methods
    unsafe fn node(&self) -> &Node<Doubly<T>> { ... }
    unsafe fn node_mut(&mut self) -> &mut Node<Doubly<T>> { ... }
    unsafe fn next(&self) -> Option<DoublyPtr<T>> { ... }
    unsafe fn prev(&self) -> Option<DoublyPtr<T>> { ... }
}
Expand description

A node pointer in a doubly linked list.

Required Methods§

Source

fn raw_ptr(&self) -> *mut Node<Doubly<T>>

Returns the raw pointer to the node.

Provided Methods§

Source

unsafe fn node(&self) -> &Node<Doubly<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.

Source

unsafe fn node_mut(&mut self) -> &mut Node<Doubly<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.

Source

unsafe fn next(&self) -> Option<DoublyPtr<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.

Source

unsafe fn prev(&self) -> Option<DoublyPtr<T>>

Returns the pointer to the prev 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.

Implementors§