std::experimental::simd_mask<T,Abi>:: operator[]
From es.cppreference.net
<
cpp
|
experimental
|
simd
|
simd mask
|
reference operator
[
]
(
size_t i
)
;
|
(1) | (parallelism TS v2) |
|
bool
operator
[
]
(
size_t i
)
const
;
|
(2) | (parallelism TS v2) |
Los operadores de subíndice permiten leer y escribir elementos individuales de un
simd_mask
.
1)
Devuelve un proxy de referencia al i-ésimo elemento. Este tipo de proxy no debe capturarse en un lvalue. Los lvalues de
simd_mask::reference
solo pueden convertirse a
value_type
. Los rvalues de
simd_mask::reference
sobrecargan la asignación y todos los operadores de asignación compuesta, así como
swap
.
2)
Devuelve un prvalue del i-ésimo elemento. A diferencia de los contenedores, que contienen objetos de tipo
value_type
, un
simd_mask
no es un contenedor de objetos individuales y por lo tanto no puede devolver una referencia lvalue.
Parámetros
| i | - |
el índice del elemento. Se requiere que sea menor que
size()
|
Ejemplo
Ejecutar este código
#include <cstddef> #include <experimental/simd> #include <iostream> namespace stdx = std::experimental; int main() { stdx::native_simd_mask<int> a{true}; a[1] = 0; for (std::size_t i = 0; i != a.size(); ++i) std::cout << a[i] << ' '; std::cout << '\n'; }
Salida posible:
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1