atomic_fetch_or, atomic_fetch_or_explicit
|
Definido en el encabezado
<stdatomic.h>
|
||
|
C atomic_fetch_or
(
volatile
A
*
obj, M arg
)
;
|
(1) | (desde C11) |
|
C atomic_fetch_or_explicit
(
volatile
A
*
obj, M arg,
memory_order
order
)
;
|
(2) | (desde C11) |
Reemplaza atómicamente el valor apuntado por
obj
con el resultado de la operación OR a nivel de bits entre el valor antiguo de
obj
y
arg
, y devuelve el valor que
obj
contenía previamente. La operación es de tipo lectura-modificación-escritura. La primera versión ordena los accesos a memoria según
memory_order_seq_cst
, la segunda versión ordena los accesos a memoria según
order
.
Esta es una
función genérica
definida para todos los
tipos de objetos atómicos
A
. El argumento es un puntero a un tipo atómico volátil para aceptar direcciones de objetos atómicos tanto no volátiles como
volátiles
(por ejemplo, E/S mapeadas en memoria), y se preserva la semántica volátil cuando se aplica esta operación a objetos atómicos volátiles.
M
es o bien el tipo no atómico correspondiente a
A
si
A
es un tipo entero atómico, o
ptrdiff_t
si
A
es un tipo de puntero atómico.
No está especificado si el nombre de una función genérica es una macro o un identificador declarado con vinculación externa. Si se suprime una definición de macro para acceder a una función real (por ejemplo, entre paréntesis como ( atomic_fetch_or ) ( ... ) ), o un programa define un identificador externo con el nombre de una función genérica, el comportamiento no está definido.
Contenidos |
Parámetros
| obj | - | puntero al objeto atómico a modificar |
| arg | - | el valor para realizar OR bit a bit con el valor almacenado en el objeto atómico |
| order | - | el orden de sincronización de memoria para esta operación: se permiten todos los valores |
Valor de retorno
El valor mantenido previamente por el objeto atómico apuntado por
obj
.
Referencias
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.17.7.5 Las funciones genéricas atomic_fetch y modify (p: 208)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.17.7.5 Las funciones genéricas atomic_fetch y modify (p: 284-285)
Véase también
|
AND bitwise atómico
(función) |
|
|
OR exclusivo bitwise atómico
(función) |
|
|
Documentación de C++
para
atomic_fetch_or
,
atomic_fetch_or_explicit
|
|