12 unstable releases (3 breaking)
0.4.4 | Apr 2, 2024 |
---|---|
0.4.3 | Mar 10, 2024 |
0.4.0 | Feb 9, 2024 |
0.3.0 | Jan 31, 2024 |
0.1.3 | Jan 14, 2024 |
#1084 in Data structures
1,123 downloads per month
39KB
894 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
~185KB