tree-index

Crates.iotree-index
lib.rstree-index
version0.6.1
sourcesrc
created_at2018-04-09 14:14:33.693432
updated_at2020-07-09 21:27:15.632717
descriptionIndex a flat-tree
homepage
repositoryhttps://github.com/datrs/tree-index
max_upload_size
id59725
size49,264
Maintainers (github:datrs:maintainers)

documentation

https://docs.rs/tree-index

README

tree-index

crates.io version build status downloads docs.rs docs

Stateful tree index. Or well, stateful flat-tree. It's what happens when you combine a flat-tree with a sparse-bitfield - which ends up being pretty cool!

Adapted from mafintosh/hypercore/lib/tree-index.js.

Usage

extern crate sparse_bitfield as bitfield;
extern crate tree_index;

use tree_index::TreeIndex;
use self::bitfield::{Bitfield, Change};

let bitfield = Bitfield::new(1024);
let mut tree = TreeIndex::new(bitfield);
assert_eq!(tree.set(0), Change::Changed);
assert_eq!(tree.set(0), Change::Unchanged);
assert_eq!(tree.get(0), true);
assert_eq!(tree.get(1), false);

Installation

$ cargo add tree-index

License

MIT OR Apache-2.0

Commit count: 62

cargo fmt