Namespaces
Variants

std::experimental:: split, split_by

From cppreference.net
**Anmerkungen zur Übersetzung:** - Alle HTML-Tags und Attribute wurden unverändert beibehalten - Der C++ Code innerhalb der ` ` Tags wurde nicht übersetzt - C++-spezifische Begriffe wie "template", "class", "typename", "const", "noexcept" etc. wurden nicht übersetzt - Nur der beschreibende Text wurde ins Deutsche übersetzt: - "split" bleibt unverändert (C++-Funktionsname) - "(parallelism TS v2)" wurde zu "(Parallelism TS v2)" übersetzt (technische Spezifikation) - Die Zahlen und technischen Bezeichnungen bleiben erhalten (Anmerkung: Der bereitgestellte HTML-Code enthält keinen übersetzbaren Text, da alle Tags leer sind. Die Struktur bleibt unverändert, wie angefordert.)
Definiert in Header <experimental/simd>
template < std:: size_t ... Sizes , class T, class Abi >

std:: tuple < simd < T, simd_abi :: deduce_t < T, Sizes >> ... >

split ( const simd < T, Abi > & v ) noexcept ;
(1) (Parallelism TS v2)
template < std:: size_t ... Sizes , class T, class Abi >

std:: tuple < simd_mask < T, simd_abi :: deduce_t < T, Sizes >> ... >

split ( const simd_mask < T, Abi > & v ) noexcept ;
(2) (Parallelism TS v2)
template < class V, class Abi >

std:: array < V, simd_size_v < typename V :: value_type , Abi > / V :: size ( ) >

split ( const simd < typename V :: value_type , Abi > & v ) noexcept ;
(3) (Parallelism TS v2)
template < class V, class Abi >

std:: array < V, simd_size_v < typename V :: value_type , Abi > / V :: size ( ) >

split ( const simd_mask < typename V :: value_type , Abi > & v ) noexcept ;
(4) (Parallelism TS v2)
template < size_t N, class T, class A >

array < resize_simd < simd_size_v < T, A > / N, simd < T, A >> , N >

split_by ( const simd < T, A > & v ) noexcept ;
(5) (Parallelism TS v2)
template < size_t N, class T, class A >

array < resize_simd < simd_size_v < T, A > / N, simd_mask < T, A >> , N >

split_by ( const simd_mask < T, A > & v ) noexcept ;
(6) (Parallelism TS v2)

Teilt das Eingabe- simd oder simd_mask Objekt in mehrere simd oder simd_mask Objekte auf.

1,2) Unterteilt das Eingabeobjekt in potenziell verschiedene Typen (z.B. Typen mit unterschiedlichen Größen) von Objekten. Diese Funktionen nehmen nicht an der Überladungsauflösung teil, es sei denn Sizes... summieren sich zu v. size ( ) auf.
3,4) Teilt das Eingabeobjekt in ein Array von Objekten auf. Diese Funktionen nehmen nicht an der Überladungsauflösung teil, es sei denn
  • Das Array-Element muss vom Typ simd oder simd_mask sein, entsprechend dem Typ von v als simd oder simd_mask .
  • simd_size_v < typename V :: value_type , Abi > ein ganzzahliges Vielfaches von V :: size ( ) ist.
5,6) Unterteilt das Eingabeobjekt in ein Array von Objekten. Diese Funktionen nehmen nicht an der Überladungsauflösung teil, es sei denn simd_size_v < T, A > ist ein ganzzahliges Vielfaches von N .

Parameter

v - das Eingabe- simd oder simd_mask Objekt

Rückgabewert

1,2) Ein Tupel, das die aufgeteilten simd - oder simd_mask -Objekte enthält.
3-6) Ein Array, das die aufgeteilten simd - oder simd_mask -Objekte enthält.

Beispiel