cds - Collection of Data Structures
cds implements handy data structures written for speed and ergonomic API.
What's included?
SpareMemoryPolicy- a custom policy for handling spare memory in collectionsLengthType- a customizable type to track fixed-capacity collection length (allows creation of very compact collection types)ArrayVec- an array with vector-like API
Crate Features
Every data structure has a corresponding crate feature written in all lowercase.
For example, arrayvec enables ArrayVec. None of the data structures is enabled by default.
Additionally, the following crate features are available:
-
std- enables usage of the Rust standard library.Currently this feature only enables implementation of traits from
stdwhich are not available incore.Without this feature the crate is
no_std.
Documentation
The documentation is at docs.rs/cds
Roadmap
ArrayString- an array with string-like APISmallVec- a vector with inline capacity to avoid heap allocationSmallString- a string with inline 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.