Namensräume
Varianten
Aktionen

std::atomic_ref<T>::fetch_min

Von cppreference.com
< cpp‎ | atomic‎ | atomic ref
 
 
Bibliothek für nebenläufige Programmierung
Threads
(C++11)
(C++20)
this_thread Namespace
(C++11)
(C++11)
(C++11)
Kooperatives Beenden
Gegenseitiger Ausschluss
(C++11)
Allgemeines Sperrungsmanagement
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Bedingungsvariablen
(C++11)
Semaphoren
Latches und Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
Sichere Wiederherstellung
(C++26)
Hazard Pointer
Atomare Typen
(C++11)
(C++20)
Initialisierung von atomaren Typen
(C++11)(veraltet in C++20)
(C++11)(veraltet in C++20)
Speicherordnung
(C++11)(deprecated in C++26)
Freie Funktionen für atomare Operationen
Freie Funktionen für atomare Flags
 
 
Nur bereitgestellt, wenn T ein ganzzahliger Typ außer cv bool oder ein Zeigertyp auf ein Objekt ist
value_type fetch_min( value_type arg,

                      std::memory_order order =

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

Ersetzt den aktuellen Wert des referenzierten Objekts atomar 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-Modifikations-Schreib-Operation. Der Speicher wird gemäß dem Wert von order beeinflusst.

Wenn T ein Zeigertyp ist und die Zeiger auf unterschiedliche vollständige Objekte (oder Teile davon) zeigen, etablieren Zeigervergleiche keine strikt schwache Ordnung.

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

Inhalt

[bearbeiten] Parameter

arg - das andere Argument von std::min
Reihenfolge - Speicherreihenfolgebeschränkungen, die durchgesetzt werden sollen

[bearbeiten] Rückgabewert

Der Wert, der den Effekten dieser Funktion in der Modifikationsreihenfolge von *this unmittelbar vorausgeht.

[bearbeiten] Anmerkungen

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

[bearbeiten] Beispiel