pub trait ArrayNdOps<const D: usize, T, const L: usize>: Array + ArrayNd<D, ItemNd = T> {
    type Mapped<M>: ArrayNdOps<D, M, L>;

Show 13 methods // Required methods fn as_ptr_nd(&self) -> *const T; fn as_mut_ptr_nd(&mut self) -> *mut T; fn fill_nd<F>(fill: F) -> Self where F: FnMut([usize; D]) -> T; fn map_nd<M>(self, map: M) -> Self::Mapped<<M as FnOnce(T)>::Output> where M: FnMut(T); fn enumerate_nd(self) -> Self::Mapped<([usize; D], T)>; fn flatten_nd_array(self) -> [T; L]; fn flatten_nd_array_ref(&self) -> &[T; L]; fn flatten_nd_array_mut(&mut self) -> &mut [T; L]; fn each_ref_nd(&self) -> Self::Mapped<&T>; fn each_mut_nd(&mut self) -> Self::Mapped<&mut T>; fn reduce_nd<R>(self, reduce: R) -> Option<T> where R: FnMut(T, T) -> T; fn get_nd(&self, i: [usize; D]) -> Option<&T>; fn get_nd_mut(&mut self, i: [usize; D]) -> Option<&mut T>;
}
Expand description

A trait for N-dimensional arrays

Required Associated Types§

source

type Mapped<M>: ArrayNdOps<D, M, L>

Required Methods§

source

fn as_ptr_nd(&self) -> *const T

source

fn as_mut_ptr_nd(&mut self) -> *mut T

source

fn fill_nd<F>(fill: F) -> Self
where F: FnMut([usize; D]) -> T,

Fills an N-dimensional array. Indices passed to fill-function are sorted from outermost to innermost.

Example
#![feature(generic_const_exprs)]
#![feature(const_trait_impl)]
#![feature(const_closures)]
#![feature(const_mut_refs)]
 
use array_trait::ArrayNdOps;
 
type T = u8;
 
let nd: [[T; 3]; 3] = ArrayNdOps::fill_nd(|[i, j]| 1 + 3*i as T + j as T);
 
assert_eq!(nd, [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]);
source

fn map_nd<M>(self, map: M) -> Self::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

Maps each element in the N-dimensional array.

Example
#![feature(generic_const_exprs)]
#![feature(const_trait_impl)]
#![feature(const_closures)]
#![feature(const_mut_refs)]
 
use array_trait::ArrayNdOps;
 
const ND: [[u8; 3]; 3] = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];
 
let nd_mapped: [[i8; 3]; 3] = ND.map_nd(const |x: u8| -(x as i8));
 
assert_eq!(nd_mapped, [
    [-1, -2, -3],
    [-4, -5, -6],
    [-7, -8, -9]
]);
source

fn enumerate_nd(self) -> Self::Mapped<([usize; D], T)>

Enumerates each element of an N-dimensional array. Indices are sorted from outermost to innermost.

Example
#![feature(generic_const_exprs)]
#![feature(const_trait_impl)]
#![feature(const_closures)]
#![feature(const_mut_refs)]
#![feature(generic_arg_infer)]
 
use array_trait::ArrayNdOps;
 
type T = u8;
 
const ND: [[T; 3]; 3] = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];
 
// For now, the compiler cannot infer the type, so type annotations are needed.
let nd_enum: [[([usize; 2], T); 3]; 3] = <[[T; 3]; 3] as ArrayNdOps<2, _, _>>::enumerate_nd(ND);
 
assert_eq!(nd_enum, [
    [([0, 0], 1), ([0, 1], 2), ([0, 2], 3)],
    [([1, 0], 4), ([1, 1], 5), ([1, 2], 6)],
    [([2, 0], 7), ([2, 1], 8), ([2, 2], 9)]
]);
source

fn flatten_nd_array(self) -> [T; L]

Flattens one or multiple dimensions of an N-dimensional array.

Example
#![feature(generic_const_exprs)]
#![feature(const_trait_impl)]
 
use array_trait::ArrayNdOps;
 
type T = u8;
 
const ND: [[T; 3]; 3] = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];
let flat: [T; 9] = ND.flatten_nd_array();
assert_eq!(flat, [1, 2, 3, 4, 5, 6, 7, 8, 9]);
source

fn flatten_nd_array_ref(&self) -> &[T; L]

Flattens one or multiple dimensions of an N-dimensional array-slice.

Example
#![feature(generic_const_exprs)]
#![feature(const_trait_impl)]
 
use array_trait::ArrayNdOps;
 
type T = u8;
 
const ND: [[T; 3]; 3] = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];
let flat: &[T; 9] = ND.flatten_nd_array_ref();
assert_eq!(flat, &[1, 2, 3, 4, 5, 6, 7, 8, 9]);
source

