pub struct LatticeOps<T> {
pub join: Box<dyn Fn(T, T) -> T>,
pub meet: Box<dyn Fn(T, T) -> T>,
}Expand description
Binary lattice operations on elements that implement Clone + PartialEq.
Fields§
§join: Box<dyn Fn(T, T) -> T>Join (supremum) of two elements.
meet: Box<dyn Fn(T, T) -> T>Meet (infimum) of two elements.
Implementations§
Source§impl<T: Clone + PartialEq> LatticeOps<T>
impl<T: Clone + PartialEq> LatticeOps<T>
Sourcepub fn new(
join: impl Fn(T, T) -> T + 'static,
meet: impl Fn(T, T) -> T + 'static,
) -> Self
pub fn new( join: impl Fn(T, T) -> T + 'static, meet: impl Fn(T, T) -> T + 'static, ) -> Self
Create from explicit join/meet functions.
Sourcepub fn check_absorption_join_meet(&self, a: T, b: T) -> bool
pub fn check_absorption_join_meet(&self, a: T, b: T) -> bool
Check absorption: join a (meet a b) = a.
Sourcepub fn check_absorption_meet_join(&self, a: T, b: T) -> bool
pub fn check_absorption_meet_join(&self, a: T, b: T) -> bool
Check absorption: meet a (join a b) = a.
Auto Trait Implementations§
impl<T> Freeze for LatticeOps<T>
impl<T> !RefUnwindSafe for LatticeOps<T>
impl<T> !Send for LatticeOps<T>
impl<T> !Sync for LatticeOps<T>
impl<T> Unpin for LatticeOps<T>
impl<T> UnsafeUnpin for LatticeOps<T>
impl<T> !UnwindSafe for LatticeOps<T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more