CrystalSpace

Public API Reference

csPDelArray< T > Class Template Reference

An array of pointers. More...

#include <csutil/parray.h>

Inheritance diagram for csPDelArray< T >:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 csPDelArray (int ilimit=0, int ithreshold=0)
 Initialize object to hold initially 'ilimit' elements, and increase storage by 'ithreshold' each time the upper bound is exceeded.
T * Extract (size_t n)
 Extract element number 'n' from vector.
T * GetAndClear (size_t n)
 Get and clear the element 'n' from vector.
T * Pop ()
 Pop an element from tail end of array.
void SetSize (size_t n, T const &what)
 Variant of SetLength() which copies the pointed-to object instead of the actual pointer.
void SetSize (size_t n)
 Set the actual number of items in this array.


Detailed Description

template<class T>
class csPDelArray< T >

An array of pointers.

No ref counting is done on the elements in this array. Use csRefArray if you want ref counting to happen. This array will delete elements (using 'delete') as needed. This array properly initializes new elements in the array to 0 (the NULL pointer).

Definition at line 64 of file parray.h.


Constructor & Destructor Documentation

template<class T>
csPDelArray< T >::csPDelArray ( int  ilimit = 0,
int  ithreshold = 0 
) [inline]

Initialize object to hold initially 'ilimit' elements, and increase storage by 'ithreshold' each time the upper bound is exceeded.

Definition at line 77 of file parray.h.


Member Function Documentation

template<class T>
T* csPDelArray< T >::Extract ( size_t  n  )  [inline]

Extract element number 'n' from vector.

The element is deleted from the array and returned. You are responsible for deleting the pointer later.

Definition at line 97 of file parray.h.

template<class T>
T* csPDelArray< T >::GetAndClear ( size_t  n  )  [inline]

Get and clear the element 'n' from vector.

This spot in the array will be set to 0. You are responsible for deleting the returned pointer later.

Definition at line 85 of file parray.h.

Referenced by csPDelArray< csRenderMeshList::renderMeshListInfo >::Extract(), and csPDelArray< csRenderMeshList::renderMeshListInfo >::Pop().

template<class T>
T* csPDelArray< T >::Pop (  )  [inline]

Pop an element from tail end of array.

Reimplemented from csArray< T *, csPDelArrayElementHandler< T * > >.

Definition at line 105 of file parray.h.

template<class T>
void csPDelArray< T >::SetSize ( size_t  n,
T const &  what 
) [inline]

Variant of SetLength() which copies the pointed-to object instead of the actual pointer.

Definition at line 129 of file parray.h.

template<class T>
void csPDelArray< T >::SetSize ( size_t  n  )  [inline]

Set the actual number of items in this array.

This can be used to shrink an array (like Truncate()) or to enlarge an array, in which case it will properly construct all new items using their default (zero-argument) constructor.

Parameters:
n New array length.

Reimplemented from csArray< T *, csPDelArrayElementHandler< T * > >.

Definition at line 120 of file parray.h.


The documentation for this class was generated from the following file:
Generated for Crystal Space 1.2.1 by doxygen 1.5.3