Crate small_fixed_array
source ·Expand description
A crate for FixedArray
and FixedString
, types to provide a smaller memory footprint in exchange for:
- Immutablity,
FixedArray
andFixedString
cannot be mutated without converting back to their expanded forms. - Maximum length,
FixedArray
andFixedString
have a length cap ofLenT::MAX
elements.
These types provide cheap conversions to Vec
and String
, to make up for most of these downsides, but it is
still not recommended to use these collections for mutated values as you will see a performance downside.
These can be thought of as Box<[T]>
and Box<str>
, except the length is denoted as LenT
, by default u32
.
Features
serde
: Provides [serde
] implementations forFixedArray
andFixedString
.typesize
: Provides [typesize
] implementations forFixedArray
andFixedString
.
From implementations
From<Vec<T>>
for
FixedArray
and From<String>
for
FixedString
are only implemented if one of
log_using_log
or log_using_tracing
are enabled, as the implementations will error
level log
if the Vec/String’s length is too high for the provided LenT
generic.
Structs
- A fixed size array with length provided at creation denoted in a
ValidLength
, by defaultu32
. - A fixed size String with length provided at creation denoted in
ValidLength
, by defaultu32
.
Traits
- A sealed trait to represent valid lengths for a
FixedArray
.