[−][src]Trait rdms::Diff
Trait for diffable values.
All values indexed in Rdms must support this trait, since Rdms can manage successive modifications to the same entry.
If,
P = old value; C = new value; D = difference between P and C
Then,
D = C - P (diff operation)
P = C - D (merge operation, to get old value)
Associated Types
Loading content...Required methods
fn diff(&self, old: &Self) -> Self::D
Return the delta between two consecutive versions of a value.
Delta = New - Old
.
fn merge(&self, delta: &Self::D) -> Self
Merge delta with newer version to return older version of the value.
Old = New - Delta
.
Implementations on Foreign Types
impl Diff for Vec<u8>
[src]
type D = Vec<u8>
fn diff(&self, old: &Self) -> Self::D
[src]
D = C - P
fn merge(&self, delta: &Self::D) -> Self
[src]
P = C - D
impl Diff for i32
[src]
type D = i32
fn diff(&self, old: &Self) -> Self::D
[src]
D = C - P
fn merge(&self, delta: &Self::D) -> Self
[src]
P = C - D
impl Diff for i64
[src]
type D = i64
fn diff(&self, old: &Self) -> Self::D
[src]
D = C - P
fn merge(&self, delta: &Self::D) -> Self
[src]
P = C - D