Struct timely::order::Product[][src]

pub struct Product<TOuter, TInner> {
    pub outer: TOuter,
    pub inner: TInner,
}

A nested pair of timestamps, one outer and one inner.

We use Product rather than (TOuter, TInner) so that we can derive our own PartialOrd, because Rust just uses the lexicographic total order.

Fields

outer: TOuter

Outer timestamp.

inner: TInner

Inner timestamp.

Implementations

impl<TOuter, TInner> Product<TOuter, TInner>[src]

pub fn new(outer: TOuter, inner: TInner) -> Product<TOuter, TInner>[src]

Creates a new product from outer and inner coordinates.

Trait Implementations

impl<TOuter, TInner> Abomonation for Product<TOuter, TInner> where
    TOuter: Abomonation,
    TInner: Abomonation
[src]

impl<TOuter: Clone, TInner: Clone> Clone for Product<TOuter, TInner>[src]

impl<TOuter: Copy, TInner: Copy> Copy for Product<TOuter, TInner>[src]

impl<TOuter: Debug, TInner: Debug> Debug for Product<TOuter, TInner>[src]

Debug implementation to avoid seeing fully qualified path names.

impl<TOuter: Default, TInner: Default> Default for Product<TOuter, TInner>[src]

impl<'de, TOuter, TInner> Deserialize<'de> for Product<TOuter, TInner> where
    TOuter: Deserialize<'de>,
    TInner: Deserialize<'de>, 
[src]

impl<T1: Empty, T2: Empty> Empty for Product<T1, T2>[src]

impl<TOuter: Eq, TInner: Eq> Eq for Product<TOuter, TInner>[src]

impl<TOuter: Hash, TInner: Hash> Hash for Product<TOuter, TInner>[src]

impl<TOuter: Ord, TInner: Ord> Ord for Product<TOuter, TInner>[src]

impl<TOuter: PartialEq, TInner: PartialEq> PartialEq<Product<TOuter, TInner>> for Product<TOuter, TInner>[src]

impl<TOuter: PartialOrd, TInner: PartialOrd> PartialOrd<Product<TOuter, TInner>> for Product<TOuter, TInner>[src]

impl<TOuter: PartialOrder, TInner: PartialOrder> PartialOrder for Product<TOuter, TInner>[src]

impl<TOuter: Timestamp, TInner: Timestamp> PathSummary<Product<TOuter, TInner>> for Product<TOuter::Summary, TInner::Summary>[src]

impl<TOuter: Timestamp, TInner: Timestamp> Refines<TOuter> for Product<TOuter, TInner>[src]

impl<TOuter, TInner> Serialize for Product<TOuter, TInner> where
    TOuter: Serialize,
    TInner: Serialize
[src]

impl<TOuter, TInner> StructuralEq for Product<TOuter, TInner>[src]

impl<TOuter, TInner> StructuralPartialEq for Product<TOuter, TInner>[src]

impl<TOuter: Timestamp, TInner: Timestamp> Timestamp for Product<TOuter, TInner>[src]

type Summary = Product<TOuter::Summary, TInner::Summary>

A type summarizing action on a timestamp along a dataflow path.

impl<T1, T2> TotalOrder for Product<T1, T2> where
    T1: Empty,
    T2: TotalOrder
[src]

Auto Trait Implementations

impl<TOuter, TInner> RefUnwindSafe for Product<TOuter, TInner> where
    TInner: RefUnwindSafe,
    TOuter: RefUnwindSafe

impl<TOuter, TInner> Send for Product<TOuter, TInner> where
    TInner: Send,
    TOuter: Send

impl<TOuter, TInner> Sync for Product<TOuter, TInner> where
    TInner: Sync,
    TOuter: Sync

impl<TOuter, TInner> Unpin for Product<TOuter, TInner> where
    TInner: Unpin,
    TOuter: Unpin

impl<TOuter, TInner> UnwindSafe for Product<TOuter, TInner> where
    TInner: UnwindSafe,
    TOuter: UnwindSafe

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> Data for T where
    T: 'static + Clone
[src]

impl<T> Data for T where
    T: 'static + Send + Sync + Any + Abomonation
[src]

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

impl<T> ExchangeData for T where
    T: Data + Data
[src]

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

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

impl<T> ProgressEventTimestamp for T where
    T: Data + Any + Debug
[src]

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.