PikeAero::CByteArray Class Reference

#include <cbytearray.h>

Inheritance diagram for PikeAero::CByteArray:

Inheritance graph
[legend]
Collaboration diagram for PikeAero::CByteArray:

Collaboration graph
[legend]

Public Member Functions

CByteArrayappend (CMachine::ubit8 data)
CByteArrayappend (CMachine::ubit8 *data, CMachine::ubit32 size)
CMachine::ubit8 at (CMachine::ubit32 index)
 CByteArray ()
virtual void clear ()
CByteArraycopy (CMachine::ubit8 *data, CMachine::ubit32 size)
virtual CMachine::ubit8data ()
bool isEmpty ()
bool isNull ()
virtual CMachine::ubit32 length ()
CByteArrayprepend (CMachine::ubit8 data)
CByteArrayprepend (CMachine::ubit8 *data, CMachine::ubit32 size)
CByteArrayresize (CMachine::ubit32 size)
CMachine::ubit8 set (CMachine::ubit32 index, CMachine::ubit8 data)
CByteArrayset (CMachine::ubit32 index, CMachine::ubit8 *data, CMachine::ubit32 size)
CMachine::ubit32 size ()
virtual ~CByteArray ()

Protected Attributes

CMachine::ubit8mData
CMachine::ubit32 mSize

Detailed Description

Implements an array of bytes.
Author:
Michael Sharkey <mike@pikeaero.com>

Definition at line 32 of file cbytearray.h.


Constructor & Destructor Documentation

PikeAero::CByteArray::CByteArray (  ) 

Definition at line 25 of file cbytearray.cpp.

00026  : CObject()
00027  , mSize(0)
00028  , mData(NULL)
00029 {
00030 }

PikeAero::CByteArray::~CByteArray (  )  [virtual]

Definition at line 32 of file cbytearray.cpp.

References clear().

00033 {
00034     clear();
00035 }

Here is the call graph for this function:


Member Function Documentation

CByteArray& PikeAero::CByteArray::append ( CMachine::ubit8  data  )  [inline]

Reimplemented in PikeAero::CString.

Definition at line 43 of file cbytearray.h.

References append().

Referenced by append().

00043 {return append(&data, 1);}

Here is the call graph for this function:

Here is the caller graph for this function:

CByteArray& PikeAero::CByteArray::append ( CMachine::ubit8 data,
CMachine::ubit32  size 
) [inline]

Definition at line 42 of file cbytearray.h.

References mSize, resize(), and set().

Referenced by PikeAero::CCommunication::rx().

00042 {CMachine::ubit32 t=mSize;return resize(mSize+size).set(t,data,size);}

Here is the call graph for this function:

Here is the caller graph for this function:

CMachine::ubit8 PikeAero::CByteArray::at ( CMachine::ubit32  index  )  [inline]

void PikeAero::CByteArray::clear (  )  [virtual]

CByteArray& PikeAero::CByteArray::copy ( CMachine::ubit8 data,
CMachine::ubit32  size 
) [inline]

Definition at line 41 of file cbytearray.h.

References resize(), and set().

00041 {return resize(size).set(0,data,size);}

Here is the call graph for this function:

virtual CMachine::ubit8* PikeAero::CByteArray::data (  )  [inline, virtual]

bool PikeAero::CByteArray::isEmpty (  )  [inline]

Reimplemented in PikeAero::CString.

Definition at line 57 of file cbytearray.h.

References isNull(), and length().

00057 {return isNull() || length()==0;}

Here is the call graph for this function:

bool PikeAero::CByteArray::isNull (  )  [inline]

Reimplemented in PikeAero::CString.

Definition at line 56 of file cbytearray.h.

References mData.

Referenced by isEmpty().

00056 {return mData==NULL;}

Here is the caller graph for this function:

virtual CMachine::ubit32 PikeAero::CByteArray::length (  )  [inline, virtual]

Reimplemented in PikeAero::CRingBuffer, and PikeAero::CString.

Definition at line 53 of file cbytearray.h.

References mSize.

Referenced by isEmpty(), and PikeAero::CCommunication::tx().

00053 {return mSize;}

Here is the caller graph for this function:

CByteArray& PikeAero::CByteArray::prepend ( CMachine::ubit8  data  )  [inline]

Reimplemented in PikeAero::CString.

Definition at line 45 of file cbytearray.h.

References prepend().

Referenced by prepend().

00045 {return prepend(&data, 1);}

Here is the call graph for this function:

Here is the caller graph for this function:

CByteArray & PikeAero::CByteArray::prepend ( CMachine::ubit8 data,
CMachine::ubit32  size 
)

Definition at line 47 of file cbytearray.cpp.

References mData, memcpy, memmove, mSize, and resize().

00048 {
00049     CMachine::ubit32 t = mSize;
00050     resize( mSize + size );
00051     memmove( &mData[size], &mData[0], t );
00052     memcpy(&mData[0],data,size);
00053     return *this;
00054 }

Here is the call graph for this function:

CByteArray& PikeAero::CByteArray::resize ( CMachine::ubit32  size  )  [inline]

Reimplemented in PikeAero::CString.

Definition at line 40 of file cbytearray.h.

References mData, mSize, and PikeAero::CMemHeap::realloc().

Referenced by append(), PikeAero::CCommunication::CCommunication(), PikeAero::CCommunicationPacket::CCommunicationPacket(), copy(), PikeAero::CTaskQueue::initialize(), and prepend().

00040 {mData = static_cast<CMachine::ubit8*>(CMemHeap::realloc(mData,(mSize=size)));return *this;}

Here is the call graph for this function:

Here is the caller graph for this function:

CMachine::ubit8 PikeAero::CByteArray::set ( CMachine::ubit32  index,
CMachine::ubit8  data 
) [inline]

Definition at line 49 of file cbytearray.h.

References data(), and mData.

00049 {return (mData[index]=data);}

Here is the call graph for this function:

CByteArray& PikeAero::CByteArray::set ( CMachine::ubit32  index,
CMachine::ubit8 data,
CMachine::ubit32  size 
) [inline]

CMachine::ubit32 PikeAero::CByteArray::size (  )  [inline]


Field Documentation

Definition at line 60 of file cbytearray.h.

Referenced by append(), clear(), length(), prepend(), resize(), and size().


The documentation for this class was generated from the following files:

Generated on Sun Oct 25 13:59:46 2009 for stingray3 by  doxygen 1.5.8