Trait ArrayEnumerateMapOuter

Source
pub trait ArrayEnumerateMapOuter<T, const N: usize>: ArrayEnumerate<T, N> + ArrayMapOuter<T, N> {
    // Required methods
    const fn enumerate_map_outer<Map>(
        &self,
        mapper: Map,
    ) -> [[Map::Output; N]; N]
       where Map: FnMut<(usize, usize, T, T)>,
             T: Copy;
    const fn enumerate_map_outer_ref<'a, Map>(
        &'a self,
        mapper: Map,
    ) -> [[Map::Output; N]; N]
       where Map: FnMut<(usize, usize, &'a T, &'a T)>;
    const fn enumerate_map_outer_pin_ref<'a, Map>(
        self: Pin<&'a Self>,
        mapper: Map,
    ) -> [[Map::Output; N]; N]
       where Map: FnMut<(usize, usize, Pin<&'a T>, Pin<&'a T>)>;
    const async fn enumerate_map_outer_async<Map>(
        &self,
        mapper: Map,
    ) -> [[Map::Output; N]; N]
       where Map: AsyncFn<(usize, usize, T, T)>,
             T: Copy;
    const async fn enumerate_map_outer_ref_async<'a, Map>(
        &'a self,
        mapper: Map,
    ) -> [[Map::Output; N]; N]
       where Map: AsyncFn<(usize, usize, &'a T, &'a T)>,
             T: 'a;
    const async fn enumerate_map_outer_pin_ref_async<'a, Map>(
        self: Pin<&'a Self>,
        mapper: Map,
    ) -> [[Map::Output; N]; N]
       where Map: AsyncFn<(usize, usize, Pin<&'a T>, Pin<&'a T>)>,
             T: 'a;
    const fn try_enumerate_map_outer<Map, U, E>(
        &self,
        mapper: Map,
    ) -> Result<[[U; N]; N], E>
       where Map: FnMut(usize, usize, T, T) -> Result<U, E>,
             T: Copy;
    const fn try_enumerate_map_outer_ref<'a, Map, U, E>(
        &'a self,
        mapper: Map,
    ) -> Result<[[U; N]; N], E>
       where Map: FnMut(usize, usize, &'a T, &'a T) -> Result<U, E>,
             T: 'a;
    const fn try_enumerate_map_outer_pin_ref<'a, Map, U, E>(
        self: Pin<&'a Self>,
        mapper: Map,
    ) -> Result<[[U; N]; N], E>
       where Map: FnMut(usize, usize, Pin<&'a T>, Pin<&'a T>) -> Result<U, E>,
             T: 'a;
    const async fn try_enumerate_map_outer_async<Map, U, E>(
        &self,
        mapper: Map,
    ) -> Result<[[U; N]; N], E>
       where Map: AsyncFn(usize, usize, T, T) -> Result<U, E>,
             T: Copy;
    const async fn try_enumerate_map_outer_ref_async<'a, Map, U, E>(
        &'a self,
        mapper: Map,
    ) -> Result<[[U; N]; N], E>
       where Map: AsyncFn(usize, usize, &'a T, &'a T) -> Result<U, E>,
             T: 'a;
    const async fn try_enumerate_map_outer_pin_ref_async<'a, Map, U, E>(
        self: Pin<&'a Self>,
        mapper: Map,
    ) -> Result<[[U; N]; N], E>
       where Map: AsyncFn(usize, usize, Pin<&'a T>, Pin<&'a T>) -> Result<U, E>,
             T: 'a;
}

Required Methods§

Source

const fn enumerate_map_outer<Map>(&self, mapper: Map) -> [[Map::Output; N]; N]
where Map: FnMut<(usize, usize, T, T)>, T: Copy,

Source

const fn enumerate_map_outer_ref<'a, Map>( &'a self, mapper: Map, ) -> [[Map::Output; N]; N]
where Map: FnMut<(usize, usize, &'a T, &'a T)>,

Source

const fn enumerate_map_outer_pin_ref<'a, Map>( self: Pin<&'a Self>, mapper: Map, ) -> [[Map::Output; N]; N]
where Map: FnMut<(usize, usize, Pin<&'a T>, Pin<&'a T>)>,

Source

const async fn enumerate_map_outer_async<Map>( &self, mapper: Map, ) -> [[Map::Output; N]; N]
where Map: AsyncFn<(usize, usize, T, T)>, T: Copy,

Source

const async fn enumerate_map_outer_ref_async<'a, Map>( &'a self, mapper: Map, ) -> [[Map::Output; N]; N]
where Map: AsyncFn<(usize, usize, &'a T, &'a T)>, T: 'a,

Source

const async fn enumerate_map_outer_pin_ref_async<'a, Map>( self: Pin<&'a Self>, mapper: Map, ) -> [[Map::Output; N]; N]
where Map: AsyncFn<(usize, usize, Pin<&'a T>, Pin<&'a T>)>, T: 'a,

