Extensions for concurrency
From cppreference.net
<
cpp
|
experimental
Las Extensiones de C++ para Concurrencia, ISO/IEC TS 19571:2016, definen los siguientes componentes nuevos para la biblioteca estándar de C++:
Contenidos |
Continuaciones y otras extensiones para std::future
|
Definido en el encabezado
<experimental/future>
|
|
|
(concurrency TS)
|
una versión de
std::future
mejorada con continuaciones y otras características
(plantilla de clase) |
|
(concurrency TS)
|
una versión de
std::shared_future
mejorada con continuaciones y otras características
(plantilla de clase) |
|
(concurrency TS)
|
una versión modificada de
std::promise
que utiliza
std::experimental::future
(plantilla de clase) |
|
(concurrency TS)
|
una versión modificada de
std::packaged_task
que utiliza
std::experimental::future
(plantilla de clase) |
|
(concurrency TS)
|
produce un future que se vuelve listo cuando todos los futures o
shared_futures
dados están listos
(plantilla de función) |
|
(concurrency TS)
|
produce un future que se vuelve listo cuando al menos uno de los futures o shared_futures dados está listo
(plantilla de función) |
|
(concurrency TS)
|
produce un future que está listo inmediatamente y contiene el valor dado
(plantilla de función) |
|
(concurrency TS)
|
produce un future que está listo inmediatamente y contiene la excepción dada
(plantilla de función) |
Macros de prueba de características
|
Definido en el encabezado
<experimental/future>
|
|
|
__cpp_lib_experimental_future_continuations
|
un valor de al menos
201505
indica que future::then y otras extensiones están soportadas
(constante de macro) |
|
Definido en el encabezado
<experimental/latch>
|
|
|
__cpp_lib_experimental_latch
|
un valor de al menos
201505
indica que el tipo latch está soportado
(constante de macro) |
|
Definido en el encabezado
<experimental/barrier>
|
|
|
__cpp_lib_experimental_barrier
|
un valor de al menos
201505
indica que el tipo barrier está soportado
(constante de macro) |
|
Definido en el encabezado
<experimental/atomic>
|
|
|
__cpp_lib_experimental_atomic_smart_pointers
|
un valor de al menos
201505
indica que los punteros inteligentes atómicos están soportados
(constante de macro) |
Incorporado en C++20
Los siguientes componentes del Concurrency TS han sido adoptados en el estándar C++20.
Latches y barreras
|
Definido en el encabezado
<experimental/latch>
|
|
|
(concurrency TS)
|
barrera de hilos de un solo uso
(clase) |
|
Definido en el encabezado
<experimental/barrier>
|
|
|
(concurrency TS)
|
barrera de hilos reutilizable
(clase) |
|
(concurrency TS)
|
barrera de hilos reutilizable con comportamiento personalizable al completarse
(clase) |
Punteros inteligentes atómicos
Estas plantillas de clase reemplazan las sobrecargas de funciones atómicas de shared_ptr
|
Definido en el encabezado
<experimental/atomic>
|
|
|
(concurrency TS)
|
versión atómica de std::shared_ptr
(plantilla de clase) |
|
(concurrency TS)
|
versión atómica de std::weak_ptr
(plantilla de clase) |