📄 pqbytearray.cpp
字号:
// File name: $Workfile: pqbytearray.cpp $
// Last modified: $Modtime: 7/27/98 11:41a $
// Last modified by: $Author: Rob $
//
// VCS archive path: $Archive: /Hank/DMM/FirmWare/Level3/ObDatMgr/pqbytearray.cpp $
// VCS revision: $Revision: 3 $
#include "PQDIF_classes.h"
CPQByteArray::CPQByteArray()
{
m_data = (BYTE *) malloc( 64 );
m_size = 0;
m_max = 64;
m_growBy = 64;
}
CPQByteArray::~CPQByteArray()
{
if( m_data )
{
free( m_data );
}
}
int CPQByteArray::GetSize( void ) const
{
return m_size;
}
void CPQByteArray::SetSize( int NewSize, int GrowBy )
{
m_size = NewSize;
if( GrowBy > 0 )
m_growBy = GrowBy;
// Grow?
if( NewSize > m_max )
{
m_max = NewSize + m_growBy;
m_data = (BYTE *) realloc( (void *) m_data, m_max );
}
}
BYTE CPQByteArray::GetAt( int idx ) const
{
const BYTE bogus = 0;
if( idx >=0 && idx < m_size )
{
return m_data[ idx ];
}
else
{
return bogus;
}
}
void CPQByteArray::SetAt( int idx, BYTE value )
{
if( idx >= 0 && idx < m_size )
{
m_data[ idx ] = value;
}
}
BYTE& CPQByteArray::ElementAt( int idx )
{
static BYTE bogus = 0;
if( idx >= 0 && idx < m_size )
{
return m_data[ idx ];
}
else
{
return bogus;
}
}
const BYTE * CPQByteArray::GetData( void ) const
{
return m_data;
}
BYTE * CPQByteArray::GetData( void )
{
return m_data;
}
int CPQByteArray::Add( BYTE value )
{
int pos = m_size;
SetSize( m_size + 1, m_growBy );
if( m_data )
{
m_data[ pos ] = value;
return pos;
}
else
{
return -1;
}
}
int CPQByteArray::Append( BYTE * values, int count )
{
int pos = m_size;
SetSize( m_size + count, m_growBy );
if( m_data )
{
memcpy( m_data + pos, values, count );
return pos;
}
else
{
return -1;
}
}
BYTE CPQByteArray::operator[] ( int idx ) const
{
return GetAt( idx );
}
BYTE& CPQByteArray::operator[] ( int idx )
{
return ElementAt( idx );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -