Trait depends::core::Visitor

source ·
pub trait Visitor {
    type Hasher: Hasher;

    // Required methods
    fn visit<N>(&mut self, node: &N) -> bool
       where N: Identifiable;
    fn clear(&mut self);
    fn hasher(&self) -> Self::Hasher;

    // Provided methods
    fn touch<N>(&mut self, _node: &N)
       where N: Identifiable { ... }
    fn leave<N>(&mut self, _node: &N)
       where N: Identifiable { ... }
}
Expand description

A collection passed in to a graph, tracking the identifiers of each nodes to avoid traversing

Required Associated Types§

Required Methods§

source

fn visit<N>(&mut self, node: &N) -> boolwhere N: Identifiable,

Return true iff this node hasn’t been visited yet.

source

fn clear(&mut self)

Clear the internal collection, prompting this visitor to revisit all nodes on the next traversal.

source

fn hasher(&self) -> Self::Hasher

Provided Methods§

source

fn touch<N>(&mut self, _node: &N)where N: Identifiable,

Touch the node. Useful for building graph visualisations.

source

fn leave<N>(&mut self, _node: &N)where N: Identifiable,

Undo a touch. Useful for building graph visualisations.

Implementations on Foreign Types§

source§

impl Visitor for HashSet<usize, BuildHasherDefault<AHasher>, Global>

§

type Hasher = AHasher

source§

fn visit<N>(&mut self, node: &N) -> boolwhere N: Identifiable,

source§

fn clear(&mut self)

source§

fn hasher( &self ) -> <HashSet<usize, BuildHasherDefault<AHasher>, Global> as Visitor>::Hasher

source§

impl Visitor for HashSet<usize, RandomState>

§

type Hasher = DefaultHasher

source§

fn visit<N>(&mut self, node: &N) -> boolwhere N: Identifiable,

source§

fn clear(&mut self)

source§

fn hasher(&self) -> <HashSet<usize, RandomState> as Visitor>::Hasher

Implementors§

source§

impl Visitor for GraphvizVisitor

Available on crate feature graphviz only.