12 using BitMask = ::std::unique_ptr<uint8_t[]>;
24 ::std::unique_ptr<uint8_t[]> _bit_mask;
37 static size_t n_bytes_required(
size_t bits)
noexcept;
67 template <
typename T,
typename U,
typename CompareFunction>
74 template <
typename T,
typename CompareFunction>
78 #include "CNum/DataStructs/Matrix/BinaryMask.tpp"
BinaryMask(const BinaryMask &other) noexcept
Copy constructor.
::CNum::DataStructs::Matrix< T > mask(const ::CNum::DataStructs::Matrix< T > &m) const
apply the mask to a Matrix
static BinaryMask create_binary_mask_matrix(const ::CNum::DataStructs::Matrix< T > &m, T val)
Create a BinaryMask for a Matrix.
Definition BinaryMask.h:30
BinaryMask & operator=(const BinaryMask &other) noexcept
Copy equals operator.
BinaryMask & operator=(BinaryMask &&other) noexcept
Move equals operator.
BinaryMask(BinaryMask &&other) noexcept
Move constructor.
BinaryMask(BitMask mask, size_t size, size_t n_set)
Overloaded constructor.
static BinaryMask create_binary_mask(const T &m, U val)
Create a binary mask.
Definition BinaryMask.h:38
2d array abstraction
Definition Matrix.h:43
The data structures used in CNum.
Definition ConcurrentQueue.h:8
::std::unique_ptr< uint8_t[]> BitMask
Definition BinaryMask.h:12