Trait mem_query::transaction::UndoLog[][src]

pub trait UndoLog<Root: ?Sized> {
    fn revert(self, root: &mut Root);
}
Expand description

An action required to revert a failed transaction

Required methods

fn revert(self, root: &mut Root)[src]

Implementations on Foreign Types

impl<Root: ?Sized> UndoLog<Root> for ()[src]

The empty tuple is a No-op undo for everthing

fn revert(self, _: &mut Root)[src]

impl<Root: ?Sized, A: UndoLog<Root>, B: UndoLog<Root>> UndoLog<Root> for (A, B)[src]

A tuple of two logs (A,B) first reverts log A and then log B

fn revert(self, root: &mut Root)[src]

impl<Root: ?Sized, T: UndoLog<Root>> UndoLog<Root> for Option<T>[src]

fn revert(self, root: &mut Root)[src]

impl<Root: ?Sized, A: UndoLog<Root>, B: UndoLog<Root>> UndoLog<Root> for Either<A, B>[src]

fn revert(self, root: &mut Root)[src]

impl<Root: ?Sized, T: UndoLog<Root>> UndoLog<Root> for Vec<T>[src]

A vector of logs is reverted in reverse order: pushing operation logs onto the end of the vector as they are applied.

fn revert(self, root: &mut Root)[src]

Implementors

impl<Root: ?Sized, AccessFn, Log, SubRoot> UndoLog<Root> for SubUndoLog<AccessFn, Log, SubRoot> where
    AccessFn: Accessor<Root, Dest = SubRoot>,
    Log: UndoLog<SubRoot>,
    SubRoot: ?Sized
[src]

fn revert(self, root: &mut Root)[src]