pub trait Lattice: PartialOrd<Self> {
fn meet(self, other: Self) -> Self;
fn join(self, other: Self) -> Self;
fn meet_mut(&mut self, other: Self) -> bool { ... }
fn join_mut(&mut self, other: Self) -> bool { ... }
}
Expand description
A Lattice is a PartialOrd where each pair of elements has a least upper bound (join) and a greates lower bound (meet)
the greatest lower bound of two elements. meet(x, y) is the largest value x
s.t. z <= x and z <= y
The least upper bound of two elements. join(x, y) is the smallest value z
s.t. z >= x and z >= y.
ensures self is the join of self and other
Returns true if self was changed.
ensures self is the meet of self and other.
Returns true if self was changed.
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Lattice for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) where
(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10): Ord,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Lattice for (T0, T1, T2, T3, T4, T5, T6, T7, T8) where
(T0, T1, T2, T3, T4, T5, T6, T7, T8): Ord,
sourceimpl<T0, T1, T2, T3, T4, T5> Lattice for (T0, T1, T2, T3, T4, T5) where
(T0, T1, T2, T3, T4, T5): Ord,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7> Lattice for (T0, T1, T2, T3, T4, T5, T6, T7) where
(T0, T1, T2, T3, T4, T5, T6, T7): Ord,
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Lattice for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) where
(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9): Ord,
sourceimpl<T0, T1, T2, T3, T4> Lattice for (T0, T1, T2, T3, T4) where
(T0, T1, T2, T3, T4): Ord,
sourceimpl<T0, T1, T2, T3> Lattice for (T0, T1, T2, T3) where
(T0, T1, T2, T3): Ord,
sourceimpl<T0, T1, T2, T3, T4, T5, T6> Lattice for (T0, T1, T2, T3, T4, T5, T6) where
(T0, T1, T2, T3, T4, T5, T6): Ord,