tagptr

Crates.iotagptr
lib.rstagptr
version0.2.0
sourcesrc
created_at2021-08-13 09:10:42.049617
updated_at2021-08-13 09:10:42.049617
descriptionStrongly typed atomic and non-atomic tagged pointers
homepage
repositoryhttps://github.com/oliver-giersch/tagptr.git
max_upload_size
id435633
size71,394
(oliver-giersch)

documentation

https://docs.rs/tagptr

README

tagptr

Strongly typed marked pointers for storing bit patterns (tags) alongside raw pointers for concurrent programming with atomic operations.

Build Status Latest version Documentation License

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.

Commit count: 138

cargo fmt