Public Member Functions

zeus::IArray< T > Class Template Reference

#include <IArray.hpp>

Inheritance diagram for zeus::IArray< T >:
zeus::IList< T > zeus::IValueType zeus::TArrayList< T >

List of all members.

Public Member Functions

virtual T *MQUALIFIER getArray () const =0
virtual const T *MQUALIFIER getArrayConst () const =0
virtual Int MQUALIFIER getArraySize () const =0
virtual Retval MQUALIFIER setArray (const T *pArray, Int iSize, bool bAttachPointer=false)=0
virtual Retval MQUALIFIER appendArray (const T *pArray, Int iSize)=0
virtual Retval MQUALIFIER copyToArray (IArray< T > &rDest, Int iStart, Int iEnd) const =0
virtual EArrayCopyMode MQUALIFIER getCopyMode () const =0
virtual Retval MQUALIFIER overwrite (const IArray< T > &rSrc, Int iSrcStart, Int iSrcEnd, Int iDestStart)=0

Detailed Description

template<class T>
class zeus::IArray< T >

This interface defines an array, which also inherites the behavoir of a list.


Member Function Documentation

template<class T>
virtual Retval MQUALIFIER zeus::IArray< T >::appendArray ( const T *  pArray,
Int  iSize 
) [pure virtual]

This appends an array to the current array.

Parameters:
pArray: Array of Data
iSize: Size of the array
Return values:
RET_NOERROR: Data appended
RET_REQUEST_FAILED,:Could not append data.
RET_INVALID_PARAMETER: Invalid parameter received

Implemented in zeus::TArrayList< T >, zeus::TArrayList< IZVariant * >, zeus::TArrayList< TypeRegFunction >, zeus::TArrayList< char >, and zeus::TArrayList< TypeClassRegistry >.

template<class T>
virtual Retval MQUALIFIER zeus::IArray< T >::copyToArray ( IArray< T > &  rDest,
Int  iStart,
Int  iEnd 
) const [pure virtual]

Copies a subsequence of this array into the destination

Parameters:
rDest: Destination array
iStart: Start index of the first element
iEnd: End index of the last element
Return values:
RET_NOERROR: Array copied
RET_REQUEST_FAILED: Could not copy array
RET_INVALID_PARAMETER: Invalid parameter received

Implemented in zeus::TArrayList< T >, zeus::TArrayList< IZVariant * >, zeus::TArrayList< TypeRegFunction >, zeus::TArrayList< char >, and zeus::TArrayList< TypeClassRegistry >.

template<class T>
virtual T* MQUALIFIER zeus::IArray< T >::getArray (  ) const [pure virtual]
template<class T>
virtual const T* MQUALIFIER zeus::IArray< T >::getArrayConst (  ) const [pure virtual]
template<class T>
virtual Int MQUALIFIER zeus::IArray< T >::getArraySize (  ) const [pure virtual]
template<class T>
virtual EArrayCopyMode MQUALIFIER zeus::IArray< T >::getCopyMode (  ) const [pure virtual]
template<class T>
virtual Retval MQUALIFIER zeus::IArray< T >::overwrite ( const IArray< T > &  rSrc,
Int  iSrcStart,
Int  iSrcEnd,
Int  iDestStart 
) [pure virtual]

Overwrites the array with data from a source array.

Parameters:
rSrc: Source array
iSrcStart: Start index at source array
iSrcEnd: End index at source array
iDestStart: Start index at destination (this object)
Return values:
RET_NOERROR: Data copied
RET_REQUEST_FAILED: invalid data indexing

Implemented in zeus::TArrayList< T >, zeus::TArrayList< IZVariant * >, zeus::TArrayList< TypeRegFunction >, zeus::TArrayList< char >, and zeus::TArrayList< TypeClassRegistry >.

template<class T>
virtual Retval MQUALIFIER zeus::IArray< T >::setArray ( const T *  pArray,
Int  iSize,
bool  bAttachPointer = false 
) [pure virtual]

Sets a new array of data. The array will be copied into the member of the arraylist. Adopting the pointer can only be used for shallow copy arrays, because objects might live on a different heap (local heap)

Parameters:
pArray: pointer to the array of data
iSize: Size of the array
bAttachPointer: if this flag is set the array pointer will be attached
Return values:
RET_NOERROR: Array copied
RET_REQUEST_FAILED: Could not copy this array
RET_INVALID_PARAMETER: Invalid parameter received (=NULL)

Implemented in zeus::TArrayList< T >, zeus::TArrayList< IZVariant * >, zeus::TArrayList< TypeRegFunction >, zeus::TArrayList< char >, and zeus::TArrayList< TypeClassRegistry >.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:28:34