fn flatten_nd_array_mut(&mut self) -> &mut [T; L]

Flattens one or multiple dimensions of an N-dimensional array-slice

Example
#![feature(generic_const_exprs)]
 
use array_trait::ArrayNdOps;
 
type T = u8;
 
let mut nd: [[T; 3]; 3] = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];
let flat: &mut [T; 9] = nd.flatten_nd_array_mut();
 
for x in flat.into_iter()
{
    *x = 10 - *x;
}
 
assert_eq!(nd, [
    [9, 8, 7],
    [6, 5, 4],
    [3, 2, 1]
]);
source

fn each_ref_nd(&self) -> Self::Mapped<&T>

source

fn each_mut_nd(&mut self) -> Self::Mapped<&mut T>

source

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

Reduces inner elements in N-dimensional array into one element, using a given operand

Example
#![feature(generic_const_exprs)]
 
use array_trait::ArrayNdOps;
 
const A: [[(u8, u8); 3]; 2] = [
    [(0, 0), (0, 1), (0, 2)],
    [(1, 0), (1, 1), (1, 2)]
];
 
let r: (u8, u8) = A.reduce_nd(|(a1, a2), (b1, b2)| (a1 + b1, a2 + b2)).unwrap();
 
assert_eq!(r, (3, 6));
source

fn get_nd(&self, i: [usize; D]) -> Option<&T>

Retrieves the inner item using an array of indices, sorted from outermost to innermost, as a reference

Example
#![feature(const_closures)]
#![feature(const_option)]
#![feature(const_trait_impl)]
#![feature(generic_const_exprs)]
#![feature(const_mut_refs)]
 
use array_trait::ArrayNdOps;
 
const A: [[u8; 2]; 3] = [
    [1, 2],
    [3, 4],
    [5, 6]
];
let b: [[u8; 2]; 3] = ArrayNdOps::fill_nd(|[i, j]| {
    let item = *A.get_nd([i, j]).unwrap();
    assert_eq!(item, A[i][j]);
    item
});
 
assert_eq!(A, b);
source

fn get_nd_mut(&mut self, i: [usize; D]) -> Option<&mut T>

Retrieves the inner item using an array of indices, sorted from outermost to innermost, as a mutable reference

Example
#![feature(const_closures)]
#![feature(const_option)]
#![feature(const_trait_impl)]
#![feature(generic_const_exprs)]
#![feature(const_mut_refs)]
 
use array_trait::ArrayNdOps;
 
const A: [[u8; 2]; 3] = [
    [1, 2],
    [3, 4],
    [5, 6]
];
let mut b: [[u8; 2]; 3] = [[0; 2]; 3];
 
let mut i = 0;
while i < 3
{
    let mut j = 0;
    while j < 2
    {
        let item = *A.get_nd([i, j]).unwrap();
        assert_eq!(item, A[i][j]);
        *b.get_nd_mut([i, j]).unwrap() = item;
        j += 1;
    }
    i += 1;
}
 
assert_eq!(A, b);

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T, const _0: usize, const _1: usize, const _2: usize, const _3: usize, const _4: usize, const _5: usize, const _6: usize, const _7: usize, const _8: usize, const _9: usize, const _10: usize, const _11: usize, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#0}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#0}::{constant#1}> for [[[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1]; _0]

§

