Namensräume
Varianten
Aktionen

std::atomic_ref<T>::fetch_max

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_max( value_type arg,

                      std::memory_order order =

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

Atomisch ersetzt den aktuellen Wert des referenzierten Objekts durch das Ergebnis von std::max des Wertes und arg. Das heißt, es führt eine atomare Maximum-Operation durch. Die Operation ist eine Lese-Änderungs-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 deren Unterobjekte) zeigen, etabliert der Zeigervergleich keine strikte schwache Ordnung.

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

Inhalt

[edit] Parameter

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

[edit] Rückgabewert

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

[edit] Anmerkungen

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

[edit] Beispiel