Struct mem_query::transaction::SubUndoLog[][src]

pub struct SubUndoLog<AccessFn, Log, SubRoot: ?Sized>(_, _, _);
Expand description

An undo log for some object that’s accessible via the main root. The AccessFn will find the object again before using the Log to revert We can’t store away a raw pointer because subsequent operations in the transaction might move the subroot (via Vec re-allocation, for example)

Trait Implementations

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]

Auto Trait Implementations

impl<AccessFn, Log, SubRoot: ?Sized> RefUnwindSafe for SubUndoLog<AccessFn, Log, SubRoot> where
    AccessFn: RefUnwindSafe,
    Log: RefUnwindSafe,
    SubRoot: RefUnwindSafe

impl<AccessFn, Log, SubRoot: ?Sized> Send for SubUndoLog<AccessFn, Log, SubRoot> where
    AccessFn: Send,
    Log: Send,
    SubRoot: Send

impl<AccessFn, Log, SubRoot: ?Sized> Sync for SubUndoLog<AccessFn, Log, SubRoot> where
    AccessFn: Sync,
    Log: Sync,
    SubRoot: Sync

impl<AccessFn, Log, SubRoot: ?Sized> Unpin for SubUndoLog<AccessFn, Log, SubRoot> where
    AccessFn: Unpin,
    Log: Unpin,
    SubRoot: Unpin

impl<AccessFn, Log, SubRoot: ?Sized> UnwindSafe for SubUndoLog<AccessFn, Log, SubRoot> where
    AccessFn: UnwindSafe,
    Log: UnwindSafe,
    SubRoot: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> Everything for T where
    T: ?Sized
[src]