|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Defined in header <atomic> | ||
template<class T> T atomic_fetch_max(std::atomic<T>* obj, | (1) | (since C++26) |
template<class T> T atomic_fetch_max(volatilestd::atomic<T>* obj, | (2) | (since C++26) |
template<class T> T atomic_fetch_max_explicit(std::atomic<T>* obj, | (3) | (since C++26) |
template<class T> T atomic_fetch_max_explicit(volatilestd::atomic<T>* obj, | (4) | (since C++26) |
Atomically replaces the value pointed byobj with the result ofstd::max between the old value ofobj andarg. Returns the valueobj held previously. The operation is performed as if the following was executed:
Ifstd::atomic<T> has nofetch_max member (this member is only provided forintegral andpointer types exceptbool), the program is ill-formed.
Contents |
| obj | - | pointer to the atomic object to modify |
| arg | - | the value tostd::max with the value stored in the atomic object |
| order | - | the memory synchronization ordering |
The value immediately preceding the effects of this function in themodification order of*obj.
| Feature-test macro | Value | Std | Feature |
|---|---|---|---|
__cpp_lib_atomic_min_max | 202403L | (C++26) | Atomic minimum/maximum |
| This section is incomplete Reason: no example |
(C++26) | atomically performsstd::max between the argument and the value of the atomic object and obtains the value held previously (public member function of std::atomic<T>)[edit] |
(C++26)(C++26) | replaces the atomic object with the result ofstd::min with a non-atomic argument and obtains the previous value of the atomic (function template)[edit] |