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
Fourni uniquement lorsque T est un type entier autre que cv bool ou un type pointeur-vers-objet
value_type fetch_min ( value_type arg,

std:: memory_order order =

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

Remplace atomiquement la valeur actuelle de l'objet référencé par le résultat de std::min entre la valeur et arg . Autrement dit, elle effectue une opération de minimum atomique. L'opération est une opération de lecture-modification-écriture. La mémoire est affectée selon la valeur de order .

Si T est un type pointeur et que les pointeurs pointent vers des objets complets différents (ou leurs sous-objets), la comparaison de pointeurs n'établit pas un ordre strict faible .

Cette surcharge participe à la résolution de surcharge seulement si std:: is_const_v < T > est false .

Table des matières

Paramètres

arg - l'autre argument de std::min
order - contraintes d'ordre mémoire à appliquer

Valeur de retour

La valeur précédant immédiatement les effets de cette fonction dans l' ordre de modification de * this .

Notes

Macro de test de fonctionnalité Valeur Std Fonctionnalité
__cpp_lib_atomic_min_max 202403L (C++26) Minimum/Maximum atomique

Exemple