Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

CascadeNewArray< TYPE > Class Template Reference

a templated array class More...

#include <cascade/util/CascadeNewArray.h>

Inheritance diagram for CascadeNewArray< TYPE >:

CascadeObject List of all members.

Public Types

typedef int() CompareFunction (const TYPE *pElement1, const TYPE *pElement2)

Public Member Functions

 CascadeNewArray (u32 nInitialMemSize=kDefaultInitialMemSize)
 CascadeNewArray (const CascadeNewArray &that)
virtual ~CascadeNewArray ()
CascadeNewArrayoperator= (const CascadeNewArray &that)
void SetAt (u32 nIndex, const TYPE &data)
TYPE & GetAt (u32 nIndex) const
TYPE & operator[] (u32 nIndex) const
void InsertAt (u32 nIndex, const TYPE &data)
void RemoveAt (u32 nIndex)
void Append (const TYPE &pData)
u32 GetSize () const
void SetSize (u32 nSize)
bool IsEmpty () const
void QuickSort (CompareFunction *pCompareFunction)

Protected Types

enum  { kDefaultInitialMemSize = 8 }

Static Protected Member Functions

static void PlacementNewConstruct (TYPE *pObjects, u32 nNumObjects)
static void ManualDestruct (TYPE *pObjects, u32 nNumObjects)
static void arraymemmove (void *pDest, const void *pSource, u32 nCount)
static void arraymemcpy (void *pDest, const void *pSource, u32 nCount)

Protected Attributes

TYPE * m_pData
u32 m_nSize
u32 m_nMemSize

Detailed Description

template<class TYPE>
class CascadeNewArray< TYPE >

a templated array class

Skip the description

CascadeNewArray allows storing arbitrary types - even C++ class objects - in an array.


class CascadeNewArray


Member Typedef Documentation

template<class TYPE>
typedef int() CascadeNewArray< TYPE >::CompareFunction(const TYPE *pElement1, const TYPE *pElement2)
 


Member Enumeration Documentation

template<class TYPE>
anonymous enum [protected]
 

Enumeration values:
kDefaultInitialMemSize 


Constructor & Destructor Documentation

template<class TYPE>
CascadeNewArray< TYPE >::CascadeNewArray u32  nInitialMemSize = kDefaultInitialMemSize  ) 
 

template<class TYPE>
CascadeNewArray< TYPE >::CascadeNewArray const CascadeNewArray< TYPE > &  that  ) 
 

template<class TYPE>
CascadeNewArray< TYPE >::~CascadeNewArray  )  [virtual]
 


Member Function Documentation

template<class TYPE>
void CascadeNewArray< TYPE >::Append const TYPE &  pData  )  [inline]
 

template<class TYPE>
static void CascadeNewArray< TYPE >::arraymemcpy void *  pDest,
const void *  pSource,
u32  nCount
[inline, static, protected]
 

template<class TYPE>
static void CascadeNewArray< TYPE >::arraymemmove void *  pDest,
const void *  pSource,
u32  nCount
[inline, static, protected]
 

template<class TYPE>
TYPE & CascadeNewArray< TYPE >::GetAt u32  nIndex  )  const [inline]
 

Reimplemented in CascadeUPnP::AVObjectArray.

template<class TYPE>
u32 CascadeNewArray< TYPE >::GetSize  )  const [inline]
 

template<class TYPE>
void CascadeNewArray< TYPE >::InsertAt u32  nIndex,
const TYPE &  data
 

template<class TYPE>
bool CascadeNewArray< TYPE >::IsEmpty  )  const [inline]
 

template<class TYPE>
static void CascadeNewArray< TYPE >::ManualDestruct TYPE *  pObjects,
u32  nNumObjects
[inline, static, protected]
 

template<class TYPE>
CascadeNewArray< TYPE > & CascadeNewArray< TYPE >::operator= const CascadeNewArray< TYPE > &  that  ) 
 

template<class TYPE>
TYPE & CascadeNewArray< TYPE >::operator[] u32  nIndex  )  const [inline]
 

Reimplemented in CascadeUPnP::AVObjectArray.

template<class TYPE>
static void CascadeNewArray< TYPE >::PlacementNewConstruct TYPE *  pObjects,
u32  nNumObjects
[inline, static, protected]
 

template<class TYPE>
void CascadeNewArray< TYPE >::QuickSort CompareFunction pCompareFunction  ) 
 

template<class TYPE>
void CascadeNewArray< TYPE >::RemoveAt u32  nIndex  ) 
 

template<class TYPE>
void CascadeNewArray< TYPE >::SetAt u32  nIndex,
const TYPE &  data
[inline]
 

template<class TYPE>
void CascadeNewArray< TYPE >::SetSize u32  nSize  ) 
 


Member Data Documentation

template<class TYPE>
u32 CascadeNewArray< TYPE >::m_nMemSize [protected]
 

template<class TYPE>
u32 CascadeNewArray< TYPE >::m_nSize [protected]
 

template<class TYPE>
TYPE* CascadeNewArray< TYPE >::m_pData [protected]
 


The documentation for this class was generated from the following file:
Generated on Sun Jul 24 14:27:20 2005 for Cascade Library by  doxygen 1.4.1