std::atomic_fetch_max, std::atomic_fetch_max_explicit
Min standard notice:
Header: <atomic>
Atomically replaces the value pointed by obj with the result of std::max between the old value of obj and arg. Returns the value obj held previously. The operation is performed as if the following was executed:
# Declarations
template< class T >
T atomic_fetch_max( std::atomic<T>* obj,
typename std::atomic<T>::value_type arg ) noexcept;
(since C++26)
template< class T >
T atomic_fetch_max( volatile std::atomic<T>* obj,
typename std::atomic<T>::value_type arg ) noexcept;
(since C++26)
template< class T >
T atomic_fetch_max_explicit( std::atomic<T>* obj,
typename std::atomic<T>::value_type arg,
std::memory_order order ) noexcept;
(since C++26)
template< class T >
T atomic_fetch_max_explicit( volatile std::atomic<T>* obj,
typename std::atomic<T>::value_type arg,
std::memory_order order ) noexcept;
(since C++26)
# Parameters
obj: pointer to the atomic object to modifyarg: the value to std::max with the value stored in the atomic objectorder: the memory synchronization ordering
# Return value
The value immediately preceding the effects of this function in the modification order of *obj.
# Notes
Feature-test macro Value Std Feature __cpp_lib_atomic_min_max 202403L (C++26) Atomic minimum/maximum
# Example
This section is incompleteReason: no example