Trait Transactional

Source
pub trait Transactional<E = ()> {
    type View<'a>;

    // Required method
    fn transaction<F, A>(&self, f: F) -> TransactionResult<A, E>
       where F: for<'a> Fn(Self::View<'a>) -> ConflictableTransactionResult<A, E>;
}

Required Associated Types§

Source

type View<'a>

Required Methods§

Source

fn transaction<F, A>(&self, f: F) -> TransactionResult<A, E>
where F: for<'a> Fn(Self::View<'a>) -> ConflictableTransactionResult<A, E>,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<E, K0: Key, V0: Value, K1: Key, V1: Value> Transactional<E> for (&Tree<K0, V0>, &Tree<K1, V1>)

Source§

type View<'a> = (TransactionalTree<'a, K0, V0>, TransactionalTree<'a, K1, V1>)

Source§

fn transaction<F, A>(&self, f: F) -> TransactionResult<A, E>
where F: for<'a> Fn(Self::View<'a>) -> ConflictableTransactionResult<A, E>,

Source§

impl<E, K0: Key, V0: Value, K1: Key, V1: Value, K2: Key, V2: Value> Transactional<E> for (&Tree<K0, V0>, &Tree<K1, V1>, &Tree<K2, V2>)

Source§

type View<'a> = (TransactionalTree<'a, K0, V0>, TransactionalTree<'a, K1, V1>, TransactionalTree<'a, K2, V2>)

Source§

fn transaction<F, A>(&self, f: F) -> TransactionResult<A, E>
where F: for<'a> Fn(Self::View<'a>) -> ConflictableTransactionResult<A, E>,

Source§

impl<E, K0: Key, V0: Value, K1: Key, V1: Value, K2: Key, V2: Value, K3: Key, V3: Value> Transactional<E> for (&Tree<K0, V0>, &Tree<K1, V1>, &Tree<K2, V2>, &Tree<K3, V3>)

Source§

type View<'a> = (TransactionalTree<'a, K0, V0>, TransactionalTree<'a, K1, V1>, TransactionalTree<'a, K2, V2>, TransactionalTree<'a, K3, V3>)

Source§

fn transaction<F, A>(&self, f: F) -> TransactionResult<A, E>
where F: for<'a> Fn(Self::View<'a>) -> ConflictableTransactionResult<A, E>,

Source§

impl<E, K0: Key, V0: Value, K1: Key, V1: Value, K2: Key, V2: Value, K3: Key, V3: Value, K4: Key, V4: Value> Transactional<E> for (&Tree<K0, V0>, &Tree<K1, V1>, &Tree<K2, V2>, &Tree<K3, V3>, &Tree<K4, V4>)

Source§

type View<'a> = (TransactionalTree<'a, K0, V0>, TransactionalTree<'a, K1, V1>, TransactionalTree<'a, K2, V2>, TransactionalTree<'a, K3, V3>, TransactionalTree<'a, K4, V4>)

Source§

fn transaction<F, A>(&self, f: F) -> TransactionResult<A, E>
where F: for<'a> Fn(Self::View<'a>) -> ConflictableTransactionResult<A, E>,

Source§

impl<E, K0: Key, V0: Value, K1: Key, V1: Value, K2: Key, V2: Value, K3: Key, V3: Value, K4: Key, V4: Value, K5: Key, V5: Value> Transactional<E> for (&Tree<K0, V0>, &Tree<K1, V1>, &Tree<K2, V2>, &Tree<K3, V3>, &Tree<K4, V4>, &Tree<K5, V5>)

Source§

type View<'a> = (TransactionalTree<'a, K0, V0>, TransactionalTree<'a, K1, V1>, TransactionalTree<'a, K2, V2>, TransactionalTree<'a, K3, V3>, TransactionalTree<'a, K4, V4>, TransactionalTree<'a, K5, V5>)

Source§

fn transaction<F, A>(&self, f: F) -> TransactionResult<A, E>
where F: for<'a> Fn(Self::View<'a>) -> ConflictableTransactionResult<A, E>,

Source§

impl<E, K0: Key, V0: Value, K1: Key, V1: Value, K2: Key, V2: Value, K3: Key, V3: Value, K4: Key, V4: Value, K5: Key, V5: Value, K6: Key, V6: Value> Transactional<E> for (&Tree<K0, V0>, &Tree<K1, V1>, &Tree<K2, V2>, &Tree<K3, V3>, &Tree<K4, V4>, &Tree<K5, V5>, &Tree<K6, V6>)

Source§

type View<'a> = (TransactionalTree<'a, K0, V0>, TransactionalTree<'a, K1, V1>, TransactionalTree<'a, K2, V2>, TransactionalTree<'a, K3, V3>, TransactionalTree<'a, K4, V4>, TransactionalTree<'a, K5, V5>, TransactionalTree<'a, K6, V6>)

Source§

fn transaction<F, A>(&self, f: F) -> TransactionResult<A, E>
where F: for<'a> Fn(Self::View<'a>) -> ConflictableTransactionResult<A, E>,

Source§

