Ai
1 Star 0 Fork 0

李勃/BitSet

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
CBitTable.h 809 Bytes
一键复制 编辑 原始数据 按行查看 历史
李勃 提交于 2021-03-02 14:22 +08:00 . test
#pragma once
#include <mutex>
#define u32 unsigned int
#define CBT_BIT_1 1
#define CBT_BIT_0 0
#define CBT_U32_FULL 0xffffffff
#define CBT_NOT_FOUND (CBT_U32_FULL - 1)
#define CBT_BAD_INDEX (CBT_U32_FULL - 2)
class CBitTable
{
std::mutex m_Mutex;
u32 * m_pTable;
u32 m_TabSize; //bit数
u32 m_MemSize; //占用的内存字节数
u32 m_CountOfBit1; //bit-1的数量
void InitTable(u32 bits);
void ReleaseTable();
u32 FindNextBit(u32 start_index, u32 bit_val);
u32 FindNextBitInU32(u32 u32val, u32 start_offset, u32 bit_val);
public:
~CBitTable();
CBitTable(u32 size);
u32 SetBit(u32 index);
u32 ClrBit(u32 index);
u32 GetBit(u32 index);
u32 FindNextBit0(u32 start_index);
u32 FindNextBit1(u32 start_index);
u32 getSize();
u32 * getMemAddr();
u32 getMemSize();
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/firexmoon/BitSet.git
git@gitee.com:firexmoon/BitSet.git
firexmoon
BitSet
BitSet
master

搜索帮助