table of contents
std::atomic_fetch_max,std::atomic_fetch_max_explicit(3) | C++ Standard Libary | std::atomic_fetch_max,std::atomic_fetch_max_explicit(3) |
NAME¶
std::atomic_fetch_max,std::atomic_fetch_max_explicit - std::atomic_fetch_max,std::atomic_fetch_max_explicit
Synopsis¶
Defined in header <atomic>
template< class T >
T atomic_fetch_max( std::atomic<T>* obj, (1) (since C++26)
typename std::atomic<T>::value_type arg )
noexcept;
template< class T >
T atomic_fetch_max( volatile std::atomic<T>* obj, (2) (since
C++26)
typename std::atomic<T>::value_type arg )
noexcept;
template< class T >
T atomic_fetch_max_explicit( std::atomic<T>* obj,
typename std::atomic<T>::value_type (3) (since C++26)
arg,
std::memory_order order ) noexcept;
template< class T >
T atomic_fetch_max_explicit( volatile std::atomic<T>* obj,
typename std::atomic<T>::value_type (4) (since C++26)
arg,
std::memory_order order ) noexcept;
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:
1,2) obj->fetch_max(arg)
3,4) obj->fetch_max(arg, order)
If std::atomic<T> has no fetch_max member (this member is only provided
for integral
and pointer types except bool), the program is ill-formed.
Parameters¶
obj - pointer to the atomic object to modify
arg - the value to std::max with the value stored in the atomic object
order - 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 incomplete
Reason: no example
See also¶
atomically performs std::max between the argument and the
fetch_max value of the atomic object and obtains the value held
(C++26) previously
(public member function of std::atomic<T>)
atomic_fetch_min replaces the atomic object with the result of std::min
atomic_fetch_min_explicit with a non-atomic argument and obtains the previous
value
(C++26) of the atomic
(C++26) (function template)
Category:¶
* Todo no example
2024.06.10 | http://cppreference.com |