Skip to main content

MonoidCluster

Trait MonoidCluster 

Source
pub trait MonoidCluster {
    type Vertex;
    type Edge;
    type PathMonoid: Monoid;
    type PointMonoid: Monoid;

    // Required methods
    fn add_edge(
        path: &<<Self as MonoidCluster>::PathMonoid as Magma>::T,
    ) -> <<Self as MonoidCluster>::PointMonoid as Magma>::T;
    fn add_vertex(
        point: &<<Self as MonoidCluster>::PointMonoid as Magma>::T,
        vertex: &Self::Vertex,
        parent_edge: Option<&Self::Edge>,
    ) -> <<Self as MonoidCluster>::PathMonoid as Magma>::T;
}

Required Associated Types§

Required Methods§

Source

fn add_edge( path: &<<Self as MonoidCluster>::PathMonoid as Magma>::T, ) -> <<Self as MonoidCluster>::PointMonoid as Magma>::T

Source

fn add_vertex( point: &<<Self as MonoidCluster>::PointMonoid as Magma>::T, vertex: &Self::Vertex, parent_edge: Option<&Self::Edge>, ) -> <<Self as MonoidCluster>::PathMonoid as Magma>::T

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§