14 releases
0.4.6 | Nov 11, 2024 |
---|---|
0.4.5 | Jul 8, 2024 |
0.4.4 | Apr 2, 2024 |
0.4.3 | Mar 10, 2024 |
0.1.3 | Jan 14, 2024 |
#419 in Data structures
1,562 downloads per month
40KB
926 lines
small-fixed-array
See module documentation or use cargo doc --open
.
lib.rs
:
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
nightly
: Speeds upFixedString::len
for small strings, usingportable_simd
.serde
: Providesserde
implementations forFixedArray
andFixedString
.typesize
: Providestypesize
implementations forFixedArray
andFixedString
.
MSRV
The Minimum Supported Rust Version of this crate is 1.70.
It is considered a breaking change to raise this.
Dependencies
~190KB