atomic_compare_exchange_strong#
Header File: Kokkos_Core.hpp
Usage:
was_exchanged = atomic_compare_exchange_strong(ptr_to_value,comparison_value, new_value);
Atomically sets the value at the address given by ptr_to_value to new_value if the current value at ptr_to_value
is equal to comparison_value, and returns true if the exchange has happened.
Synopsis#
template<class T>
bool atomic_compare_exchange_strong(T* const ptr_to_value, const T comparison_value, const T new_value);
Description#
template<class T> bool atomic_compare_exchange_strong(T* const ptr_to_value, const T comparison_value, const T new_value);
Atomically executes
old_value = *ptr_to_value; if(old_value==comparison_value) *ptr_to_value = new_value; return old_value==comparison_value;.ptr_to_value: address of the to be updated value.comparison_value: value to be comapred to.new_value: new value.old_value: value at addressptr_to_valuebefore doing the exchange.