Trait ShortestPathSemiRing

Source
pub trait ShortestPathSemiRing {
    type T: Clone + Ord;

    // Required methods
    fn source() -> Self::T;
    fn inf() -> Self::T;
    fn mul(x: &Self::T, y: &Self::T) -> Self::T;
    fn add_assign(x: &mut Self::T, y: &Self::T) -> bool;
}

Required Associated Types§

Source

type T: Clone + Ord

Required Methods§

Source

fn source() -> Self::T

Source

fn inf() -> Self::T

Source

fn mul(x: &Self::T, y: &Self::T) -> Self::T

Source

fn add_assign(x: &mut Self::T, y: &Self::T) -> bool

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<M> ShortestPathSemiRing for OptionSp<M>
where M: Monoid, M::T: Ord,

Source§

type T = Option<<M as Magma>::T>

Source§

impl<M> ShortestPathSemiRing for StandardSp<M>
where M: Monoid, M::T: Bounded + Ord,

Source§

type T = <M as Magma>::T

Source§

impl<M, S> ShortestPathSemiRing for PathFoldingSp<M, S>
where M: Monoid, M::T: Bounded + Ord, S: SemiRing,

Source§

type T = PartialIgnoredOrd<<M as Magma>::T, <S as SemiRing>::T>