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;
19pub use traits::IntoOptionNonNull;
20
21mod r#impl;
22mod ptr;
23mod traits;
24
25#[cfg(doctest)]
26#[doc = include_str!("../README.md")]
27mod readme_doctests {}
28
29#[cfg(doctest)]
30#[doc = include_str!("../README_CN.md")]
31mod readme_cn_doctests {}