std::experimental::simd_abi::fixed_size
| Definiert in Header <experimental/simd> |
||
| template< int N > struct fixed_size {}; |
(Parallelismus TS v2) | |
Der Tag-Typ simd_abi::fixed_size<N> stellt sicher, dass datenparallele Typen N Elemente speichern und manipulieren können (d.h. simd<T, simd_abi::fixed_size<N>>::size() gibt N zurück). Eine Implementierung muss mindestens alle N ∈ [1, 32] unterstützen. Zusätzlich muss für jede unterstützte simd<T, Abi>, wobei Abi ein implementierungsdefinierter ABI-Tag ist, N = simd<T, Abi>::size() unterstützt werden.
[bearbeiten] Anmerkungen
Eine Implementierung kann sich entscheiden, die ABI-Kompatibilität zwischen unterschiedlich kompilierten Übersetzungseinheiten für simd und simd_mask Instanziierungen mit demselben simd_abi::fixed_size<N> Tag aufzugeben. Andernfalls ist die Effizienz von simd<T, Abi> wahrscheinlich besser als simd<T, fixed_size<simd_size_v<T, Abi>>> (wobei Abi keine Instanz von simd_abi::fixed_size ist).
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Siehe auch
| (Parallelismus TS v2) |
die maximale Anzahl von Elementen, deren Unterstützung durch fixed garantiert ist (Konstante) |
| (Parallelismus TS v2) |
Tag-Typ für die Speicherung eines einzelnen Elements (typedef) |
| (Parallelismus TS v2) |
Tag-Typ, der ABI-Kompatibilität gewährleistet (Alias-Vorlage) |
| (Parallelismus TS v2) |
Tag-Typ, der am effizientesten ist (Alias-Vorlage) |
| (Parallelismus TS v2) |
ermittelt einen ABI-Typ für den gegebenen Elementtyp und die Anzahl der Elemente (Klassen-Vorlage) |