atomic_tagged_ptr/lib.rs
1//! `atomic_tagged_ptr`
2//!
3//! A high-performance, zero-overhead, platform-adaptive atomic tagged pointer implementation.
4//! Specially tailored for lock-free intrusive data structures (such as Treiber Stack)
5//! with ABA protection, supporting 32-bit and 64-bit platforms, as well as 52/57-bit high
6//! virtual address (such as Intel 5-level paging) without truncation or pointer corruption.
7
8#![no_std]
9#![doc = include_str!("../README.md")]
10
11#[cfg(feature = "std")]
12extern crate std;
13
14pub use ptr::AtomicTaggedPtr;
15pub use ptr::Ptr;
16pub use ptr::TAG_MASK;
17pub use ptr::TaggedPtr;
18pub use tag::Tag;
19
20mod ptr;
21mod tag;
22
23#[cfg(doctest)]
24#[doc = include_str!("../README.md")]
25mod readme_doctests {}
26
27#[cfg(doctest)]
28#[doc = include_str!("../README_CN.md")]
29mod readme_cn_doctests {}