#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; }