Crates.io | nstack |
lib.rs | nstack |
version | 0.16.0 |
source | src |
created_at | 2020-05-26 16:23:41.778878 |
updated_at | 2022-10-19 12:44:01.555539 |
description | Arity 4 stack for the kelvin merkle toolkit |
homepage | |
repository | https://github.com/dusk-network/nstack |
max_upload_size | |
id | 246265 |
size | 44,866 |
nstack is a stack-like merkle datastructure for storing and accessing indexed values.
Operations supported are add and remove at the end of the structure, and mutable access to indexed leaves.
use nstack::annotation::Cardinality;
use nstack::NStack;
let mut nt = NStack::<i32, Cardinality>::new();
nt.push(0);
nt.push(1);
// mutable references to the last element
if let Some(mut branch) = nt.nth_mut(1) {
*branch = 2;
}
assert_eq!(nt.pop(), Some(2));
assert_eq!(nt.pop(), Some(0));