Files
Sun1602/Server/MolaCrypt/WzASM_VM/VMOp/MOLA.SharedMemoryPool.h
T
2022-10-26 12:25:11 +08:00

37 lines
871 B
C++

#pragma once
#if SUN_CODE_BACKUP
//¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬
//
class MOLASharedMemoryPool
{
public:
template<typename _TYPE>
static _TYPE* InstanceOf()
{
PVOID pAllocPtr = MOLASharedMemoryPool::MemoryAllocate( sizeof(_TYPE) );
return new (pAllocPtr) _TYPE;
};
template<typename _TYPE>
static VOID DeleteOf( _TYPE* ptr )
{
ptr->_TYPE::~_TYPE();
MOLASharedMemoryPool::MemoryDeAllocate( ptr );
}
static PVOID MemoryAllocate( SIZE_T sz );
static VOID MemoryDeAllocate( PVOID ptr );
static VOID CreateInstance();
static VOID DestroyInstance();
private:
MOLASharedMemoryPool();
~MOLASharedMemoryPool();
private: static MOLASharedMemoryPool* ms_pInstance;
static INT ms_iCounts;
PVOID m_pInterBlock;
};
#endif //SUN_CODE_BACKUP