20 #ifndef VC_SCALAR_MASK_H 21 #define VC_SCALAR_MASK_H 30 template<
unsigned int VectorSize = 1>
class Mask 66 #ifndef VC_NO_AUTOMATIC_BOOL_FROM_MASK 70 template<
unsigned int OtherSize>
95 #define Vc_foreach_bit(_it_, _mask_) \ 96 for (Vc::Scalar::ForeachHelper Vc__make_unique(foreach_bit_obj)(_mask_); Vc__make_unique(foreach_bit_obj).continu; Vc__make_unique(foreach_bit_obj).next()) \ 97 for (_it_ = 0; Vc__make_unique(foreach_bit_obj).continu; Vc__make_unique(foreach_bit_obj).next()) 103 #endif // VC_SCALAR_MASK_H
Namespace for new ROOT classes and functions.
Vc_ALWAYS_INLINE Mask operator||(const Mask &rhs) const
Vc_ALWAYS_INLINE Mask(bool b)
Vc_ALWAYS_INLINE Mask(VectorSpecialInitializerOne::OEnum)
Vc_ALWAYS_INLINE Mask & operator^=(const Mask &rhs)
Vc_ALWAYS_INLINE Mask operator!() const
Vc_ALWAYS_INLINE void next()
Vc_ALWAYS_INLINE Mask & operator|=(const Mask &rhs)
Vc_ALWAYS_INLINE bool dataI() const
Vc_ALWAYS_INLINE Mask & operator=(bool rhs)
Vc_ALWAYS_INLINE Mask & operator=(const Mask &rhs)
Vc_ALWAYS_INLINE Mask & operator &=(const Mask &rhs)
Vc_ALWAYS_INLINE ForeachHelper(bool mask)
Vc_ALWAYS_INLINE bool data() const
Vc_ALWAYS_INLINE Mask operator &&(const Mask &rhs) const
Vc_ALWAYS_INLINE Mask cast() const
Vc_ALWAYS_INLINE Mask operator|(const Mask &rhs) const
Vc_ALWAYS_INLINE Mask(VectorSpecialInitializerZero::ZEnum)
Vc_ALWAYS_INLINE Mask operator^(const Mask &rhs) const
Vc_ALWAYS_INLINE bool isMix() const
Vc_ALWAYS_INLINE Mask operator &(const Mask &rhs) const
Vc_ALWAYS_INLINE Mask(const Mask< VectorSize > *a)
Vc_ALWAYS_INLINE int count() const
Vc_ALWAYS_INLINE bool isFull() const
Vc_ALWAYS_INLINE void expand(Mask *x)
Vc_ALWAYS_INLINE bool operator==(const Mask &rhs) const
Vc_ALWAYS_INLINE bool operator!=(const Mask &rhs) const
Vc_ALWAYS_INLINE bool operator[](int) const
Vc_ALWAYS_INLINE int firstOne() const
Returns the index of the first one in the mask.
Vc_ALWAYS_INLINE bool isEmpty() const
Vc_ALWAYS_INLINE bool dataD() const