urcu/
lib.rs

1#![feature(ptr_as_ref_unchecked)]
2#![doc = include_str!("../README.md")]
3
4mod utility;
5
6pub mod collections;
7pub mod rcu;
8
9pub use crate::collections::boxed::container::RcuBox;
10pub use crate::collections::hashmap::container::RcuHashMap;
11pub use crate::collections::list::container::RcuList;
12pub use crate::collections::queue::container::RcuQueue;
13pub use crate::collections::stack::container::RcuStack;
14pub use crate::rcu::cleanup::{RcuCleanup, RcuCleanupMut};
15pub use crate::rcu::context::{RcuContext, RcuDeferContext, RcuReadContext};
16pub use crate::rcu::flavor::RcuFlavor;
17pub use crate::rcu::guard::RcuGuard;
18pub use crate::rcu::poller::RcuPoller;
19pub use crate::rcu::reference::RcuRef;
20
21/// Common traits and types.
22pub mod prelude {
23    pub use crate::{RcuFlavor, RcuGuard, RcuPoller, RcuRef};
24
25    pub use crate::{RcuContext, RcuDeferContext, RcuReadContext};
26
27    pub use crate::{RcuBox, RcuHashMap, RcuList, RcuQueue, RcuStack};
28
29    pub use crate::rcu::default::{
30        RcuDefaultContext,
31        RcuDefaultFlavor,
32        RcuDefaultGuard,
33        RcuDefaultPoller,
34    };
35}