std:: atomic_fetch_min, std:: atomic_fetch_min_explicit
|
Definiert im Header
<atomic>
|
||
|
template
<
class
T
>
T atomic_fetch_min
(
std::
atomic
<
T
>
*
obj,
|
(1) | (seit C++26) |
|
template
<
class
T
>
T atomic_fetch_min
(
volatile
std::
atomic
<
T
>
*
obj,
|
(2) | (seit C++26) |
|
template
<
class
T
>
T atomic_fetch_min_explicit
(
std::
atomic
<
T
>
*
obj,
|
(3) | (seit C++26) |
|
template
<
class
T
>
T atomic_fetch_min_explicit
(
volatile
std::
atomic
<
T
>
*
obj,
|
(4) | (seit C++26) |
Ersetzt atomar den Wert, auf den obj zeigt, durch das Ergebnis von std::min zwischen dem alten Wert von obj und arg . Gibt den zuvor in obj gehaltenen Wert zurück. Die Operation wird so ausgeführt, als ob Folgendes ausgeführt würde:
Wenn
std::atomic<T>
kein
fetch_min
-Member besitzt (dieses Member wird nur für
integrale
und
Pointer
-Typen außer
bool
bereitgestellt), ist das Programm fehlerhaft.
Inhaltsverzeichnis |
Parameter
| obj | - | Zeiger auf das atomare Objekt, das modifiziert werden soll |
| arg | - | der Wert, der mit dem im atomaren Objekt gespeicherten Wert std::min gebildet werden soll |
| order | - | die Speichersynchronisierungsreihenfolge |
Rückgabewert
Der Wert unmittelbar vor den Auswirkungen dieser Funktion in der modification order von * obj .
Hinweise
| Feature-Test Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_atomic_min_max
|
202403L
|
(C++26) | Atomare Minimum-/Maximum-Operationen |
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
(C++26)
|
führt atomar
std::min
zwischen dem Argument und dem Wert des atomaren Objekts aus und erhält den zuvor gehaltenen Wert
(öffentliche Elementfunktion von
std::atomic<T>
)
|
|
(C++26)
(C++26)
|
ersetzt das atomare Objekt mit dem Ergebnis von
std::max
mit einem nicht-atomaren Argument und erhält den vorherigen Wert des atomaren Objekts
(Funktionstemplate) |