# [−][src]Trait alga::general::Lattice

```pub trait Lattice: MeetSemilattice + JoinSemilattice + PartialOrd {
fn meet_join(&self, other: &Self) -> (Self, Self) { ... }
fn partial_min<'a>(&'a self, other: &'a Self) -> Option<&'a Self> { ... }
fn partial_max<'a>(&'a self, other: &'a Self) -> Option<&'a Self> { ... }
fn partial_sort2<'a>(        &'a self,         other: &'a Self    ) -> Option<(&'a Self, &'a Self)> { ... }
fn partial_clamp<'a>(        &'a self,         min: &'a Self,         max: &'a Self    ) -> Option<&'a Self> { ... }
}```

Partially orderable sets where every two elements have a supremum and infimum.

## Provided methods

### `fn meet_join(&self, other: &Self) -> (Self, Self)`

Returns the infimum and the supremum simultaneously.

### `fn partial_min<'a>(&'a self, other: &'a Self) -> Option<&'a Self>`

Return the minimum of `self` and `other` if they are comparable.

### `fn partial_max<'a>(&'a self, other: &'a Self) -> Option<&'a Self>`

Return the maximum of `self` and `other` if they are comparable.

### `fn partial_sort2<'a>(&'a self, other: &'a Self) -> Option<(&'a Self, &'a Self)>`

Sorts two values in increasing order using a partial ordering.

### `fn partial_clamp<'a>(&'a self, min: &'a Self, max: &'a Self) -> Option<&'a Self>`

Clamp `value` between `min` and `max`. Returns `None` if `value` is not comparable to `min` or `max`.