[][src]Struct pergola::LatticeElt

pub struct LatticeElt<D: LatticeDef> {
    pub value: D::T,
}

Write code that uses lattices over this type, and it will delegate to the functions of the parameter LatticeDef.

Fields

value: D::T

Implementations

impl<D: LatticeDef> LatticeElt<D>[src]

pub fn new_from(t: D::T) -> Self[src]

pub fn join(&self, other: &Self) -> Self[src]

Trait Implementations

impl<D: LatticeDef, '_> Add<&'_ LatticeElt<D>> for LatticeElt<D>[src]

type Output = LatticeElt<D>

The resulting type after applying the + operator.

impl<'lhs, 'rhs, D: LatticeDef> Add<&'rhs LatticeElt<D>> for &'lhs LatticeElt<D>[src]

type Output = LatticeElt<D>

The resulting type after applying the + operator.

impl<D: LatticeDef> Add<LatticeElt<D>> for LatticeElt<D>[src]

type Output = LatticeElt<D>

The resulting type after applying the + operator.

impl<D: LatticeDef, '_> Add<LatticeElt<D>> for &'_ LatticeElt<D>[src]

type Output = LatticeElt<D>

The resulting type after applying the + operator.

impl<D: LatticeDef> Clone for LatticeElt<D> where
    D::T: Clone
[src]

impl<D: LatticeDef> Copy for LatticeElt<D> where
    D::T: Copy
[src]

impl<D: Debug + LatticeDef> Debug for LatticeElt<D> where
    D::T: Debug
[src]

impl<D: LatticeDef> Default for LatticeElt<D>[src]

impl<'de, D: LatticeDef> Deserialize<'de> for LatticeElt<D> where
    D::T: Deserialize<'de>, 
[src]

impl<D: LatticeDef> Eq for LatticeElt<D> where
    D::T: Eq
[src]

impl<A: LatticeDef, B: LatticeDef, C: LatticeDef, D: LatticeDef, E: LatticeDef> From<(LatticeElt<A>, LatticeElt<B>, LatticeElt<C>, LatticeElt<D>, LatticeElt<E>)> for LatticeElt<Tuple5<A, B, C, D, E>>[src]

impl<A: LatticeDef, B: LatticeDef, C: LatticeDef, D: LatticeDef> From<(LatticeElt<A>, LatticeElt<B>, LatticeElt<C>, LatticeElt<D>)> for LatticeElt<Tuple4<A, B, C, D>>[src]

impl<A: LatticeDef, B: LatticeDef, C: LatticeDef> From<(LatticeElt<A>, LatticeElt<B>, LatticeElt<C>)> for LatticeElt<Tuple3<A, B, C>>[src]

impl<A: LatticeDef, B: LatticeDef> From<(LatticeElt<A>, LatticeElt<B>)> for LatticeElt<Tuple2<A, B>>[src]

impl<K: DefTraits, VD: LatticeDef> From<BTreeMap<K, LatticeElt<VD>>> for LatticeElt<BTreeMapWithUnion<K, VD>> where
    VD::T: Clone
[src]

impl<K: DefTraits, VD: LatticeDef> From<BTreeMap<K, LatticeElt<VD>>> for LatticeElt<BTreeMapWithIntersection<K, VD>> where
    VD::T: Clone
[src]

impl<U: DefTraits> From<BTreeSet<U>> for LatticeElt<BTreeSetWithUnion<U>>[src]

impl<U: DefTraits> From<BTreeSet<U>> for LatticeElt<BTreeSetWithIntersection<U>>[src]

impl From<BitSet<u32>> for LatticeElt<BitSetWithUnion>[src]

impl From<BitSet<u32>> for LatticeElt<BitSetWithIntersection>[src]

impl<M: DefTraits + MaxUnitDefault> From<M> for LatticeElt<MaxDef<M>>[src]

impl<M: DefTraits + MaxUnitMinValue> From<M> for LatticeElt<MaxNum<M>>[src]

impl<M: DefTraits> From<M> for LatticeElt<MinOpt<M>>[src]

impl<M: DefTraits + Bounded> From<M> for LatticeElt<MinNum<M>>[src]

impl<K: DefTraits, VD: LatticeDef> From<OrdMap<K, LatticeElt<VD>>> for LatticeElt<ArcOrdMapWithUnion<K, VD>> where
    VD::T: Clone
[src]

impl<K: DefTraits, VD: LatticeDef> From<OrdMap<K, LatticeElt<VD>>> for LatticeElt<ArcOrdMapWithIntersection<K, VD>> where
    VD::T: Clone
[src]

impl<K: DefTraits, VD: LatticeDef> From<OrdMap<K, LatticeElt<VD>>> for LatticeElt<RcOrdMapWithUnion<K, VD>> where
    VD::T: Clone
[src]

impl<K: DefTraits, VD: LatticeDef> From<OrdMap<K, LatticeElt<VD>>> for LatticeElt<RcOrdMapWithIntersection<K, VD>> where
    VD::T: Clone
[src]

impl<U: DefTraits> From<OrdSet<U>> for LatticeElt<ArcOrdSetWithUnion<U>>[src]

impl<U: DefTraits> From<OrdSet<U>> for LatticeElt<ArcOrdSetWithIntersection<U>>[src]

impl<U: DefTraits> From<OrdSet<U>> for LatticeElt<RcOrdSetWithUnion<U>>[src]

impl<U: DefTraits> From<OrdSet<U>> for LatticeElt<RcOrdSetWithIntersection<U>>[src]

impl<D: LatticeDef> Hash for LatticeElt<D> where
    D::T: Hash
[src]

impl<D: LatticeDef> Ord for LatticeElt<D> where
    D::T: Ord
[src]

impl<D: LatticeDef> PartialEq<LatticeElt<D>> for LatticeElt<D>[src]

impl<D: LatticeDef> PartialOrd<LatticeElt<D>> for LatticeElt<D>[src]

impl<D: LatticeDef> Serialize for LatticeElt<D> where
    D::T: Serialize
[src]

Auto Trait Implementations

impl<D> RefUnwindSafe for LatticeElt<D> where
    <D as LatticeDef>::T: RefUnwindSafe
[src]

impl<D> Send for LatticeElt<D> where
    <D as LatticeDef>::T: Send
[src]

impl<D> Sync for LatticeElt<D> where
    <D as LatticeDef>::T: Sync
[src]

impl<D> Unpin for LatticeElt<D> where
    <D as LatticeDef>::T: Unpin
[src]

impl<D> UnwindSafe for LatticeElt<D> where
    <D as LatticeDef>::T: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.