std::atomic_ref<T>::fetch_min
From cppreference.com
                    
                                        
                    < cpp | atomic | atomic ref
                    
                                                            
                    |   member only of  atomic_ref<Integral > specializations | 
||
|   T fetch_min( T arg, std::memory_order order = std::memory_order_seq_cst ) const noexcept;  | 
(1) | (since C++26) | 
|   member only of  atomic_ref<T*> partial specialization | 
||
|   T* fetch_min( T* arg, std::memory_order order = std::memory_order_seq_cst ) const noexcept;  | 
(2) | (since C++26) | 
Atomically replaces the current value of the referenced object with the result of std::min of the value and arg. That is, it performs atomic minimum operation. The operation is a read-modify-write operation. Memory is affected according to the value of order.
2) If the pointers point to different complete objects (or subobjects thereof), pointer comparison does not establish a strict weak ordering.
Parameters
| arg | - | the other argument of std::min | 
| order | - | memory order constraints to enforce | 
Return value
The value immediately preceding the effects of this function in the modification order of *this.
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  |