TupleRefMap

Trait TupleRefMap 

Source
pub trait TupleRefMap {
    type RefMap<'a>
       where Self: 'a;

    // Required method
    fn tuple_ref_map(&self) -> Self::RefMap<'_>;
}
Expand description

A trait for applying TupleRef to each element of a tuple.

This trait takes a tuple where each element implements TupleRef and returns a tuple where each element is the result of calling tuple_ref() on the original elements.

§Examples

use tuplities_ref::TupleRefMap;

let matrix = ((1, 2), (3, 4), (5, 6));
let ref_matrix = matrix.tuple_ref_map();
assert_eq!(ref_matrix, ((&1, &2), (&3, &4), (&5, &6)));

Part of the tuplities crate.

Required Associated Types§

Source

type RefMap<'a> where Self: 'a

The type of a tuple containing tuples of references to each inner element.

Required Methods§

Source

fn tuple_ref_map(&self) -> Self::RefMap<'_>

Returns a tuple where each element is a tuple of references to the inner elements.

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 TupleRefMap for ()

Source§

type RefMap<'a> = () where Self: 'a

Source§

fn tuple_ref_map(&self) -> Self::RefMap<'_>

Source§

impl<T1: TupleRef> TupleRefMap for (T1,)

Source§

type RefMap<'a> = (<T1 as TupleRef>::Ref<'a>,) where Self: 'a

Source§

fn tuple_ref_map(&self) -> Self::RefMap<'_>

Source§

impl<T1: TupleRef, T2: TupleRef> TupleRefMap for (T1, T2)

Source§

type RefMap<'a> = (<T1 as TupleRef>::Ref<'a>, <T2 as TupleRef>::Ref<'a>) where Self: 'a

Source§

fn tuple_ref_map(&self) -> Self::RefMap<'_>

Source§

impl<T1: TupleRef, T2: TupleRef, T3: TupleRef> TupleRefMap for (T1, T2, T3)

Source§

type RefMap<'a> = (<T1 as TupleRef>::Ref<'a>, <T2 as TupleRef>::Ref<'a>, <T3 as TupleRef>::Ref<'a>) where Self: 'a

Source§

fn tuple_ref_map(&self) -> Self::RefMap<'_>

Source§

impl<T1: TupleRef, T2: TupleRef, T3: TupleRef, T4: TupleRef> TupleRefMap for (T1, T2, T3, T4)

Source§

type RefMap<'a> = (<T1 as TupleRef>::Ref<'a>, <T2 as TupleRef>::Ref<'a>, <T3 as TupleRef>::Ref<'a>, <T4 as TupleRef>::Ref<'a>) where Self: 'a

Source§

fn tuple_ref_map(&self) -> Self::RefMap<'_>

Source§

impl<T1: TupleRef, T2: TupleRef, T3: TupleRef, T4: TupleRef, T5: TupleRef> TupleRefMap for (T1, T2, T3, T4, T5)

Source§

type RefMap<'a> = (<T1 as TupleRef>::Ref<'a>, <T2 as TupleRef>::Ref<'a>, <T3 as TupleRef>::Ref<'a>, <T4 as TupleRef>::Ref<'a>, <T5 as TupleRef>::Ref<'a>) where Self: 'a

Source§

fn tuple_ref_map(&self) -> Self::RefMap<'_>

Source§

impl<T1: TupleRef, T2: TupleRef, T3: TupleRef, T4: TupleRef, T5: TupleRef, T6: TupleRef> TupleRefMap for (T1, T2, T3, T4, T5, T6)

Source§

type RefMap<'a> = (<T1 as TupleRef>::Ref<'a>, <T2 as TupleRef>::Ref<'a>, <T3 as TupleRef>::Ref<'a>, <T4 as TupleRef>::Ref<'a>, <T5 as TupleRef>::Ref<'a>, <T6 as TupleRef>::Ref<'a>) where Self: 'a

Source§

fn tuple_ref_map(&self) -> Self::RefMap<'_>

Source§

impl<T1: TupleRef, T2: TupleRef, T3: TupleRef, T4: TupleRef, T5: TupleRef, T6: TupleRef, T7: TupleRef> TupleRefMap for (T1, T2, T3, T4, T5, T6, T7)

Source§

type RefMap<'a> = (<T1 as TupleRef>::Ref<'a>, <T2 as TupleRef>::Ref<'a>, <T3 as TupleRef>::Ref<'a>, <T4 as TupleRef>::Ref<'a>, <T5 as TupleRef>::Ref<'a>, <T6 as TupleRef>::Ref<'a>, <T7 as TupleRef>::Ref<'a>) where Self: 'a

Source§

fn tuple_ref_map(&self) -> Self::RefMap<'_>

Source§

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

Source§

type RefMap<'a> = (<T1 as TupleRef>::Ref<'a>, <T2 as TupleRef>::Ref<'a>, <T3 as TupleRef>::Ref<'a>, <T4 as TupleRef>::Ref<'a>, <T5 as TupleRef>::Ref<'a>, <T6 as TupleRef>::Ref<'a>, <T7 as TupleRef>::Ref<'a>, <T8 as TupleRef>::Ref<'a>) where Self: 'a

Source§

fn tuple_ref_map(&self) -> Self::RefMap<'_>

Implementors§