1 unstable release
0.2.0 | Aug 13, 2021 |
---|
#125 in No standard library
1,111,637 downloads per month
Used in 233 crates
(2 directly)
70KB
1K
SLoC
tagptr
Strongly typed marked pointers for storing bit patterns (tags) alongside raw pointers for concurrent programming with atomic operations.
Usage
Add the following to your Cargo.toml
[dependencies]
tagptr = "0.2.0"
Motivation
Most atomic CPU instructions only work with register-sized memory words (e.g., 32-bit or 64-bit). Many low-level concurrent algorithms thus need to store aditional data (tags) in the unused lower bits of pointers to referenced data objects. This crate provides thin and efficient abstractions for working with such pointers.
License
tagptr
is distributed under the terms of both the MIT license and the
Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.