NodeTrait

Trait NodeTrait 

Source
pub trait NodeTrait: Debug + Clone {
    // Required methods
    fn new(key: u32) -> Self;
    fn key(&self) -> u32;
    fn fresh_copy(&self) -> Self;
    fn predecessors(&self) -> &HashSet<u32>;
    fn successors(&self) -> &HashSet<u32>;
    fn add_predecessor(&mut self, key: u32);
    fn add_successor(&mut self, key: u32);
    fn remove_predecessor(&mut self, key: u32);
    fn remove_successor(&mut self, key: u32);
}

Required Methods§

Source

fn new(key: u32) -> Self

Source

fn key(&self) -> u32

Source

fn fresh_copy(&self) -> Self

Source

fn predecessors(&self) -> &HashSet<u32>

Source

fn successors(&self) -> &HashSet<u32>

Source

fn add_predecessor(&mut self, key: u32)

Source

fn add_successor(&mut self, key: u32)

Source

fn remove_predecessor(&mut self, key: u32)

Source

fn remove_successor(&mut self, key: u32)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§