19#ifndef ESPRESSO_MASK_HPP
20#define ESPRESSO_MASK_HPP
32template <
class T,
class Integral, std::size_t... I>
33auto mask_impl(Integral
mask, T t, std::index_sequence<I...>) {
56template <
class T,
class Integral>
58 T t) -> std::enable_if_t<std::is_unsigned_v<Integral> &&
62 return detail::mask_impl(
mask, t,
Array implementation with CUDA support.
auto mask(Integral mask, T t) -> std::enable_if_t< std::is_unsigned_v< Integral > &&(size_in_bits< Integral >::value >=tuple_size< T >::value), T >
Pick elements of a tuple-like by a bit mask.
typename tuple_element< I, Tuple >::type tuple_element_t