Namensräume
Varianten
Aktionen

std::experimental::simd_size

Von cppreference.com
< cpp‎ | experimental‎ | simd
 
 
 
 
 
Definiert in Header <experimental/simd>
template< class T, class Abi = simd_abi::compatible<T> >
struct simd_size;
(Parallelismus TS v2)

Wenn T ein vektorisierbarer Typ ist und is_abi_tag_v<Abi> true ist, stellt es den Member-Konstanten value bereit, der gleich der Breite (Anzahl der Elemente) von simd<T, Abi> ist, unabhängig davon, ob simd<T, Abi> unterstützt wird oder nicht. Für alle anderen Typen T und Abi gibt es keinen Member value.

Wenn das Programm Spezialisierungen für std::simd_size oder std::simd_size_v(seit C++17) hinzufügt, ist das Verhalten undefiniert.

Inhalt

[bearbeiten] Hilfsvariablenschablone

template< class T, class Abi = simd_abi::compatible<T> >
constexpr std::size_t simd_size_v = simd_size<T, Abi>::value;
(Parallelismus TS v2)

Abgeleitet von std::integral_constant

Member-Konstanten

value
[static]
die Breite von simd<T, Abi>
(öffentliche statische Member-Konstante)

Memberfunktionen

operator std::size_t
konvertiert das Objekt in std::size_t, gibt value zurück
(öffentliche Memberfunktion)
operator()
(C++14)
gibt value zurück
(öffentliche Memberfunktion)

Membertypen

Typ Definition
value_type std::size_t
type std::integral_constant<std::size_t, value>

[bearbeiten] Beispiel

[bearbeiten] Siehe auch

[static] (parallelism TS v2)
gibt die Breite / Anzahl der Elemente zurück
(öffentliche statische Member-Funktion von std::experimental::simd<T,Abi>) [bearbeiten]
[static] (parallelism TS v2)
gibt die Breite / Anzahl der Elemente zurück
(öffentliche statische Member-Funktion von std::experimental::simd_mask<T,Abi>) [bearbeiten]