constexpr explicit basic_mask(value_type x) noexcept;
template<size_t UBytes, class UAbi>
constexpr explicit basic_mask(const basic_mask<UBytes, UAbi>& x) noexcept;
template<class G> constexpr explicit basic_mask(G&& gen);
constexpr basic_mask(const bitset<size()>& b) noexcept;
constexpr explicit basic_mask(unsigned_integral auto val) noexcept;
constexpr value_type operator[](simd-size-type i) const;
template<simd-integral I>
constexpr resize_t<I::size(), basic_mask> operator[](const I& indices) const;
constexpr basic_mask operator!() const noexcept;
constexpr basic_vec<integer-from<Bytes>, Abi> operator+() const noexcept;
constexpr basic_vec<integer-from<Bytes>, Abi> operator-() const noexcept;
constexpr basic_vec<integer-from<Bytes>, Abi> operator~() const noexcept;
template<class U, class A>
constexpr explicit(sizeof(U) != Bytes) operator basic_vec<U, A>() const noexcept;
constexpr bitset<size()> to_bitset() const noexcept;
constexpr unsigned long long to_ullong() const;