Namespaces
Variants

std::atomic_ref<T>:: fetch_xor

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
Proporcionado solo cuando T es un tipo integral distinto de cv bool
value_type fetch_xor ( value_type arg,

std:: memory_order order =

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

Reemplaza atómicamente el valor actual del objeto referenciado con el resultado de la operación XOR bit a bit del valor y arg . Esta operación es una operación de lectura-modificación-escritura. La memoria se ve afectada según el valor de order .

Esta sobrecarga participa en la resolución de sobrecarga solo si std:: is_const_v < T > es false .

Parámetros

arg - el otro argumento del XOR bit a bit
order - restricciones de orden de memoria a aplicar

Valor de retorno

El valor del objeto referenciado, inmediatamente antes de los efectos de esta función.

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 3508
( P3323R1 )
C++20 fetch_xor carecía de sentido para const T restringido para aceptar solo T no constante