17 releases (10 breaking)
0.10.0 | Oct 6, 2022 |
---|---|
0.8.1 | Jul 22, 2022 |
0.6.0 | Mar 25, 2022 |
0.0.2 | Dec 15, 2021 |
0.0.1 | Nov 24, 2021 |
#1212 in Data structures
42 downloads per month
390KB
10K
SLoC
cds - Collection of Optimized Data Structures
cds
implements handy data structures written for speed, small memory footprint and security.
What's included?
SpareMemoryPolicy
- a customizable policy for handling spare memory in collections (allows wiping unused memory to delete potentially sensitive data)LengthType
- a customizable type to track collection length (allows creation of very compact collection types)ArrayVec
- an array with vector-like APIArrayString
- an array with string-like APIlformat!
- a macro to format a string on stack, without memory allocation (yields anArrayString
)aformat!
- a macro to format a string on stack, without memory allocation (yields aResult<ArrayString>
)SmallVec
- a growable array with optimization for small capacities
Crate Features
arrayvec
- enablesArrayVec
arraystring
- enablesArrayString
smallvec
- enablesSmallVec
, impliesalloc
.alloc
- enables usage of the standard alloc cratestd
- enables usage of the Rust standard library. Impliesalloc
, and enables implementation of standard traits which are not available incore
. Without this feature the crate isno_std
.
By default, all optional features are enabled. To build in no_std
environment, or to avoid
compilation of unneeded functionality, use default-features = false
and choose the required
features explicitly.
Documentation
The documentation is at docs.rs/cds
Roadmap
SmallString
- a string with local capacity to avoid heap allocation
Changelog
The changelog is maintained in CHANGELOG.md
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.
Tags
small
secure
vector
string
array
smallvec
smallstr