Files
envi-code/SourceCode/Code2026/AdsXRx/XStaticBuffer.cpp
T
2026-09-28 15:28:50 +08:00

50 lines
932 B
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, SH Software Co. Ltd.
// = FileName : XStaticBuffer.cpp
// = Version : ver2.0
// = Author :
// = CreateDate : 2002-09-09
// = Description: XStaticBuffer ¶¨Òå
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#include "StdAfx.h"
#include "XStaticBuffer.h"
XStaticBuffer::XStaticBuffer(char *pBuf, int nSize)
: m_pBuf(pBuf), m_nSize(nSize)
{
m_nPos = 0;
}
XStaticBuffer::~XStaticBuffer()
{
if (m_pBuf)
{
delete m_pBuf;
}
}
int XStaticBuffer::IsEOF()
{
return (m_nPos >= m_nSize);
}
int XStaticBuffer::operator !()
{
return (!m_pBuf || IsEOF());
}
int XStaticBuffer::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;
}