Trait slice_of_array::SliceFlatExt
source · [−]pub trait SliceFlatExt<T> {
fn flat(&self) -> &[T]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
;
fn flat_mut(&mut self) -> &mut [T]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
;
}
Expand description
Permits viewing a slice of arrays as a flat slice.
Panics
Will panic if the new length exceeds usize::MAX
.
(in practice, this can only happen with zero-sized types)
Implementors
The methods are available on &[[T; n]]
and &mut [[T; n]]
for all T
and n
. Of course, they are also available on
Vec<[T; n]>
and any other type that derefs or unsizes to [[T; n]]
.
&[[T; 0]]
does support being flattened into an empty slice, however,
please do mind that the inverse operation SliceNestExt::nest
will panic
(as it cannot possibly recover the original length of the slice).
Notice
The existence of this trait is an implementation detail. Future versions may split it up, merge or rename it. Therefore, please do NOT use this trait as a generic bound in your code.
(Prefer [V] where V:
IsSliceomorphic
<Element=T>
instead)
Required methods
View &[[T; n]]
as &[T]
.