std::simd::basic_vec, std::simd::simd - cppreference.com
De cppreference.com
| Definido en el archivo de encabezado |
||
|
|
(1) | (desde C++26) |
|
|
(2) | (desde C++26) |
1) La especialización std::simd::basic_vec es un tipo de datos paralelo. La etiqueta ABI por defecto se determina en tiempo de compilación por la implementación.
2) std::simd::vec es una plantilla de alias que permite a los usuarios especificar el ancho a un tamaño determinado. El ancho por defecto se determina en tiempo de compilación por la implementación.
Cada especialización de basic_vec es un tipo completo. La especialización es:
- habilitada, si
Tes un tipo vectorizable, y existe un valorMen el rango[1,64)tal queAbies deduce-abi-t<T, M>, - de lo contrario deshabilitada, si
Tno es un tipo vectorizable, - de lo contrario, está definido por la implementación si dicha especialización está habilitada.
Si basic_vec<T, Abi> está deshabilitado, la especialización tiene todos los constructores por defecto, destructores, constructores de copia y asignaciones de copia eliminados. Además, solo están presentes los tipos de miembros a continuación.
Si basic_vec<T, Abi> está habilitado, basic_vec<T, Abi> es TrivialmenteCopiable.
Parámetros de plantilla
| T | - | Tipo de elemento; un tipo vectorizable. |
| Abi | - | Tipo de etiqueta utilizado para determinar el ancho y el almacenamiento. |
| N | - | El ancho del tipo de datos paralelo; el número de elementos. |
Tipos miembro
| Tipo | Definición |
value_type
|
T
|
mask_type
|
simd::basic_mask<sizeof(T), Abi>
|
abi_type
|
Abi
|
Constante miembro
Funciones miembro
Plantilla:cpp/numeric/simd/basic vec/dsc constructorPlantilla:cpp/numeric/simd/basic vec/dsc operator atPlantilla:cpp/numeric/simd/basic vec/dsc operator mem arithPlantilla:cpp/numeric/simd/basic vec/dsc operator mem arith2
Funciones no miembro
Plantilla:cpp/numeric/simd/basic vec/dsc operator arithPlantilla:cpp/numeric/simd/basic vec/dsc operator compoundPlantilla:cpp/numeric/simd/basic vec/dsc operator cmp
Plantilla:cpp/numeric/simd/basic vec/dsc simd select
Guía de deducción
|
|
(desde C++26) | |
La guía de deducción está presente solo si:
Rmodelacontiguous_rangeysized_range, yranges::size(r)es una expresión constante.
El tipo deducido es equivalente a simd::vec<ranges::range_value_t<R>, ranges::size(r)>.
Notas
Se recomienda a las implementaciones admitir conversiones explícitas entre especializaciones habilitadas de basic_vec y tipos apropiados definidos por la implementación. Estos tipos apropiados son tipos vector no estándar que están disponibles en la implementación.
Ejemplo
Véase también
Tipo de paralelismo de datos con el tipo de elemento bool. (plantilla de clase) [editar] | |
Plantilla de alias de conveniencia para basic_mask que permite especificar su anchura. (plantilla de alias) [editar] | |
| arrays numéricos, máscaras de arrays y secciones de array. (plantilla de clase) [editar] |