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§
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
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.