Espacios de nombres
Variantes
Acciones

Archivo de encabezado de la biblioteca estándar <stdatomic.h>

De cppreference.com
< cpp‎ | header
 
 
Archivos de encabezado de la biblioteca estándar
 

Este archivo de encabezado estaba originalmente en la biblioteca estándar de C.

Este archivo de encabezado es parte de la biblioteca de operaciones atómicas.

No está especificado si <stdatomic.h> proporciona algunas declaraciones en el espacio de nombres std.

Contenido

Macros

(C++23)
Macro de compatibilidad tal que _Atomic(T) es idéntico a std::atomic<T>
(macro de función)[editar]

Tipos

El tipo atómico booleano libre de bloqueo.
(clase)[editar]
Define las restricciones del ordenamiento de memoria para la operación atómica dada.
(typedef)[editar]
std::atomic<bool>
(typedef)[editar]
std::atomic<char>
(typedef)[editar]
std::atomic<signedchar>
(typedef)[editar]
std::atomic<unsignedchar>
(typedef)[editar]
std::atomic<short>
(typedef)[editar]
std::atomic<unsignedshort>
(typedef)[editar]
(C++11)
std::atomic<int>
(typedef)[editar]
std::atomic<unsignedint>
(typedef)[editar]
std::atomic<long>
(typedef)[editar]
std::atomic<unsignedlong>
(typedef)[editar]
std::atomic<longlong>
(typedef)[editar]
std::atomic<unsignedlonglong>
(typedef)[editar]
std::atomic<char8_t>
(typedef)[editar]
std::atomic<char16_t>
(typedef)[editar]
std::atomic<char32_t>
(typedef)[editar]
std::atomic<wchar_t>
(typedef)[editar]
(C++11)(opcional)
std::atomic<std::int8_t>
(typedef)[editar]
(C++11)(opcional)
std::atomic<std::uint8_t>
(typedef)[editar]
(C++11)(opcional)
std::atomic<std::int16_t>
(typedef)[editar]
(C++11)(opcional)
std::atomic<std::uint16_t>
(typedef)[editar]
(C++11)(opcional)
std::atomic<std::int32_t>
(typedef)[editar]
(C++11)(opcional)
std::atomic<std::uint32_t>
(typedef)[editar]
(C++11)(opcional)
std::atomic<std::int64_t>
(typedef)[editar]
(C++11)(opcional)
std::atomic<std::uint64_t>
(typedef)[editar]
std::atomic<std::int_least8_t>
(typedef)[editar]
std::atomic<std::uint_least8_t>
(typedef)[editar]
std::atomic<std::int_least16_t>
(typedef)[editar]
std::atomic<std::uint_least16_t>
(typedef)[editar]
std::atomic<std::int_least32_t>
(typedef)[editar]
std::atomic<std::uint_least32_t>
(typedef)[editar]
std::atomic<std::int_least64_t>
(typedef)[editar]
std::atomic<std::uint_least64_t>
(typedef)[editar]
std::atomic<std::int_fast8_t>
(typedef)[editar]
std::atomic<std::uint_fast8_t>
(typedef)[editar]
std::atomic<std::int_fast16_t>
(typedef)[editar]
std::atomic<std::uint_fast16_t>
(typedef)[editar]
std::atomic<std::int_fast32_t>
(typedef)[editar]
std::atomic<std::uint_fast32_t>
(typedef)[editar]
std::atomic<std::int_fast64_t>
(typedef)[editar]
std::atomic<std::uint_fast64_t>
(typedef)[editar]
(C++11)(opcional)
std::atomic<std::intptr_t>
(typedef)[editar]
(C++11)(opcional)
std::atomic<std::uintptr_t>
(typedef)[editar]
std::atomic<std::size_t>
(typedef)[editar]
std::atomic<std::ptrdiff_t>
(typedef)[editar]
std::atomic<std::intmax_t>
(typedef)[editar]
std::atomic<std::uintmax_t>
(typedef)[editar]

Funciones

Comprueba si las operaciones del tipo atómico son sin bloqueo.
(plantilla de función)[editar]
Sustituye atómicamente el valor del objeto atómico con el de un argumento no atómico.
(plantilla de función)[editar]
Obtiene atómicamente el valor almacenado en un objeto atómico.
(plantilla de función)[editar]
Reemplaza atómicamente el valor del objeto atómico con el del argumento no atómico y devuelve el valor anterior del objeto atómico.
(plantilla de función)[editar]
Compara atómicamente el valor del objeto atómico con el argumento no atómico y realiza un intercambio atómico si son iguales o una carga atómica si no lo son.
(plantilla de función)[editar]
Agrega un valor no atómico a un objeto atómico y obtiene el valor anterior del objeto atómico.
(plantilla de función)[editar]
Resta un valor no atómico de un objeto atómico y obtiene el valor anterior del objeto atómico.
(plantilla de función)[editar]
Reemplaza el objeto atómico con el resultado de la operación lógica AND con un argumento no atómico y obtiene el valor anterior del objeto atómico.
(plantilla de función)[editar]
Reemplaza el objeto atómico con el resultado de la operación lógica OR con un argumento no atómico y obtiene el valor anterior del objeto atómico.
(plantilla de función)[editar]
Reemplaza el objeto atómico con el resultado de la operación lógica XOR con un argumento no atómico y obtiene el valor anterior del objeto atómico.
(plantilla de función)[editar]
Establece atómicamente la bandera a true y devuelve su valor anterior.
(función)[editar]
Establece atómicamente el valor de la bandera a false.
(función)[editar]
Primitiva de sincronización de barrera genérica de memoria dependiente del orden.
(función)[editar]
Barrera entre un hilo y un controlador de señales ejecutados en el mismo hilo/subproceso.
(función)[editar]

