Cursed data structures
Documentation hosted on docs.rs.
Until otherwise noted, this library is experimental. Unsound issues should be assumed until fixed and verified
[dependencies]
arae = "0.2.0"
use arae::{CurVec, CursedExt, Bounded};
// Create a new `CurVec` of length 10 with the elements
// initialized via `Default::default`.
let mut vec = CurVec::new_with_default(10);
// Create two cursors pointing the the head of the vec.
let write_cursor = vec.hptr();
let read_cursor = vec.hptr();
*vec.get_mut(write_cursor) = 1;
assert_eq!(*vec.get(read_cursor), 1);