Files
envi-code/SourceCode/Code2026/tg_shs/shs_geLib/TStaticBuffer.cpp
T
2026-09-28 15:28:50 +08:00

49 lines
944 B
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TStaticBuffer.cpp
// = Version : ver2.0
// = Author :
// = CreateDate : 2002-09-09
// = Description: TStaticBuffer ¶¨Òå
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#include "StdAfx.h"
#include "TStaticBuffer.h"
TStaticBuffer::TStaticBuffer(char *pBuf, int nSize)
: m_pBuf(pBuf), m_nSize(nSize)
{
m_nPos = 0;
}
TStaticBuffer::~TStaticBuffer()
{
if (m_pBuf)
{
delete m_pBuf;
}
}
int TStaticBuffer::IsEOF()
{
return (m_nPos >= m_nSize);
}
int TStaticBuffer::operator !()
{
return (!m_pBuf || IsEOF());
}
int TStaticBuffer::Read(void *pDest, int nCount)
{
if (m_nPos + nCount > m_nSize)
{
return 0;
}
memcpy(pDest, &m_pBuf[m_nPos], nCount);
m_nPos += nCount;
return 1;
}