//-----------------------------------------------------------------------------+ // 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; }