rose_bloom

Crates.iorose_bloom
lib.rsrose_bloom
version0.1.5
sourcesrc
created_at2022-08-24 07:40:11.882517
updated_at2024-04-15 05:06:35.834514
descriptionA concurrent growing element size linked list with stable pointers.
homepage
repositoryhttps://github.com/frogtd/rose_bloom
max_upload_size
id651537
size49,105
(frogtd)

documentation

README

rose_bloom

rose_bloom is a crate for passing out references that won't move when you push to it. It is also thread-safe, so you can use it as a concurrent queue if you don't care about freeing memory as you go along. It is lock-free.

Many operations are O(lg n). This will still be extremely fast.

Example

use rose_bloom::Rose;

let rose = Rose::new();
let out1 = rose.push(1);
rose.push(2);
rose.push(3);
println!("{out1}"); // 1

Installation

Add this to your Cargo.toml:

[dependencies]
rose_bloom = "0.1"

#![no_std]

This crate is #![no_std] but does require alloc.

Licenses

Commit count: 11

cargo fmt