// uIDList.h: interface for the uIDList class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_UIDLIST_H__7F7B8CE8_DFAB_4F33_8ADA_8C19F92CADAE__INCLUDED_)
#define AFX_UIDLIST_H__7F7B8CE8_DFAB_4F33_8ADA_8C19F92CADAE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define IDLISTSIZE 10000

class uIDList  
{
    
// Linked list structure for holding new valid IDs 
struct FREE_ID_LIST;

typedef FREE_ID_LIST *FreeIDListPtr;

struct FREE_ID_LIST {
    int ID;
    FreeIDListPtr Next;
};

/////////////////////////////////////////////////////

public:
	void CreateIDList();
	void AddBackID(int ID);
    void DestructIDList();
	int GetNewID();
	uIDList();
	virtual ~uIDList();
private:
    FreeIDListPtr HFreeIDListPtr;
    FreeIDListPtr TFreeIDListPtr;

};

#endif // !defined(AFX_UIDLIST_H__7F7B8CE8_DFAB_4F33_8ADA_8C19F92CADAE__INCLUDED_)
