std::experimental::simd_mask<T,Abi>::operator[]
Von cppreference.com
< cpp | experimental | simd | simd mask
| referenz operator[]( size_t i ); |
(1) | (Parallelismus TS v2) |
| bool operator[]( size_t i ) const; |
(2) | (Parallelismus TS v2) |
Die Subskriptionsoperatoren ermöglichen das Lesen und Schreiben einzelner Elemente einer simd_mask.
1) Gibt einen Referenz-Proxy für das i-te Element zurück. Dieser Proxy-Typ sollte nicht in einen L-Wert erfasst werden. L-Werte von
simd_mask::reference können nur zu value_type konvertiert werden. R-Werte von simd_mask::reference überladen Zuweisung und alle zusammengesetzten Zuweisungsoperatoren sowie swap.2) Gibt einen prvalue des i-ten Elements zurück. Im Gegensatz zu Containern, die Objekte vom Typ
value_type enthalten, ist eine simd_mask kein Container mit einzelnen Objekten und kann daher keine L-Wert-Referenz zurückgeben.[bearbeiten] Parameter
| i | - | der Elementindex. Muss kleiner als size() sein |
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#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'; }
Mögliche Ausgabe
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1