Expand description
An ArraySection is an array where only a (contiguous) subsection of its data may be viewed.
This can be useful in const functions that wish to return an array of size N,
but with some elements potentially unused.
The crate is no_std compatible.
/// Returns an array of the square numbers smaller than both x and N.
const fn squares_smaller_than<const N: usize>(x: usize) -> ArraySection<usize, N> {
let mut i = 0;
let mut ans = [0; N];
while i * i < N && i * i < x {
ans[i] = i * i;
i += 1;
}
ArraySection::new(ans, 0..i)
}
assert_eq!(squares_smaller_than::<10>(16), [0, 1, 4, 9]);§Feature flags
std: lets the error type provide a Backtrace.
When this feature is disabled the crate is no_std compatible.
Enables the alloc feature.
alloc: enables conversion of the section into Vecs and Boxed slices.
Structs§
- Array
Section - An array where only a section of the data may be viewed, as the other data may e.g. not uphold some invariant.
- Array
Section Into Iter - Created by the
into_iterfunction onArraySection, see it for more information. - Array
Section Iter - Created by the
iterfunction onArraySection, see it for more information. - Array
Section Iter Mut - Mutable borrowing iterator created by the
ArraySection::iter_mut()function, see it for more information. - TryFrom
Array Section Error - Returned when a
TryFromconversion of anArraySectioninto an array fails.