datablock.cpp

来自「墨香最新私服」· C++ 代码 · 共 74 行

CPP
74
字号
// Data.cpp: implementation of the CDataBlock class.
//
//////////////////////////////////////////////////////////////////////

#include "Stdafx.h"
#include "DataBlock.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

DWORD CDataBlock::Max_DataBlock_Size;

CDataBlock::CDataBlock()
{

}

void CDataBlock::Init(DWORD DataBlockNum,char* pData)
{
	m_DataBlockNum = DataBlockNum;
	m_pData = pData;
}

CDataBlock::~CDataBlock()
{

}

void CDataBlock::Clear(BOOL bIsStore)
{
	m_bIsStoring = bIsStore;
	m_Index = 0;
}

void CDataBlock::AddData(void* pData,int DataSize)
{
	ASSERT(m_bIsStoring);
	ASSERT(m_Index + DataSize < Max_DataBlock_Size);
	
	memcpy(&m_pData[m_Index],pData,DataSize);
	m_Index += DataSize;
}

/*
template<class T>
void CDataBlock::operator << (T& data)
{
	ASSERT(m_bIsStoring);
	ASSERT(m_Index + sizeof(T) < Max_DataBlock_Size);

	memcpy(&[m_Index],&data,sizeof(T));
	m_Index += sizeof(T);
}

template<class T>
void CDataBlock::operator >> (T& data)
{
	ASSERT(!m_bIsStoring);
	ASSERT(m_Index + sizeof(T) < Max_DataBlock_Size);

	memcpy(&data,&m_pData[m_Index],sizeof(T));
	m_Index += sizeof(T);
}
*/
/*
void operator >> (CDataBlock& DataBlock,float& data)
{
	ASSERT(!DataBlock.m_bIsStoring);
	ASSERT(DataBlock.m_Index + sizeof(float) < DataBlock.Max_DataBlock_Size);

	memcpy(&data,&DataBlock.m_pData[DataBlock.m_Index],sizeof(float));
	DataBlock.m_Index += sizeof(float);
}*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?