Crate generic_array
source ·Expand description
This crate implements a structure that can be used as a generic array type.use
Core Rust array types [T; N] can’t be used generically with respect to N, so for example this:
struct Foo<T, N> {
data: [T; N]
}won’t work.
generic-array exports a GenericArray<T,N> type, which lets the above be implemented as:
struct Foo<T, N: ArrayLength<T>> {
data: GenericArray<T,N>
}The ArrayLength<T> trait is implemented by default for unsigned integer types from typenum.
For ease of use, an arr! macro is provided - example below:
let array = arr![u32; 1, 2, 3];
assert_eq!(array[2], 3);Re-exports§
pub use iter::GenericArrayIter;
Modules§
Macros§
- Macro allowing for easy generation of Generic Arrays.
- Proper implementation of
arr!
Structs§
- Struct representing a generic array -
GenericArray<T, N>works like [T; N] - Internal type used to generate a struct of appropriate size
- Internal type used to generate a struct of appropriate size
Traits§
- Trait making
GenericArraywork, marking types to be used as length of an array