Trait atools::Flatten

source ·
pub trait Flatten<T, const N: usize, const N2: usize> {
    // Required method
    fn flatten(self) -> [T; { _ }];
}
Expand description

Flatten arrays.

Required Methods§

source

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

Takes a [[T; N]; N2], and flattens it to a [T; N * N2].

§Examples
assert_eq!([[1, 2, 3], [4, 5, 6]].flatten(), [1, 2, 3, 4, 5, 6]);

assert_eq!(
    [[1, 2, 3], [4, 5, 6]].flatten(),
    [[1, 2], [3, 4], [5, 6]].flatten(),
);

let array_of_empty_arrays: [[i32; 0]; 5] = [[], [], [], [], []];
assert!(array_of_empty_arrays.flatten().is_empty());

let empty_array_of_arrays: [[u32; 10]; 0] = [];
assert!(empty_array_of_arrays.flatten().is_empty());

Implementations on Foreign Types§

source§

impl<T, const N: usize, const N2: usize> Flatten<T, N, N2> for [[T; N]; N2]

source§

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

Implementors§