std::atomic_fetch_min, std::atomic_fetch_min_explicit

Header: <atomic>

Atomically replaces the value pointed by obj with the result of std::min 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_min( std::atomic<T>* obj,
typename std::atomic<T>::value_type arg ) noexcept;

(since C++26)

template< class T >
T atomic_fetch_min( volatile std::atomic<T>* obj,
typename std::atomic<T>::value_type arg ) noexcept;

(since C++26)

template< class T >
T atomic_fetch_min_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_min_explicit( volatile std::atomic<T>* obj,
typename std::atomic<T>::value_type arg,
std::memory_order order ) noexcept;

(since C++26)

# Parameters

# 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

# See also