std::experimental::where
From cppreference.com
                    
                                        
                    < cpplrm; | experimentallrm; | simd
                    
                                                            
                    | Defined in header  <experimental/simd> | ||
| template < class T, class Abi > where_expression<simd_mask<T, Abi>, simd<T, Abi>> | (1) | |
| template < class T, class Abi > const_where_expression<simd_mask<T, Abi>, const simd<T, Abi>> | (2) | |
| template < class T, class Abi > where_expression<simd_mask<T, Abi>, simd_mask<T, Abi>> | (3) | |
| template < class T, class Abi > const_where_expression<simd_mask<T, Abi>, const simd_mask<T, Abi>> | (4) | |
| template < class T > where_expression<bool, T> | (5) | |
| template < class T > const_where_expression<bool, const T> | (6) | |
Constructs a new const_where_expression or where_expression.
1-6) constructs a where_expression from given mask and value parameters.
Parameters
1-4) 
| mask | - | the simd_mask object | 
| value | - | reference to the object that mask applies on | 
5-6) 
| mask | - | the mask of type bool | 
| value | - | reference to the scalar that mask applies on | 
Return value
The constructed const_where_expression or where_expression.
Notes
5-6) uses implementation defined type of mask, so that implicit conversions from other types to bool is disabled.