Crate rose_bloom

Crate rose_bloom 

Source
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}"); // 1

Compare 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.