2
3
4
5
6
7
8
9
12#if !defined(ae2f_BitVector_hpp)
13#define ae2f_BitVector_hpp
26
27
28
43 static_assert(std::is_integral<t>::value,
"t is not integer");
46 static_assert(std::is_integral<t>::value,
"t is not integer");
49 template<
typename T = t>
51 static_assert(std::is_integral<t>::value,
"t is not integer");
52 static_assert(std::is_integral<T>::value,
"T is not integer");
55 template<
typename T = t>
57 static_assert(std::is_integral<t>::value,
"t is not integer");
58 static_assert(std::is_integral<T>::value,
"T is not integer");
#define ae2f_BitVecGet(vector, idx)
Gets a bit of [vector] from index of [idx].
#define ae2f_BitVecSizeDef(t)
Gets the vec's last index where the flag set to 1.
#define ae2f_BitVecFndOneDefName(t)
Gets the vector that vec's first flag set to 1.
#define ae2f_BitVecSet(vector, idx, val)
Sets a bit of [vector] from index of [idx] by [val].
#define ae2f_BitVecGetRanged(vector, start, end)
Gets the bits of [vector] between index of [start] and [end]. It will normalise the values of [start...
#define _ae2f_BitVecFilled(len, vec_t)
Generates the vector filled in 1.
#define ae2f_BitVecFndOneDef(t)
Gets the vector that vec's first flag set to 1.
#define ae2f_BitVecSizeDefName(t)
Gets the vec's last index where the flag set to 1.
#define ae2f_BitVecSetRanged(vector, start, end, val)
Sets the bits of [vector] from index of [start] and [end] by [val]. It will normalise the values of ...
uint8_t ae2f_BitVecI_t
The pre-defined index type for Bit vector.
#define constextendedmethod
#define __ae2f_stdcheck_CC(v)
constexprmethod rBitVec< t > SetRangedConst(idx_t start, idx_t end, rBitVec< t > val) const noexcept
constexprmethod rBitVec(const t &&obj) noexcept
constextendedmethod const rBitVec< t > FndOne() const noexcept
constexprmethod rBitVec< t > GetRangedConst(idx_t start, idx_t end) const noexcept
constexprmethod rBitVec< t > SetConst(idx_t i, bool val) const noexcept
constexprmethod rBitVec(const rBitVec< T > &&vec) noexcept
constexprmethod bool Get(idx_t i) const noexcept
constexprmethod rBitVec(const rBitVec< T > &vec) noexcept
constexprmethod rBitVec(const t &obj) noexcept
constexprmethod rBitVec< t > & Set(idx_t i, bool val) noexcept
constexprmethod rBitVec< t > & SetRanged(idx_t start, idx_t end, rBitVec< t > val) noexcept
static constexprmethod rBitVec< t > Filled(idx_t length) noexcept
constexprmethod const idx_t Size() const noexcept
This namespace contains the class from this library.