palette::bool_mask

Trait LazySelect

source
pub trait LazySelect<T>: Select<T>
where T: HasBoolMask<Mask = Self>,
{ // Required method fn lazy_select<A, B>(self, a: A, b: B) -> T where A: FnOnce() -> T, B: FnOnce() -> T; }
Expand description

Like Select, but can avoid evaluating the input.

Required Methods§

source

fn lazy_select<A, B>(self, a: A, b: B) -> T
where A: FnOnce() -> T, B: FnOnce() -> T,

Select lanes from the output of a when corresponding lanes in self are true, and select from the output of b when false. May avoid evaluating either option if it’s not selected.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T> LazySelect<T> for bool
where T: HasBoolMask<Mask = Self>,

source§

fn lazy_select<A, B>(self, a: A, b: B) -> T
where A: FnOnce() -> T, B: FnOnce() -> T,

Implementors§