Namensräume
Varianten
Aktionen

std::experimental::where

Von cppreference.com
< cpp‎ | experimental‎ | simd
 
 
 
 
 
Definiert in Header <experimental/simd>
template< class T, class Abi >

where_expression<simd_mask<T, Abi>, simd<T, Abi>>
    where( const typename simd<T, Abi>::mask_type& mask,

           simd<T, Abi>& value ) noexcept;
(1) (Parallelismus TS v2)
template< class T, class Abi >

const_where_expression<simd_mask<T, Abi>, const simd<T, Abi>>
    where( const typename simd<T, Abi>::mask_type& mask,

           const simd<T, Abi>& value ) noexcept;
(2) (Parallelismus TS v2)
template< class T, class Abi >

where_expression<simd_mask<T, Abi>, simd_mask<T, Abi>>
    where( const type_identity_t<simd_mask<T, Abi>>& mask,

           simd_mask<T, Abi>& value ) noexcept;
(3) (Parallelismus TS v2)
template< class T, class Abi >

const_where_expression<simd_mask<T, Abi>, const simd_mask<T, Abi>>
    where( const type_identity_t<simd_mask<T, Abi>>& mask,

           const simd_mask<T, Abi>& value ) noexcept;
(4) (Parallelismus TS v2)
template< class T >

where_expression<bool, T>

    where( /*siehe unten*/ mask, T& value ) noexcept;
(5) (Parallelismus TS v2)
template< class T >

const_where_expression<bool, const T>

    where( /*siehe unten*/ mask, const T& value ) noexcept;
(6) (Parallelismus TS v2)

Konstruiert einen neuen const_where_expression oder where_expression.

1-6) Konstruiert einen where_expression aus den gegebenen Masken- und Wertparametern.

Inhalt

[edit] Parameter

1-4)
mask - das simd_mask-Objekt
value - Referenz auf das simd-Objekt, auf das die Maske angewendet wird
5,6)
mask - die Maske vom Typ bool
value - Referenz auf den Skalar, auf den die Maske angewendet wird

[edit] Rückgabewert

Der konstruierte const_where_expression oder where_expression.

[edit] Anmerkungen

5,6) Verwendet einen implementierungsdefinierten Typ der Maske, sodass implizite Konvertierungen von anderen Typen zu bool deaktiviert sind.

[edit] Beispiel