[editar]Sinopsis

template<class T>using __std_atomic =std::atomic<T>;// solo exposición   #define _Atomic(T) __std_atomic<T>   #define ATOMIC_BOOL_LOCK_FREE /* véase descripción */#define ATOMIC_CHAR_LOCK_FREE /* véase descripción */#define ATOMIC_CHAR16_T_LOCK_FREE /* véase descripción */#define ATOMIC_CHAR32_T_LOCK_FREE /* véase descripción */#define ATOMIC_WCHAR_T_LOCK_FREE /* véase descripción */#define ATOMIC_SHORT_LOCK_FREE /* véase descripción */#define ATOMIC_INT_LOCK_FREE /* véase descripción */#define ATOMIC_LONG_LOCK_FREE /* véase descripción */#define ATOMIC_LLONG_LOCK_FREE /* véase descripción */#define ATOMIC_POINTER_LOCK_FREE /* véase descripción */   usingstd::memory_order;// véase descripciónusingstd::memory_order_relaxed;// véase descripciónusingstd::memory_order_consume;// véase descripciónusingstd::memory_order_acquire;// véase descripciónusingstd::memory_order_release;// véase descripciónusingstd::memory_order_acq_rel;// véase descripciónusingstd::memory_order_seq_cst;// véase descripción   usingstd::atomic_flag;// véase descripción   usingstd::atomic_bool;// véase descripciónusingstd::atomic_char;// véase descripciónusingstd::atomic_schar;// véase descripciónusingstd::atomic_uchar;// véase descripciónusingstd::atomic_short;// véase descripciónusingstd::atomic_ushort;// véase descripciónusingstd::atomic_int;// véase descripciónusingstd::atomic_uint;// véase descripciónusingstd::atomic_long;// véase descripciónusingstd::atomic_ulong;// véase descripciónusingstd::atomic_llong;// véase descripciónusingstd::atomic_ullong;// véase descripciónusingstd::atomic_char8_t;// véase descripciónusingstd::atomic_char16_t;// véase descripciónusingstd::atomic_char32_t;// véase descripciónusingstd::atomic_wchar_t;// véase descripciónusingstd::atomic_int8_t;// véase descripciónusingstd::atomic_uint8_t;// véase descripciónusingstd::atomic_int16_t;// véase descripciónusingstd::atomic_uint16_t;// véase descripciónusingstd::atomic_int32_t;// véase descripciónusingstd::atomic_uint32_t;// véase descripciónusingstd::atomic_int64_t;// véase descripciónusingstd::atomic_uint64_t;// véase descripciónusingstd::atomic_int_least8_t;// véase descripciónusingstd::atomic_uint_least8_t;// véase descripciónusingstd::atomic_int_least16_t;// véase descripciónusingstd::atomic_uint_least16_t;// véase descripciónusingstd::atomic_int_least32_t;// véase descripciónusingstd::atomic_uint_least32_t;// véase descripciónusingstd::atomic_int_least64_t;// véase descripciónusingstd::atomic_uint_least64_t;// véase descripciónusingstd::atomic_int_fast8_t;// véase descripciónusingstd::atomic_uint_fast8_t;// véase descripciónusingstd::atomic_int_fast16_t;// véase descripciónusingstd::atomic_uint_fast16_t;// véase descripciónusingstd::atomic_int_fast32_t;// véase descripciónusingstd::atomic_uint_fast32_t;// véase descripciónusingstd::atomic_int_fast64_t;// véase descripciónusingstd::atomic_uint_fast64_t;// véase descripciónusingstd::atomic_intptr_t;// véase descripciónusingstd::atomic_uintptr_t;// véase descripciónusingstd::atomic_size_t;// véase descripciónusingstd::atomic_ptrdiff_t;// véase descripciónusingstd::atomic_intmax_t;// véase descripciónusingstd::atomic_uintmax_t;// véase descripción   usingstd::atomic_is_lock_free;// véase descripciónusingstd::atomic_load;// véase descripciónusingstd::atomic_load_explicit;// véase descripciónusingstd::atomic_store;// véase descripciónusingstd::atomic_store_explicit;// véase descripciónusingstd::atomic_exchange;// véase descripciónusingstd::atomic_exchange_explicit;// véase descripciónusingstd::atomic_compare_exchange_strong;// véase descripciónusingstd::atomic_compare_exchange_strong_explicit;// véase descripciónusingstd::atomic_compare_exchange_weak;// véase descripciónusingstd::atomic_compare_exchange_weak_explicit;// véase descripciónusingstd::atomic_fetch_add;// véase descripciónusingstd::atomic_fetch_add_explicit;// véase descripciónusingstd::atomic_fetch_sub;// véase descripciónusingstd::atomic_fetch_sub_explicit;// véase descripciónusingstd::atomic_fetch_or;// véase descripciónusingstd::atomic_fetch_or_explicit;// véase descripciónusingstd::atomic_fetch_and;// véase descripciónusingstd::atomic_fetch_and_explicit;// véase descripciónusingstd::atomic_flag_test_and_set;// véase descripciónusingstd::atomic_flag_test_and_set_explicit;// véase descripciónusingstd::atomic_flag_clear;// véase descripciónusingstd::atomic_flag_clear_explicit;// véase descripción   usingstd::atomic_thread_fence;// véase descripciónusingstd::atomic_signal_fence;// véase descripción
close