Expand description
This library provides the Rose type, a data structure with stable pointers.
It is also concurrent and lock-free. The concurrency was a secondary goal of this project, but you can’t have a safe API that is useful without Atomics, and it is more useful regardless.
§Example
use rose_bloom::Rose;
let rose = Rose::new();
let out1 = rose.push(1);
rose.push(2);
rose.push(3);
println!("{out1}"); // 1Compare this to the same code with a Vec, which does not compile and should not compile:
ⓘ
let mut vect = Vec::new();
vect.push(1);
let out1 = &vect[0];
vect.push(2);
vect.push(3);
println!("{out1}");Modules§
- iter
- Iterator types.
Structs§
- Rose
- A lock-free growing element size linked list with stable pointers.