[go: up one dir, main page]

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
43
44
45
46
47
48
49
50
51
52
#![deny(missing_docs, warnings, clippy::all, clippy::pedantic)]

//! Concurrent and asynchronous containers.
//!
//! * [`HashMap`]: concurrent and asynchronous hash map.
//! * [`HashSet`]: concurrent and asynchronous hash set.
//! * [`HashIndex`]: read-optimized concurrent and asynchronous hash map.
//! * [`TreeIndex`]: read-optimized concurrent and asynchronous B+ tree.
//!
//! Utilities for concurrent programming.
//!
//! * [`ebr`]: epoch-based reclamation.
//! * [`LinkedList`]: lock-free concurrent linked list type trait.
//! * [`Bag`]: lock-free concurrent unordered instance container.
//! * [`Queue`]: lock-free concurrent first-in-first-out container.
//! * [`Stack`]: lock-free concurrent last-in-first-out container.

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;

mod linked_list;
pub use linked_list::LinkedList;

mod bag;
pub use bag::Bag;

mod queue;
pub use queue::Queue;

mod stack;
pub use stack::Stack;

pub mod tree_index;
pub use tree_index::TreeIndex;

pub mod ebr;

mod exit_guard;
mod hash_table;
mod wait_queue;

#[cfg(feature = "serde")]
mod serde;

#[cfg(test)]
mod tests;