pub trait Functor<K: ArrayKind, O1, A1, O2, A2> {
// Required methods
fn map_object(
a: &SemifiniteFunction<K, O1>,
) -> IndexedCoproduct<K, SemifiniteFunction<K, O2>>;
fn map_arrow(a: &OpenHypergraph<K, O1, A1>) -> OpenHypergraph<K, O2, A2>;
}
Expand description
Strict symmetric monoidal hypergraph functors
Required Methods§
Sourcefn map_object(
a: &SemifiniteFunction<K, O1>,
) -> IndexedCoproduct<K, SemifiniteFunction<K, O2>>
fn map_object( a: &SemifiniteFunction<K, O1>, ) -> IndexedCoproduct<K, SemifiniteFunction<K, O2>>
Action on objects
Sourcefn map_arrow(a: &OpenHypergraph<K, O1, A1>) -> OpenHypergraph<K, O2, A2>
fn map_arrow(a: &OpenHypergraph<K, O1, A1>) -> OpenHypergraph<K, O2, A2>
Action on arrows
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.