Persistent Ordered Map
This package implements LLRB, Left Leaning Red Black, tree a popular data structured, with following features:
- Self-balancing data structure.
- Each entry in OMap instance correspond to a {Key, Value} pair.
- Parametrised over
key-typeandvalue-type. - CRUD operations, via set(), get(), remove() api.
- Full table scan, to iterate over all entries.
- Range scan, to iterate between a
lowandhigh. - Reverse iteration.
- Uses ownership model and borrow semantics to ensure safety.
- Optimized for in-memory index.
- Read optimized.
Refer to rustdoc for details.
Useful links
- Refer to this Wikipedia link for more information on LLRB algorithm.
- Discussion on the design choice over get() and range() API.
Contribution
- Simple workflow. Fork, modify and raise a pull request.
- Before making a PR,
- Run
check.shwith 0 warnings, 0 errors and all testcases passing. - Run
cargo +nightly clippy --all-targets --all-featuresto fix clippy issues. - [Install][spellcheck] and run
cargo spellcheckto remove common spelling mistakes.
- Run
- [Developer certificate of origin][dco] is preferred.