#include "genlib.h" class LIDmap { ////////////////////////////////////////////////// // Initialization // public: LIDmap(); ~LIDmap(); VOID Init(UINT_32 size = 128); private: //VOID DoubleArray(); VOID ExpandArray(LID lid); ////////////////////////////////////////////////// // Input functions // public: VOID SetPtr(LID, VOID *); ////////////////////////////////////////////////// // Output Functions // public: inline LID GetNewLID(); inline LID GetCurrentLID(); inline UINT_32 GetArraySize(); inline VOID *GetPtr(LID); ////////////////////////////////////////////////// // Member Variables // protected: LID m_lid; UINT_32 m_uiArraySize; VOID **m_pPtrArray; }; inline LID LIDmap::GetNewLID() { return (m_lid++); } inline LID LIDmap::GetCurrentLID() { return (m_lid); } inline UINT_32 LIDmap::GetArraySize() { return (m_uiArraySize); } inline VOID *LIDmap::GetPtr(LID lid) { if (lid <= m_uiArraySize) return m_pPtrArray[lid]; else return NULL; }