Source

const fn try_enumerate_map_outer<Map, U, E>( &self, mapper: Map, ) -> Result<[[U; N]; N], E>
where Map: FnMut(usize, usize, T, T) -> Result<U, E>, T: Copy,

Source

const fn try_enumerate_map_outer_ref<'a, Map, U, E>( &'a self, mapper: Map, ) -> Result<[[U; N]; N], E>
where Map: FnMut(usize, usize, &'a T, &'a T) -> Result<U, E>, T: 'a,

Source

const fn try_enumerate_map_outer_pin_ref<'a, Map, U, E>( self: Pin<&'a Self>, mapper: Map, ) -> Result<[[U; N]; N], E>
where Map: FnMut(usize, usize, Pin<&'a T>, Pin<&'a T>) -> Result<U, E>, T: 'a,

Source

const async fn try_enumerate_map_outer_async<Map, U, E>( &self, mapper: Map, ) -> Result<[[U; N]; N], E>
where Map: AsyncFn(usize, usize, T, T) -> Result<U, E>, T: Copy,

Source

const async fn try_enumerate_map_outer_ref_async<'a, Map, U, E>( &'a self, mapper: Map, ) -> Result<[[U; N]; N], E>
where Map: AsyncFn(usize, usize, &'a T, &'a T) -> Result<U, E>, T: 'a,

Source

const async fn try_enumerate_map_outer_pin_ref_async<'a, Map, U, E>( self: Pin<&'a Self>, mapper: Map, ) -> Result<[[U; N]; N], E>
where Map: AsyncFn(usize, usize, Pin<&'a T>, Pin<&'a T>) -> Result<U, E>, T: 'a,

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<T, const N: usize> ArrayEnumerateMapOuter<T, N> for [T; N]

Source§

fn enumerate_map_outer<Map>(&self, mapper: Map) -> [[Map::Output; N]; N]
where Map: FnMut<(usize, usize, T, T)> + Destruct, T: Copy,

Source§

fn enumerate_map_outer_ref<'a, Map>( &'a self, mapper: Map, ) -> [[Map::Output; N]; N]
where Map: FnMut<(usize, usize, &'a T, &'a T)>,

Source§

fn enumerate_map_outer_pin_ref<'a, Map>( self: Pin<&'a Self>, mapper: Map, ) -> [[Map::Output; N]; N]
where Map: FnMut<(usize, usize, Pin<&'a T>, Pin<&'a T>)>,

Source§

async fn enumerate_map_outer_async<Map>( &self, mapper: Map, ) -> [[Map::Output; N]; N]
where Map: AsyncFn<(usize, usize, T, T)>, T: Copy,

Source§

async fn enumerate_map_outer_ref_async<'a, Map>( &'a self, mapper: Map, ) -> [[Map::Output; N]; N]
where Map: AsyncFn<(usize, usize, &'a T, &'a T)>, T: 'a,

Source§

async fn enumerate_map_outer_pin_ref_async<'a, Map>( self: Pin<&'a Self>, mapper: Map, ) -> [[Map::Output; N]; N]
where Map: AsyncFn<(usize, usize, Pin<&'a T>, Pin<&'a T>)>, T: 'a,

Source§

fn try_enumerate_map_outer<Map, U, E>( &self, mapper: Map, ) -> Result<[[U; N]; N], E>
where Map: FnMut(usize, usize, T, T) -> Result<U, E>, T: Copy,

Source§

fn try_enumerate_map_outer_ref<'a, Map, U, E>( &'a self, mapper: Map, ) -> Result<[[U; N]; N], E>
where Map: FnMut(usize, usize, &'a T, &'a T) -> Result<U, E>, T: 'a,

Source§

fn try_enumerate_map_outer_pin_ref<'a, Map, U, E>( self: Pin<&'a Self>, mapper: Map, ) -> Result<[[U; N]; N], E>
where Map: FnMut(usize, usize, Pin<&'a T>, Pin<&'a T>) -> Result<U, E>, T: 'a,

Source§

async fn try_enumerate_map_outer_async<Map, U, E>( &self, mapper: Map, ) -> Result<[[U; N]; N], E>
where Map: AsyncFn(usize, usize, T, T) -> Result<U, E>, T: Copy,

Source§

async fn try_enumerate_map_outer_ref_async<'a, Map, U, E>( &'a self, mapper: Map, ) -> Result<[[U; N]; N], E>
where Map: AsyncFn(usize, usize, &'a T, &'a T) -> Result<U, E>, T: 'a,

Source§

async fn try_enumerate_map_outer_pin_ref_async<'a, Map, U, E>( self: Pin<&'a Self>, mapper: Map, ) -> Result<[[U; N]; N], E>
where Map: AsyncFn(usize, usize, Pin<&'a T>, Pin<&'a T>) -> Result<U, E>, T: 'a,

Implementors§