Revision control
Copy as Markdown
Other Tools
//! Provides items for atomic operations.
pub use core::sync::atomic::{compiler_fence, fence, Ordering};
cfg_if::cfg_if! {
if #[cfg(target_has_atomic = "ptr")] {
pub use core::sync::atomic::{AtomicIsize, AtomicPtr, AtomicUsize};
} else if #[cfg(feature = "portable-atomic")] {
pub use portable_atomic::{AtomicIsize, AtomicPtr, AtomicUsize};
}
}
cfg_if::cfg_if! {
if #[cfg(target_has_atomic = "64")] {
pub use core::sync::atomic::{AtomicI64, AtomicU64};
} else if #[cfg(feature = "portable-atomic")] {
pub use portable_atomic::{AtomicI64, AtomicU64};
}
}
cfg_if::cfg_if! {
if #[cfg(target_has_atomic = "32")] {
pub use core::sync::atomic::{AtomicI32, AtomicU32};
} else if #[cfg(feature = "portable-atomic")] {
pub use portable_atomic::{AtomicI32, AtomicU32};
}
}
cfg_if::cfg_if! {
if #[cfg(target_has_atomic = "16")] {
pub use core::sync::atomic::{AtomicI16, AtomicU16};
} else if #[cfg(feature = "portable-atomic")] {
pub use portable_atomic::{AtomicI16, AtomicU16};
}
}
cfg_if::cfg_if! {
if #[cfg(target_has_atomic = "8")] {
pub use core::sync::atomic::{AtomicBool, AtomicI8, AtomicU8};
} else if #[cfg(feature = "portable-atomic")] {
pub use portable_atomic::{AtomicBool, AtomicI8, AtomicU8};
}
}