65 lines
1.1 KiB
C++
65 lines
1.1 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// 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();
|
|
}
|
|
|
|
|