31 lines
871 B
C++
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 ); //해당키를 반납하다(풀에 넣는다.)
|
|
};
|