1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
#![deny(missing_docs, warnings, clippy::all, clippy::pedantic)]
//! Scalable concurrent containers.
//!
//! * [`LinkedList`](LinkedList).
//! * [`HashMap`](HashMap).
//! * [`HashIndex`](HashIndex).
//! * [`TreeIndex`](TreeIndex).
//!
//! # [Awaitable concurrent containers](awaitable)
//!
//! The concurrent container types in `awaitable` are meant for asynchronous code blocks as their
//! key operations are implemented in asynchronous methods where execution can be suspended on a
//! conflict over resources among threads.
//!
//! * [`HashMap`](awaitable::HashMap).
//! * [`TreeIndex`](awaitable::TreeIndex).
//!
//! # [`EBR`](ebr)
//!
//! The [`ebr`] module implements epoch-based reclamation for every container type in this crate.
mod linked_list;
pub use linked_list::LinkedList;
pub mod hash_map;
pub use hash_map::HashMap;
pub mod hash_index;
pub use hash_index::HashIndex;
pub mod hash_set;
pub use hash_set::HashSet;
pub mod tree_index;
pub use tree_index::TreeIndex;
pub mod awaitable;
pub mod ebr;
mod hash_table;
mod tests;