Trait HyperSimulation

Source
pub trait HyperSimulation<'a>: Hypergraph<'a> {
    // Required methods
    fn get_simulation_fixpoint(
        &'a self,
        other: &'a Self,
        l_match: &mut impl LMatch<Edge = Self::Edge>,
    ) -> HashMap<&'a Self::Node, HashSet<&'a Self::Node>>;
    fn get_simulation_recursive(
        &'a self,
        other: &'a Self,
        l_match: &mut impl LMatch<Edge = Self::Edge>,
    ) -> HashMap<&'a Self::Node, HashSet<&'a Self::Node>>;
    fn get_simulation_naive(
        &'a self,
        other: &'a Self,
        l_match: &mut impl LMatch<Edge = Self::Edge>,
    ) -> HashMap<&'a Self::Node, HashSet<&'a Self::Node>>;
}

Required Methods§

Source

fn get_simulation_fixpoint( &'a self, other: &'a Self, l_match: &mut impl LMatch<Edge = Self::Edge>, ) -> HashMap<&'a Self::Node, HashSet<&'a Self::Node>>

Source

fn get_simulation_recursive( &'a self, other: &'a Self, l_match: &mut impl LMatch<Edge = Self::Edge>, ) -> HashMap<&'a Self::Node, HashSet<&'a Self::Node>>

Source

fn get_simulation_naive( &'a self, other: &'a Self, l_match: &mut impl LMatch<Edge = Self::Edge>, ) -> HashMap<&'a Self::Node, HashSet<&'a Self::Node>>

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§

Source§

impl<'a, H> HyperSimulation<'a> for H
where H: Hypergraph<'a> + Typed<'a> + LPredicate<'a> + ContainedHyperedge<'a>,