LockGroup

Trait LockGroup 

Source
pub trait LockGroup {
    type Locked;

    // Required method
    fn lock_all(self) -> Self::Locked;
}
Expand description

A group of values that can be locked.

Required Associated Types§

Source

type Locked

The type of the group once locked.

Required Methods§

Source

fn lock_all(self) -> Self::Locked

Lock all items in the group.

The locking order will be consistent regardless of the order of the locks within in this group.

Implementations on Foreign Types§

Source§

impl<T1: SortableLock, T2: SortableLock> LockGroup for (T1, T2)

Source§

type Locked = (<T1 as SortableLock>::Guard, <T2 as SortableLock>::Guard)

Source§

fn lock_all(self) -> Self::Locked

Source§

impl<T1: SortableLock, T2: SortableLock, T3: SortableLock> LockGroup for (T1, T2, T3)

Source§

type Locked = (<T1 as SortableLock>::Guard, <T2 as SortableLock>::Guard, <T3 as SortableLock>::Guard)

Source§

fn lock_all(self) -> Self::Locked

Source§

impl<T1: SortableLock, T2: SortableLock, T3: SortableLock, T4: SortableLock> LockGroup for (T1, T2, T3, T4)

Source§

type Locked = (<T1 as SortableLock>::Guard, <T2 as SortableLock>::Guard, <T3 as SortableLock>::Guard, <T4 as SortableLock>::Guard)

Source§

fn lock_all(self) -> Self::Locked

Source§

impl<T1: SortableLock, T2: SortableLock, T3: SortableLock, T4: SortableLock, T5: SortableLock> LockGroup for (T1, T2, T3, T4, T5)

Source§

type Locked = (<T1 as SortableLock>::Guard, <T2 as SortableLock>::Guard, <T3 as SortableLock>::Guard, <T4 as SortableLock>::Guard, <T5 as SortableLock>::Guard)

Source§

fn lock_all(self) -> Self::Locked

Source§

impl<T1: SortableLock, T2: SortableLock, T3: SortableLock, T4: SortableLock, T5: SortableLock, T6: SortableLock> LockGroup for (T1, T2, T3, T4, T5, T6)

Source§

type Locked = (<T1 as SortableLock>::Guard, <T2 as SortableLock>::Guard, <T3 as SortableLock>::Guard, <T4 as SortableLock>::Guard, <T5 as SortableLock>::Guard, <T6 as SortableLock>::Guard)

Source§

fn lock_all(self) -> Self::Locked

Source§

impl<T1: SortableLock, T2: SortableLock, T3: SortableLock, T4: SortableLock, T5: SortableLock, T6: SortableLock, T7: SortableLock> LockGroup for (T1, T2, T3, T4, T5, T6, T7)

Source§

type Locked = (<T1 as SortableLock>::Guard, <T2 as SortableLock>::Guard, <T3 as SortableLock>::Guard, <T4 as SortableLock>::Guard, <T5 as SortableLock>::Guard, <T6 as SortableLock>::Guard, <T7 as SortableLock>::Guard)

Source§

fn lock_all(self) -> Self::Locked

Source§

impl<T1: SortableLock, T2: SortableLock, T3: SortableLock, T4: SortableLock, T5: SortableLock, T6: SortableLock, T7: SortableLock, T8: SortableLock> LockGroup for (T1, T2, T3, T4, T5, T6, T7, T8)

Source§

type Locked = (<T1 as SortableLock>::Guard, <T2 as SortableLock>::Guard, <T3 as SortableLock>::Guard, <T4 as SortableLock>::Guard, <T5 as SortableLock>::Guard, <T6 as SortableLock>::Guard, <T7 as SortableLock>::Guard, <T8 as SortableLock>::Guard)

Source§

fn lock_all(self) -> Self::Locked

Source§

impl<T1: SortableLock, T2: SortableLock, T3: SortableLock, T4: SortableLock, T5: SortableLock, T6: SortableLock, T7: SortableLock, T8: SortableLock, T9: SortableLock> LockGroup for (T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

type Locked = (<T1 as SortableLock>::Guard, <T2 as SortableLock>::Guard, <T3 as SortableLock>::Guard, <T4 as SortableLock>::Guard, <T5 as SortableLock>::Guard, <T6 as SortableLock>::Guard, <T7 as SortableLock>::Guard, <T8 as SortableLock>::Guard, <T9 as SortableLock>::Guard)

Source§

fn lock_all(self) -> Self::Locked

Source§

impl<T1: SortableLock, T2: SortableLock, T3: SortableLock, T4: SortableLock, T5: SortableLock, T6: SortableLock, T7: SortableLock, T8: SortableLock, T9: SortableLock, T10: SortableLock> LockGroup for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

type Locked = (<T1 as SortableLock>::Guard, <T2 as SortableLock>::Guard, <T3 as SortableLock>::Guard, <T4 as SortableLock>::Guard, <T5 as SortableLock>::Guard, <T6 as SortableLock>::Guard, <T7 as SortableLock>::Guard, <T8 as SortableLock>::Guard, <T9 as SortableLock>::Guard, <T10 as SortableLock>::Guard)

Source§

fn lock_all(self) -> Self::Locked

Implementors§