Namensräume
Varianten
Aktionen

std::atomic_ref<T>::fetch_or

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

                     std::memory_order order =

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

Ersetzt atomar den aktuellen Wert des referenzierten Objekts durch das Ergebnis eines bitweisen OR der Wert und arg. Diese Operation ist eine Lese-Änderungs-Schreib-Operation. Der Speicher wird entsprechend dem Wert von order beeinflusst.

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

[bearbeiten] Parameter

arg - das andere Argument für bitweises OR
Reihenfolge - Speicherreihenfolgebeschränkungen, die durchgesetzt werden sollen

[bearbeiten] Rückgabewert

Der Wert des referenzierten Objekts, unmittelbar vor den Auswirkungen dieser Funktion.

[bearbeiten] Fehlerberichte

Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 3508
(P3323R1)
C++20 fetch_or war bedeutungslos für const T constrained to accept only non-const T