impl<E, K0: Key, V0: Value, K1: Key, V1: Value, K2: Key, V2: Value, K3: Key, V3: Value, K4: Key, V4: Value, K5: Key, V5: Value, K6: Key, V6: Value, K7: Key, V7: Value> Transactional<E> for (&Tree<K0, V0>, &Tree<K1, V1>, &Tree<K2, V2>, &Tree<K3, V3>, &Tree<K4, V4>, &Tree<K5, V5>, &Tree<K6, V6>, &Tree<K7, V7>)

Source§

type View<'a> = (TransactionalTree<'a, K0, V0>, TransactionalTree<'a, K1, V1>, TransactionalTree<'a, K2, V2>, TransactionalTree<'a, K3, V3>, TransactionalTree<'a, K4, V4>, TransactionalTree<'a, K5, V5>, TransactionalTree<'a, K6, V6>, TransactionalTree<'a, K7, V7>)

Source§

fn transaction<F, A>(&self, f: F) -> TransactionResult<A, E>
where F: for<'a> Fn(Self::View<'a>) -> ConflictableTransactionResult<A, E>,

Source§

impl<E, K0: Key, V0: Value, K1: Key, V1: Value, K2: Key, V2: Value, K3: Key, V3: Value, K4: Key, V4: Value, K5: Key, V5: Value, K6: Key, V6: Value, K7: Key, V7: Value, K8: Key, V8: Value> Transactional<E> for (&Tree<K0, V0>, &Tree<K1, V1>, &Tree<K2, V2>, &Tree<K3, V3>, &Tree<K4, V4>, &Tree<K5, V5>, &Tree<K6, V6>, &Tree<K7, V7>, &Tree<K8, V8>)

Source§

type View<'a> = (TransactionalTree<'a, K0, V0>, TransactionalTree<'a, K1, V1>, TransactionalTree<'a, K2, V2>, TransactionalTree<'a, K3, V3>, TransactionalTree<'a, K4, V4>, TransactionalTree<'a, K5, V5>, TransactionalTree<'a, K6, V6>, TransactionalTree<'a, K7, V7>, TransactionalTree<'a, K8, V8>)

Source§

fn transaction<F, A>(&self, f: F) -> TransactionResult<A, E>
where F: for<'a> Fn(Self::View<'a>) -> ConflictableTransactionResult<A, E>,

Source§

impl<E, K0: Key, V0: Value, K1: Key, V1: Value, K2: Key, V2: Value, K3: Key, V3: Value, K4: Key, V4: Value, K5: Key, V5: Value, K6: Key, V6: Value, K7: Key, V7: Value, K8: Key, V8: Value, K9: Key, V9: Value> Transactional<E> for (&Tree<K0, V0>, &Tree<K1, V1>, &Tree<K2, V2>, &Tree<K3, V3>, &Tree<K4, V4>, &Tree<K5, V5>, &Tree<K6, V6>, &Tree<K7, V7>, &Tree<K8, V8>, &Tree<K9, V9>)

Source§

type View<'a> = (TransactionalTree<'a, K0, V0>, TransactionalTree<'a, K1, V1>, TransactionalTree<'a, K2, V2>, TransactionalTree<'a, K3, V3>, TransactionalTree<'a, K4, V4>, TransactionalTree<'a, K5, V5>, TransactionalTree<'a, K6, V6>, TransactionalTree<'a, K7, V7>, TransactionalTree<'a, K8, V8>, TransactionalTree<'a, K9, V9>)

Source§

fn transaction<F, A>(&self, f: F) -> TransactionResult<A, E>
where F: for<'a> Fn(Self::View<'a>) -> ConflictableTransactionResult<A, E>,

Source§

impl<E, K0: Key, V0: Value, K1: Key, V1: Value, K2: Key, V2: Value, K3: Key, V3: Value, K4: Key, V4: Value, K5: Key, V5: Value, K6: Key, V6: Value, K7: Key, V7: Value, K8: Key, V8: Value, K9: Key, V9: Value, K10: Key, V10: Value> Transactional<E> for (&Tree<K0, V0>, &Tree<K1, V1>, &Tree<K2, V2>, &Tree<K3, V3>, &Tree<K4, V4>, &Tree<K5, V5>, &Tree<K6, V6>, &Tree<K7, V7>, &Tree<K8, V8>, &Tree<K9, V9>, &Tree<K10, V10>)

Source§

type View<'a> = (TransactionalTree<'a, K0, V0>, TransactionalTree<'a, K1, V1>, TransactionalTree<'a, K2, V2>, TransactionalTree<'a, K3, V3>, TransactionalTree<'a, K4, V4>, TransactionalTree<'a, K5, V5>, TransactionalTree<'a, K6, V6>, TransactionalTree<'a, K7, V7>, TransactionalTree<'a, K8, V8>, TransactionalTree<'a, K9, V9>, TransactionalTree<'a, K10, V10>)

Source§

fn transaction<F, A>(&self, f: F) -> TransactionResult<A, E>
where F: for<'a> Fn(Self::View<'a>) -> ConflictableTransactionResult<A, E>,

Implementors§