Crate hybrid_array
source ·Expand description
RustCrypto: Hybrid Const Generic / Typenum Arrays
Hybrid array type combining const generics with the expressiveness of
typenum
-based constraints, providing an alternative to generic-array
and a incremental transition path to const generics.
About
This crate uses typenum
to enable the following features which aren’t yet
possible with the stable implementation of const generics:
- #60551: Associated constants in traits can not be used in const generics
- #76560: Complex generic constants:
feature(generic_const_exprs)
Internally the crate is built on const generics and provides traits which make
it possible to convert between const generic types and typenum
types.
Features
This crate exposes the following feature flags. The default is NO features.
zeroize
- ImplementsZeroize
forArray<T: Zeroize, U>
License
Licensed under either of:
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Re-exports
pub use typenum;
Modules
- Type aliases for many constants.
Structs
- Hybrid typenum-based and const generic array type.
Traits
- Extension trait with helper functions for core arrays.
- Array operations which are const generic over a given array size.
- Convert the given type into an
Array
.
Functions
- Splits the shared slice into a slice of
N
-element arrays, starting at the beginning of the slice, and a remainder slice with length strictly less thanN
. - Splits the exclusive slice into a slice of
N
-element arrays, starting at the beginning of the slice, and a remainder slice with length strictly less thanN
.