//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : TWArrayAr.cpp // = Version : ver2.0 // = Author : xlc // = CreateDate : 2002-09-09 // = Description: 类的定义 // = Maintainers: // //-----------------------------------------------------------------------------+ #include "StdAfx.h" #include "TWArrayAr.h" TWArrayAr::TWArrayAr(long spaceSize, long unit) : m_buf(1024,1024) { } TWArrayAr::~TWArrayAr() { } char& TWArrayAr::operator [] (long i) { return m_buf[i]; } void TWArrayAr::SetLength(long len) { m_buf.SetLength(len,true); m_iLength = len; } void TWArrayAr::Clear() { m_buf.Clear(); TWArchive::Clear(); } void TWArrayAr::Read(void *p, long iSize) { char *pData = (char*)p; m_buf.MoveTo(GetCur()); for (long i = 0; i < iSize && !m_buf.IsOut(); i++, m_buf.MoveToNext()) { pData[i] = m_buf.GetCurData(); } } void TWArrayAr::Write(void *p, long size) { char *pData = (char*)p; for (long i = 0; i < size; i++) { m_buf[GetCur() + i] = pData[i]; } m_iLength = m_buf.GetLength(); }