E.V.E
v2023.02.15
Loading...
Searching...
No Matches

Detailed Description

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.

Member Function Documentation

◆ else_()

template<typename V>
auto eve::keep_between::else_ ( V const & v) const
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.

Parameters
vValue to use if the conditional expression evaluates to false
Returns
An instance of eve::or_ wrapping current conditional expression with v.