Trait kobold::diff::Diff

source ·
pub trait Diff: Copy {
    type Memo: 'static;

    // Required methods
    fn into_memo(self) -> Self::Memo;
    fn diff(self, memo: &mut Self::Memo) -> bool;
}
Expand description

Trait that defines how different values can be diffed at runtime.

Required Associated Types§

source

type Memo: 'static

Data used to check if current value is different from the one in the past.

Required Methods§

source

fn into_memo(self) -> Self::Memo

Generate a new Memo for this type.

source

fn diff(self, memo: &mut Self::Memo) -> bool

Diff current value against the Memo, update it if necessary and return true if it has changed.

Implementations on Foreign Types§

source§

impl Diff for i16

§

type Memo = i16

source§

fn into_memo(self) -> i16

source§

fn diff(self, memo: &mut i16) -> bool

source§

impl Diff for usize

§

type Memo = usize

source§

fn into_memo(self) -> usize

source§

fn diff(self, memo: &mut usize) -> bool

source§

impl Diff for u32

§

type Memo = u32

source§

fn into_memo(self) -> u32

source§

fn diff(self, memo: &mut u32) -> bool

source§

impl Diff for u64

§

type Memo = u64

source§

fn into_memo(self) -> u64

source§

fn diff(self, memo: &mut u64) -> bool

source§

impl Diff for bool

§

type Memo = bool

source§

fn into_memo(self) -> bool

source§

fn diff(self, memo: &mut bool) -> bool

source§

impl Diff for isize

§

type Memo = isize

source§

fn into_memo(self) -> isize

source§

fn diff(self, memo: &mut isize) -> bool

source§

impl Diff for f64

§

type Memo = f64

source§

fn into_memo(self) -> f64

source§

fn diff(self, memo: &mut f64) -> bool

source§

impl Diff for i64

§

type Memo = i64

source§

fn into_memo(self) -> i64

source§

fn diff(self, memo: &mut i64) -> bool

source§

impl Diff for &String

§

type Memo = String

source§

fn into_memo(self) -> String

source§

fn diff(self, memo: &mut String) -> bool

source§

impl Diff for i8

§

type Memo = i8

source§

fn into_memo(self) -> i8

source§

fn diff(self, memo: &mut i8) -> bool

source§

impl Diff for u16

§

type Memo = u16

source§

fn into_memo(self) -> u16

source§

fn diff(self, memo: &mut u16) -> bool

source§

impl Diff for u128

§

type Memo = u128

source§

fn into_memo(self) -> u128

source§

fn diff(self, memo: &mut u128) -> bool

source§

impl Diff for i128

§

type Memo = i128

source§

fn into_memo(self) -> i128

source§

fn diff(self, memo: &mut i128) -> bool

source§

impl Diff for u8

§

type Memo = u8

source§

fn into_memo(self) -> u8

source§

fn diff(self, memo: &mut u8) -> bool

source§

impl Diff for i32

§

type Memo = i32

source§

fn into_memo(self) -> i32

source§

fn diff(self, memo: &mut i32) -> bool

source§

impl Diff for f32

§

type Memo = f32

source§

fn into_memo(self) -> f32

source§

fn diff(self, memo: &mut f32) -> bool

source§

impl Diff for &str

§

type Memo = String

source§

fn into_memo(self) -> String

source§

fn diff(self, memo: &mut String) -> bool

Implementors§

source§

impl Diff for &VString

§

type Memo = u64

source§

impl<T> Diff for Eager<T>where T: Copy,

§

type Memo = ()

source§

impl<T> Diff for Static<T>where T: Copy,

§

type Memo = ()

source§

impl<T: ?Sized> Diff for &Ref<T>