Conditional expression keeping all lanes between two position.
Required header: #include <eve/conditional.hpp>
Public Member Functions | |
| template<typename V> | |
| constexpr auto | else_ (V const &v) const |
| Extends a conditional expression with an alternative value. | |
| template<typename T> | |
| as_logical_t< T > | mask (eve::as< T > tgt) const |
| Computes the eve::logical_value associated to the current conditional. | |
| template<typename T> | |
| constexpr std::ptrdiff_t | count (eve::as< T > tgt) const |
| Number of lanes to be left unmasked. | |
| constexpr bool friend | operator== (keep_between const &, keep_between const &)=default |
| Checks equality between two eve::keep_between instances. | |
Friends | |
| template<typename Ch, typename Ct> | |
| auto & | operator<< (std::basic_ostream< Ch, Ct > &os, keep_between const &c) |
| Inserts a eve::keep_between conditional expression into a output stream. | |
|
inlineconstexpr |
Extends a conditional expression with an alternative value.
By default, conditional operations use their unchanged input whenever the conditional evaluates to false. By using this member function, operations will use the user provided eve::value v instead.
| v | Value to use if the conditional expression evaluates to false |