cds
implements handy data structures written for speed, small memory footprint and security.
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
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.
The documentation is at docs.rs/cds
SmallString
- a string with local capacity to avoid heap allocation
The changelog is maintained in CHANGELOG.md
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.
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.
small
secure
vector
string
array
smallvec
smallstr