Files
2022-10-26 12:25:11 +08:00

31 lines
871 B
C++

#pragma once
/************************************************************************/
/* 유일한 키값을 생성해 주는 클래스 */
/************************************************************************/
#include <map>
class KeyGenerator
{
public:
KeyGenerator(void);
~KeyGenerator(void);
private:
typedef std::map<DWORD, BOOL> MAPKEY;
typedef MAPKEY::iterator MAPKEY_ITER;
private:
MAPKEY m_mapKeyPool;
DWORD m_dwStartKey;
DWORD m_dwEndKey;
public:
VOID Init( DWORD dwStartKey = 1, DWORD dwEndKey = 100000 );
BOOL AllocKey( DWORD& dwKey ); //유일한 키를 할당 받는다.(풀에서 꺼낸다.)
BOOL FindKey( DWORD dwKey ); //풀에 주어진 키가 있는지 찾는다.
BOOL RestoreKey( DWORD dwKey ); //풀에서 주어진 키를 할당한다.(풀에서 제거)
BOOL FreeKey( DWORD dwKey ); //해당키를 반납하다(풀에 넣는다.)
};