AsTupleOfRefs

Trait AsTupleOfRefs 

Source
pub trait AsTupleOfRefs<'a>: Tuple {
    type TupleOfRefs: Tuple + 'a;
    type TupleOfMutRefs: Tuple + 'a;

    // Required methods
    fn as_tuple_of_refs(&'a self) -> Self::TupleOfRefs;
    fn as_tuple_of_mut_refs(&'a mut self) -> Self::TupleOfMutRefs;
}
Expand description

Trait providing conversion from references to tuples into tuples of references.

Generic trait implemented for all tuples (up to 12 elements).

§Example

use tuple_list::AsTupleOfRefs;
 
fn by_val(tuple: (i32, i32)) {}
fn by_ref(tuple: (&i32, &i32)) {}
fn by_mut(tuple: (&mut i32, &mut i32)) {}
 
let mut tuple = (1, 2);
by_val(tuple);
by_ref(tuple.as_tuple_of_refs());
by_mut(tuple.as_tuple_of_mut_refs());

Required Associated Types§

Required Methods§

Source

fn as_tuple_of_refs(&'a self) -> Self::TupleOfRefs

Converts reference to tuple into tuple of references.

Source

fn as_tuple_of_mut_refs(&'a mut self) -> Self::TupleOfMutRefs

Converts mutable reference to tuple into tuple of mutable references.

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<'a> AsTupleOfRefs<'a> for ()

Source§

impl<'a, T1: 'a> AsTupleOfRefs<'a> for (T1,)

Source§

impl<'a, T1: 'a, T2: 'a> AsTupleOfRefs<'a> for (T1, T2)

Source§

impl<'a, T1: 'a, T2: 'a, T3: 'a> AsTupleOfRefs<'a> for (T1, T2, T3)

Source§

impl<'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a> AsTupleOfRefs<'a> for (T1, T2, T3, T4)

Source§

impl<'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a> AsTupleOfRefs<'a> for (T1, T2, T3, T4, T5)

Source§

impl<'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a> AsTupleOfRefs<'a> for (T1, T2, T3, T4, T5, T6)

Source§

impl<'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a, T7: 'a> AsTupleOfRefs<'a> for (T1, T2, T3, T4, T5, T6, T7)

Source§

impl<'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a, T7: 'a, T8: 'a> AsTupleOfRefs<'a> for (T1, T2, T3, T4, T5, T6, T7, T8)

Source§

impl<'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a, T7: 'a, T8: 'a, T9: 'a> AsTupleOfRefs<'a> for (T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

impl<'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a, T7: 'a, T8: 'a, T9: 'a, T10: 'a> AsTupleOfRefs<'a> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

impl<'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a, T7: 'a, T8: 'a, T9: 'a, T10: 'a, T11: 'a> AsTupleOfRefs<'a> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

impl<'a, T1: 'a, T2: 'a, T3: 'a, T4: 'a, T5: 'a, T6: 'a, T7: 'a, T8: 'a, T9: 'a, T10: 'a, T11: 'a, T12: 'a> AsTupleOfRefs<'a> for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Implementors§