pub struct OrdValStorage<L: Layout> {
pub keys: L::KeyContainer,
pub vals: Vals<L::OffsetContainer, L::ValContainer>,
pub upds: Upds<L::OffsetContainer, L::TimeContainer, L::DiffContainer>,
}
Expand description
An immutable collection of update tuples, from a contiguous interval of logical times.
Fields§
§keys: L::KeyContainer
An ordered list of keys.
vals: Vals<L::OffsetContainer, L::ValContainer>
For each key in keys
, a list of values.
upds: Upds<L::OffsetContainer, L::TimeContainer, L::DiffContainer>
For each val in vals
, a list of (time, diff) updates.
Trait Implementations§
Source§impl<L: Debug + Layout> Debug for OrdValStorage<L>where
L::KeyContainer: Debug,
L::OffsetContainer: Debug,
L::ValContainer: Debug,
L::TimeContainer: Debug,
L::DiffContainer: Debug,
impl<L: Debug + Layout> Debug for OrdValStorage<L>where
L::KeyContainer: Debug,
L::OffsetContainer: Debug,
L::ValContainer: Debug,
L::TimeContainer: Debug,
L::DiffContainer: Debug,
Source§impl<'de, L: Layout> Deserialize<'de> for OrdValStorage<L>where
L::KeyContainer: Serialize + for<'a> Deserialize<'a>,
L::ValContainer: Serialize + for<'a> Deserialize<'a>,
L::OffsetContainer: Serialize + for<'a> Deserialize<'a>,
L::TimeContainer: Serialize + for<'a> Deserialize<'a>,
L::DiffContainer: Serialize + for<'a> Deserialize<'a>,
impl<'de, L: Layout> Deserialize<'de> for OrdValStorage<L>where
L::KeyContainer: Serialize + for<'a> Deserialize<'a>,
L::ValContainer: Serialize + for<'a> Deserialize<'a>,
L::OffsetContainer: Serialize + for<'a> Deserialize<'a>,
L::TimeContainer: Serialize + for<'a> Deserialize<'a>,
L::DiffContainer: Serialize + for<'a> Deserialize<'a>,
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<L: Layout> Serialize for OrdValStorage<L>where
L::KeyContainer: Serialize + for<'a> Deserialize<'a>,
L::ValContainer: Serialize + for<'a> Deserialize<'a>,
L::OffsetContainer: Serialize + for<'a> Deserialize<'a>,
L::TimeContainer: Serialize + for<'a> Deserialize<'a>,
L::DiffContainer: Serialize + for<'a> Deserialize<'a>,
impl<L: Layout> Serialize for OrdValStorage<L>where
L::KeyContainer: Serialize + for<'a> Deserialize<'a>,
L::ValContainer: Serialize + for<'a> Deserialize<'a>,
L::OffsetContainer: Serialize + for<'a> Deserialize<'a>,
L::TimeContainer: Serialize + for<'a> Deserialize<'a>,
L::DiffContainer: Serialize + for<'a> Deserialize<'a>,
Auto Trait Implementations§
impl<L> Freeze for OrdValStorage<L>where
<L as Layout>::KeyContainer: Freeze,
<L as Layout>::OffsetContainer: Freeze,
<L as Layout>::ValContainer: Freeze,
<L as Layout>::TimeContainer: Freeze,
<L as Layout>::DiffContainer: Freeze,
impl<L> RefUnwindSafe for OrdValStorage<L>where
<L as Layout>::KeyContainer: RefUnwindSafe,
<L as Layout>::OffsetContainer: RefUnwindSafe,
<L as Layout>::ValContainer: RefUnwindSafe,
<L as Layout>::TimeContainer: RefUnwindSafe,
<L as Layout>::DiffContainer: RefUnwindSafe,
impl<L> Send for OrdValStorage<L>where
<L as Layout>::KeyContainer: Send,
<L as Layout>::OffsetContainer: Send,
<L as Layout>::ValContainer: Send,
<L as Layout>::TimeContainer: Send,
<L as Layout>::DiffContainer: Send,
impl<L> Sync for OrdValStorage<L>where
<L as Layout>::KeyContainer: Sync,
<L as Layout>::OffsetContainer: Sync,
<L as Layout>::ValContainer: Sync,
<L as Layout>::TimeContainer: Sync,
<L as Layout>::DiffContainer: Sync,
impl<L> Unpin for OrdValStorage<L>where
<L as Layout>::KeyContainer: Unpin,
<L as Layout>::OffsetContainer: Unpin,
<L as Layout>::ValContainer: Unpin,
<L as Layout>::TimeContainer: Unpin,
<L as Layout>::DiffContainer: Unpin,
impl<L> UnwindSafe for OrdValStorage<L>where
<L as Layout>::KeyContainer: UnwindSafe,
<L as Layout>::OffsetContainer: UnwindSafe,
<L as Layout>::ValContainer: UnwindSafe,
<L as Layout>::TimeContainer: UnwindSafe,
<L as Layout>::DiffContainer: 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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
Source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.