pub struct Product<TOuter, TInner> {
pub outer: TOuter,
pub inner: TInner,
}Expand description
A nested pair of timestamps, one outer and one inner.
We use Product rather than (TOuter, TInner) so that we can derive our own PartialOrder,
because Rust just uses the lexicographic total order.
Fields§
§outer: TOuterOuter timestamp.
inner: TInnerInner timestamp.
Implementations§
Trait Implementations§
Source§impl<TOuter, TInner> Abomonation for Product<TOuter, TInner>where
TOuter: Abomonation,
TInner: Abomonation,
impl<TOuter, TInner> Abomonation for Product<TOuter, TInner>where
TOuter: Abomonation,
TInner: Abomonation,
Source§impl<T1: Columnation, T2: Columnation> Columnation for Product<T1, T2>
impl<T1: Columnation, T2: Columnation> Columnation for Product<T1, T2>
Source§type InnerRegion = ProductRegion<<T1 as Columnation>::InnerRegion, <T2 as Columnation>::InnerRegion>
type InnerRegion = ProductRegion<<T1 as Columnation>::InnerRegion, <T2 as Columnation>::InnerRegion>
The type of region capable of absorbing allocations owned by
the
Self type. Note: not allocations of Self, but of the
things that it owns.Source§impl<'de, TOuter, TInner> Deserialize<'de> for Product<TOuter, TInner>where
TOuter: Deserialize<'de>,
TInner: Deserialize<'de>,
impl<'de, TOuter, TInner> Deserialize<'de> for Product<TOuter, TInner>where
TOuter: Deserialize<'de>,
TInner: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<TOuter: Ord, TInner: Ord> Ord for Product<TOuter, TInner>
impl<TOuter: Ord, TInner: Ord> Ord for Product<TOuter, TInner>
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<TOuter: PartialOrd, TInner: PartialOrd> PartialOrd for Product<TOuter, TInner>
impl<TOuter: PartialOrd, TInner: PartialOrd> PartialOrd for Product<TOuter, TInner>
Source§impl<TOuter: PartialOrder, TInner: PartialOrder> PartialOrder for Product<TOuter, TInner>
impl<TOuter: PartialOrder, TInner: PartialOrder> PartialOrder for Product<TOuter, TInner>
Source§impl<TOuter: Timestamp, TInner: Timestamp> PathSummary<Product<TOuter, TInner>> for Product<TOuter::Summary, TInner::Summary>
impl<TOuter: Timestamp, TInner: Timestamp> PathSummary<Product<TOuter, TInner>> for Product<TOuter::Summary, TInner::Summary>
Source§impl<TOuter: Timestamp, TInner: Timestamp> Refines<TOuter> for Product<TOuter, TInner>
impl<TOuter: Timestamp, TInner: Timestamp> Refines<TOuter> for Product<TOuter, TInner>
impl<TOuter: Copy, TInner: Copy> Copy for Product<TOuter, TInner>
impl<T1: Empty, T2: Empty> Empty for Product<T1, T2>
impl<TOuter: Eq, TInner: Eq> Eq for Product<TOuter, TInner>
impl<TOuter, TInner> StructuralPartialEq for Product<TOuter, TInner>
impl<T1, T2> TotalOrder for Product<T1, T2>where
T1: Empty,
T2: TotalOrder,
Auto Trait Implementations§
impl<TOuter, TInner> Freeze for Product<TOuter, TInner>
impl<TOuter, TInner> RefUnwindSafe for Product<TOuter, TInner>where
TOuter: RefUnwindSafe,
TInner: RefUnwindSafe,
impl<TOuter, TInner> Send for Product<TOuter, TInner>
impl<TOuter, TInner> Sync for Product<TOuter, TInner>
impl<TOuter, TInner> Unpin for Product<TOuter, TInner>
impl<TOuter, TInner> UnwindSafe for Product<TOuter, TInner>where
TOuter: UnwindSafe,
TInner: UnwindSafe,
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