type Mapped<M> = [[[[[[[[[[[[[[[[[M; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1]; _0]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>( fill: F ) -> [[[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1]; _0]
where F: FnMut([usize; 17]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1]; _0] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#0}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#0}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1]; _0] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#0}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#0}::{constant#1}>>::Mapped<([usize; 17], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1]; _0] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#0}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#0}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1]; _0] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#0}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#0}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 17]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 17]) -> Option<&mut T>

source§

impl<T, const _1: usize, const _2: usize, const _3: usize, const _4: usize, const _5: usize, const _6: usize, const _7: usize, const _8: usize, const _9: usize, const _10: usize, const _11: usize, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#1}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#1}::{constant#1}> for [[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1]

§

type Mapped<M> = [[[[[[[[[[[[[[[[M; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>( fill: F ) -> [[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1]
where F: FnMut([usize; 16]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#1}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#1}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#1}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#1}::{constant#1}>>::Mapped<([usize; 16], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#1}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#1}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]; _1] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#1}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#1}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 16]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 16]) -> Option<&mut T>

source§

impl<T, const _2: usize, const _3: usize, const _4: usize, const _5: usize, const _6: usize, const _7: usize, const _8: usize, const _9: usize, const _10: usize, const _11: usize, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#2}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#2}::{constant#1}> for [[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]

§

type Mapped<M> = [[[[[[[[[[[[[[[M; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>( fill: F ) -> [[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2]
where F: FnMut([usize; 15]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#2}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#2}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#2}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#2}::{constant#1}>>::Mapped<([usize; 15], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#2}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#2}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]; _2] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#2}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#2}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 15]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 15]) -> Option<&mut T>

source§

impl<T, const _3: usize, const _4: usize, const _5: usize, const _6: usize, const _7: usize, const _8: usize, const _9: usize, const _10: usize, const _11: usize, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#3}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#3}::{constant#1}> for [[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]

§

type Mapped<M> = [[[[[[[[[[[[[[M; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>( fill: F ) -> [[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3]
where F: FnMut([usize; 14]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#3}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#3}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#3}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#3}::{constant#1}>>::Mapped<([usize; 14], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#3}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#3}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]; _3] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#3}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#3}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 14]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 14]) -> Option<&mut T>

source§

impl<T, const _4: usize, const _5: usize, const _6: usize, const _7: usize, const _8: usize, const _9: usize, const _10: usize, const _11: usize, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#4}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#4}::{constant#1}> for [[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]

§

type Mapped<M> = [[[[[[[[[[[[[M; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>( fill: F ) -> [[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4]
where F: FnMut([usize; 13]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#4}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#4}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#4}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#4}::{constant#1}>>::Mapped<([usize; 13], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#4}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#4}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]; _4] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#4}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#4}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 13]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 13]) -> Option<&mut T>

source§

impl<T, const _5: usize, const _6: usize, const _7: usize, const _8: usize, const _9: usize, const _10: usize, const _11: usize, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#5}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#5}::{constant#1}> for [[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]

§

type Mapped<M> = [[[[[[[[[[[[M; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>( fill: F ) -> [[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5]
where F: FnMut([usize; 12]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#5}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#5}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#5}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#5}::{constant#1}>>::Mapped<([usize; 12], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#5}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#5}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]; _5] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#5}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#5}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 12]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 12]) -> Option<&mut T>

source§

impl<T, const _6: usize, const _7: usize, const _8: usize, const _9: usize, const _10: usize, const _11: usize, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#6}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#6}::{constant#1}> for [[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]

§

type Mapped<M> = [[[[[[[[[[[M; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>( fill: F ) -> [[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6]
where F: FnMut([usize; 11]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#6}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#6}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#6}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#6}::{constant#1}>>::Mapped<([usize; 11], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#6}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#6}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]; _6] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#6}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#6}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 11]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 11]) -> Option<&mut T>

source§

impl<T, const _7: usize, const _8: usize, const _9: usize, const _10: usize, const _11: usize, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#7}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#7}::{constant#1}> for [[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]

§

type Mapped<M> = [[[[[[[[[[M; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>( fill: F ) -> [[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7]
where F: FnMut([usize; 10]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#7}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#7}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#7}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#7}::{constant#1}>>::Mapped<([usize; 10], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#7}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#7}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]; _7] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#7}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#7}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 10]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 10]) -> Option<&mut T>

source§

impl<T, const _8: usize, const _9: usize, const _10: usize, const _11: usize, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#8}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#8}::{constant#1}> for [[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]

§

type Mapped<M> = [[[[[[[[[M; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>( fill: F ) -> [[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8]
where F: FnMut([usize; 9]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#8}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#8}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#8}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#8}::{constant#1}>>::Mapped<([usize; 9], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#8}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#8}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]; _8] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#8}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#8}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 9]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 9]) -> Option<&mut T>

source§

impl<T, const _9: usize, const _10: usize, const _11: usize, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#9}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#9}::{constant#1}> for [[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]

§

type Mapped<M> = [[[[[[[[M; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>( fill: F ) -> [[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9]
where F: FnMut([usize; 8]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#9}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#9}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#9}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#9}::{constant#1}>>::Mapped<([usize; 8], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#9}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#9}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]; _9] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#9}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#9}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 8]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 8]) -> Option<&mut T>

source§

impl<T, const _10: usize, const _11: usize, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#10}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#10}::{constant#1}> for [[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]

§

type Mapped<M> = [[[[[[[M; _16]; _15]; _14]; _13]; _12]; _11]; _10]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>(fill: F) -> [[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10]
where F: FnMut([usize; 7]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#10}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#10}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#10}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#10}::{constant#1}>>::Mapped<([usize; 7], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#10}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#10}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]; _10] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#10}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#10}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 7]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 7]) -> Option<&mut T>

source§

impl<T, const _11: usize, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#11}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#11}::{constant#1}> for [[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]

§

type Mapped<M> = [[[[[[M; _16]; _15]; _14]; _13]; _12]; _11]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>(fill: F) -> [[[[[[T; _16]; _15]; _14]; _13]; _12]; _11]
where F: FnMut([usize; 6]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#11}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#11}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#11}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#11}::{constant#1}>>::Mapped<([usize; 6], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#11}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#11}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[[T; _16]; _15]; _14]; _13]; _12]; _11] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#11}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#11}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 6]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 6]) -> Option<&mut T>

source§

impl<T, const _12: usize, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#12}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#12}::{constant#1}> for [[[[[T; _16]; _15]; _14]; _13]; _12]

§

type Mapped<M> = [[[[[M; _16]; _15]; _14]; _13]; _12]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>(fill: F) -> [[[[[T; _16]; _15]; _14]; _13]; _12]
where F: FnMut([usize; 5]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[[T; _16]; _15]; _14]; _13]; _12] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#12}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#12}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[[T; _16]; _15]; _14]; _13]; _12] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#12}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#12}::{constant#1}>>::Mapped<([usize; 5], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[[T; _16]; _15]; _14]; _13]; _12] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#12}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#12}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[[T; _16]; _15]; _14]; _13]; _12] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#12}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#12}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 5]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 5]) -> Option<&mut T>

source§

impl<T, const _13: usize, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#13}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#13}::{constant#1}> for [[[[T; _16]; _15]; _14]; _13]

§

type Mapped<M> = [[[[M; _16]; _15]; _14]; _13]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>(fill: F) -> [[[[T; _16]; _15]; _14]; _13]
where F: FnMut([usize; 4]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[[T; _16]; _15]; _14]; _13] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#13}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#13}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[[T; _16]; _15]; _14]; _13] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#13}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#13}::{constant#1}>>::Mapped<([usize; 4], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[[T; _16]; _15]; _14]; _13] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#13}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#13}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[[T; _16]; _15]; _14]; _13] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#13}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#13}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 4]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 4]) -> Option<&mut T>

source§

impl<T, const _14: usize, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#14}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#14}::{constant#1}> for [[[T; _16]; _15]; _14]

§

type Mapped<M> = [[[M; _16]; _15]; _14]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>(fill: F) -> [[[T; _16]; _15]; _14]
where F: FnMut([usize; 3]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[[T; _16]; _15]; _14] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#14}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#14}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[[T; _16]; _15]; _14] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#14}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#14}::{constant#1}>>::Mapped<([usize; 3], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[[T; _16]; _15]; _14] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#14}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#14}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[[T; _16]; _15]; _14] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#14}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#14}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 3]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 3]) -> Option<&mut T>

source§

impl<T, const _15: usize, const _16: usize> ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#15}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#15}::{constant#1}> for [[T; _16]; _15]

§

type Mapped<M> = [[M; _16]; _15]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>(fill: F) -> [[T; _16]; _15]
where F: FnMut([usize; 2]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[[T; _16]; _15] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#15}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#15}::{constant#1}>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[[T; _16]; _15] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#15}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#15}::{constant#1}>>::Mapped<([usize; 2], T)>

source§

fn flatten_nd_array(self) -> [T; { _ }]

source§

fn flatten_nd_array_ref(&self) -> &[T; { _ }]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; { _ }]

source§

fn each_ref_nd( &self ) -> <[[T; _16]; _15] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#15}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#15}::{constant#1}>>::Mapped<&T>

source§

fn each_mut_nd( &mut self ) -> <[[T; _16]; _15] as ArrayNdOps<array__ops::::array_nd_ops::impl::{impl#15}::{constant#0}, T, array__ops::::array_nd_ops::impl::{impl#15}::{constant#1}>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 2]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 2]) -> Option<&mut T>

source§

impl<T, const _16: usize> ArrayNdOps<1, T, _16> for [T; _16]

§

type Mapped<M> = [M; _16]

source§

fn as_ptr_nd(&self) -> *const T

source§

fn as_mut_ptr_nd(&mut self) -> *mut T

source§

fn fill_nd<F>(fill: F) -> [T; _16]
where F: FnMut([usize; 1]) -> T,

source§

fn map_nd<M>( self, map: M ) -> <[T; _16] as ArrayNdOps<1, T, _16>>::Mapped<<M as FnOnce(T)>::Output>
where M: FnMut(T),

source§

fn enumerate_nd( self ) -> <[T; _16] as ArrayNdOps<1, T, _16>>::Mapped<([usize; 1], T)>

source§

fn flatten_nd_array(self) -> [T; _16]

source§

fn flatten_nd_array_ref(&self) -> &[T; _16]

source§

fn flatten_nd_array_mut(&mut self) -> &mut [T; _16]

source§

fn each_ref_nd(&self) -> <[T; _16] as ArrayNdOps<1, T, _16>>::Mapped<&T>

source§

fn each_mut_nd(&mut self) -> <[T; _16] as ArrayNdOps<1, T, _16>>::Mapped<&mut T>

source§

fn reduce_nd<R>(self, reduce: R) -> Option<T>
where R: FnMut(T, T) -> T,

source§

fn get_nd(&self, i: [usize; 1]) -> Option<&T>

source§

fn get_nd_mut(&mut self, i: [usize; 1]) -> Option<&mut T>

Implementors§