📄 dimoneindex.h
字号:
#if !defined(AFX_DIMONEINDEX_H__F9182677_BD37_4470_B99A_64FA05FB3AB1__INCLUDED_)
#define AFX_DIMONEINDEX_H__F9182677_BD37_4470_B99A_64FA05FB3AB1__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif
#include <bitset>
#include <vector>
#include <map>
namespace bmi {
#define MAX_OBJECT 16
#define MAX_KEY 0x7FFFFFFF
#define MIN_KEY 0x80000000
typedef long KEY;
typedef long OID;
typedef std::bitset<MAX_OBJECT> BITSET;
typedef std::map<KEY, BITSET > BITMAP;
/**
本类不做任何合法性检查, 调用时务必保证数据增强性, 否则
会出现不一致的数据. 务必保证参数 _down 小于等于 _up,否
则会出现死循环.
*/
class DimOneIndex
{
public:
DimOneIndex();
virtual ~DimOneIndex();
void Find( KEY _key, BITSET & bs);
void Find( KEY _down, KEY _up, bool bPart, BITSET & bs);
void Add( OID _oid, KEY _key);
void Add( OID _oid, KEY _down, KEY _up);
bool Del( OID _oid, KEY _key);
bool Del( OID _oid, KEY _down, KEY _up);
private:
void remove(BITMAP::iterator & it);
BITMAP m_Bitmap; // 一维空间Bitmap
};
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -