# std::experimental::where_expression

From cppreference.com
< cpp‎ | experimental‎ | simd

Defined in header `<experimental/simd>` |  |
template < class M, class V > class where_expression; |  |

The class template where_expression abstracts the notion of selected elements of a given non-const object of arithmetic or data-parallel type. Selected elements signifies the elements data[i] for all i ∈ {j ∈ ℕ0 | j < M::size() ⋀ mask[j]}.

### Template parameters

M | - | The mask type
V | - | The value type M applies on

Valid combinations of (M, V) are: (simd_mask<T, Abi>, simd<T, Abi>), (simd_mask<T, Abi>, simd_mask<T, Abi>), (bool, T).

### Member functions

operator= | assigns to selected positions (public member function)
operator+= operator-= operator*= operator/= operator%= operator&= operator|= operator^= operator<<= operator>>= | compound operators (public member function)
operator++ operator-- | increment and decrement operators (public member function)
copy_from | loads from address to selected positions (public member function)

### Example

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/simd/where_expression&oldid=102696"