[][src]Struct chronofold::Op

pub struct Op<A, T> {
    pub id: Timestamp<A>,
    pub reference: Option<Timestamp<A>>,
    pub change: Change<T>,
}

An operation is the unit of change in the distributed context.

Ops are independent of the subjective orders in the chronofolds' logs. Different authors exchange ops to keep their local replicas synchronized.

Fields

id: Timestamp<A>reference: Option<Timestamp<A>>change: Change<T>

Implementations

impl<A, T> Op<A, T>[src]

pub fn new(
    id: Timestamp<A>,
    reference: Option<Timestamp<A>>,
    change: Change<T>
) -> Self
[src]

Trait Implementations

impl<A: Clone, T: Clone> Clone for Op<A, T>[src]

impl<A: Debug, T: Debug> Debug for Op<A, T>[src]

impl<A: Eq, T: Eq> Eq for Op<A, T>[src]

impl<A: PartialEq, T: PartialEq> PartialEq<Op<A, T>> for Op<A, T>[src]

impl<A, T> StructuralEq for Op<A, T>[src]

impl<A, T> StructuralPartialEq for Op<A, T>[src]

Auto Trait Implementations

impl<A, T> RefUnwindSafe for Op<A, T> where
    A: RefUnwindSafe,
    T: RefUnwindSafe

impl<A, T> Send for Op<A, T> where
    A: Send,
    T: Send

impl<A, T> Sync for Op<A, T> where
    A: Sync,
    T: Sync

impl<A, T> Unpin for Op<A, T> where
    A: Unpin,
    T: Unpin

impl<A, T> UnwindSafe for Op<A, T> where
    A: UnwindSafe,
    T: 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> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[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.