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 r#impl::AtomicTaggedPtr;
15pub use r#impl::TAG_MASK;
16pub use r#impl::Tag;
17pub use ptr::Ptr;
18pub use ptr::TaggedPtr;
19
20mod r#impl;
21mod ptr;
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 {}