Expand description
radium
provides a series of helpers for a uniform API over both atomic
types like AtomicUsize
, and non-atomic types like Cell<T>
.
This crate is #![no_std]
-compatible, and uses no non-core types.
For details, see the documentation for Radium
.
The types
module provides type names that are atomic where the target
supports it, and fall back to Cell
when the target does not.
The if_atomic!
macro provides a means of conditional compilation based on
the presence of atomic instructions. It is a substitute for the
cfg(target_has_atomic)
or cfg(accessible)
attribute tests, which are not
yet stabilized.
@kneecaw - https://twitter.com/kneecaw/status/1132695060812849154
Feelin’ lazy: Has someone already written a helper trait abstracting operations over
AtomicUsize
andCell<usize>
for generic code which may not care about atomicity?
@ManishEarth - https://twitter.com/ManishEarth/status/1132706585300496384
no but call the crate radium
(since people didn’t care that it was radioactive and used it in everything)
Modules
- Marker traits used by
Radium
. - Best-effort atomic types
Macros
- Conditional compilation based on the presence of atomic instructions.
Traits
- A maybe-atomic shared mutable fundamental type
T
.