2
3
4
5
6
7
8
9
11#if !defined(ae2f_BitVec_h)
19
20
21#define ae2f_BitToByteCount(bitc) (((bitc) >> 3
) + !!((bitc) & 7
))
30#define _ae2f_BitVecFilled(len, vec_t)
33 (sizeof(vec_t) << 3
) == (len)
50#define _ae2f_BitVecGetRanged(vector, start, end, vec_t)
60#define ae2f_BitVecGetRanged(vector, start, end)
80#define _ae2f_BitVecSetRanged(vector, start, end, val, vec_t)
91#define ae2f_BitVecSetRanged(vector, start, end, val)
101#define ae2f_BitVecSet(vector, idx, val)
108#define ae2f_BitVecSizeDefName(t) ae2f_BitVecSize_##t##_func
114#define ae2f_BitVecSizeDef(t)
117 for (i = (sizeof(t) << 3
); i; i--)
120 return i == (sizeof(t) << 3
) ? 0
: i;
127#define ae2f_BitVecFndOneDefName(t) ae2f_BitVecFndOne_##t##_func
133#define ae2f_BitVecFndOneDef(t)
#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_BitVecFilled(len)
Generates the vector filled in 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, vec_t)
Sets the bits of [vector] from index of [start] and [end] by [val].
#define _ae2f_BitVecGetRanged(vector, start, end, vec_t)
Gets the bits of [vector] between index of [start] and [end].
#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 ae2f_static_cast(t, v)
#define ae2f_CmpGetGt(a, b)
#define ae2f_CmpGetLs(a, b)
#define ae2f_CmpDiff(a, b)
#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.