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