Expand description
The Cuicui Data Zoo
A collection of data structures used in cuicui_richtext.
Mostly used for dependency resolution and specialized graph traversal tasks.
Note that this library doesn’t work on 16 bits plateforms. If you need support, consider opening an issue.
Features
enumset: enables theenumsetdependency and theEnumBitMatrixEnumMultimapdata structures
Limitations
- Data structures are untested with sizes
> u32::MAX - Effort is made to panic in those situations though, but you never know
- Generally assumes
size_of(usize) >= size_of(u32), effort is made to useu32::try_from(usize).unwrap()though! - No
#[no_std]but I don’t see why this couldn’t be added as a feature - depends on
sorted-iter, can’t disable dependency.
Data structures
This is a collection of multimaps, jagged arrays, bit sets, and combination thereof.
See rustdoc documentation for details.
License
You may use datazoo under any of the following licenses:
- ZLib
- MIT
- Apache 2.0
Re-exports
pub use bitmatrix::BitMatrix;pub use bitmultimap::BitMultimap;pub use bitset::Bitset;pub use enum_bitmatrix::EnumBitMatrix;pub use enum_multimap::EnumMultimap;pub use index_multimap::IndexMultimap;pub use jagged_array::JaggedArray;pub use jagged_bitset::JaggedBitset;pub use jagged_vec::JaggedVec;pub use raw_index_map::RawIndexMap;
Modules
- A bitset with fixed-size rows.
- A read-only sparse associative array.
- A slice of
u32accessed on the bit level. - A bitset similar to
BitMatrix, indexed byEnumSetType. - A multimap optimized for
EnumSetTypekeys. - A multimap that goes from an integer to multiple integers.
- A variable length matrix optimized for read-only rows.
- An extensible (ie: can add more rows) jagged array.
- An associative arrays of small integers.
- Types marking slices as being sorted.
Traits
- extension trait for any iterator to add a assume_sorted_by_item method
- extension trait for any iterator of pairs to add a assume_sorted_by_key method
- A type that can be cast into an index.
- marker trait for iterators that are sorted by their Item
- marker trait for iterators that are sorted by the key of their Item
- set operations for iterators where the items are sorted according to the natural order
- relational operations for iterators of pairs where the items are sorted according to the key