ppom 0.5.0

Left Leaning Red Black index in Rust-lang
Documentation

Documentation

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-type and value-type.
  • CRUD operations, via set(), get(), remove() api.
  • Full table scan, to iterate over all entries.
  • Range scan, to iterate between a low and high.
  • 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.sh with 0 warnings, 0 errors and all testcases passing.
    • Run cargo +nightly clippy --all-targets --all-features to fix clippy issues.
    • [Install][spellcheck] and run cargo spellcheck to remove common spelling mistakes.
  • [Developer certificate of origin][dco] is preferred.