Trait crossbeam_epoch::CompareAndSetOrdering
[−]
[src]
pub trait CompareAndSetOrdering { fn success(&self) -> Ordering; fn failure(&self) -> Ordering; }
Memory orderings for compare-and-set operations.
A compare-and-set operation can have different memory orderings depending on whether it succeeds or fails. This trait generalizes different ways of specifying memory orderings.
The two ways of specifying orderings for compare-and-set are:
- Just one
Ordering
for the success case. In case of failure, the strongest appropriate ordering is chosen. - A pair of
Ordering
s. The first one is for the success case, while the second one is for the failure case.
Required Methods
fn success(&self) -> Ordering
The ordering of the operation when it succeeds.
fn failure(&self) -> Ordering
The ordering of the operation when it fails.
The failure ordering can't be Release
or AcqRel
and must be equivalent or weaker than
the success ordering.