Namespaces
Variants

std::atomic_ref<T>:: fetch_min

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
Nur bereitgestellt, wenn T ein integraler Typ außer cv bool oder ein Zeiger-auf-Objekt-Typ ist
value_type fetch_min ( value_type arg,

std:: memory_order order =

std:: memory_order_seq_cst ) const noexcept ;
(seit C++26)

Ersetzt atomar den aktuellen Wert des referenzierten Objekts durch das Ergebnis von std::min des Werts und arg . Das heißt, es führt eine atomare Minimum-Operation durch. Die Operation ist eine Lese-Modifizier-Schreib-Operation. Der Speicher wird gemäß dem Wert von order beeinflusst.

Wenn T ein Zeigertyp ist und die Zeiger auf verschiedene vollständige Objekte (oder deren Unterobjekte) zeigen, Zeigervergleich stellt keine strikte schwache Ordnung her.

Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn std:: is_const_v < T > false ist.

Inhaltsverzeichnis

Parameter

arg - das andere Argument von std::min
order - Speicherreihenfolge-Beschränkungen zur Durchsetzung

Rückgabewert

Der Wert unmittelbar vor den Auswirkungen dieser Funktion in der modification order von * this .

Hinweise

Feature-Test Makro Wert Std Funktion
__cpp_lib_atomic_min_max 202403L (C++26) Atomare Minimum-/Maximum-Operationen

Beispiel