FixedSizeArray< T, C > Struct Template Reference

fixed size array Upon construction it preallocates fixed size block of memory for all items, but doesn't construct them. More...

#include <fixedsizearray.hpp>

Data Structures

struct  ArrayHeader
 header for fixed size array More...

Public Member Functions

 FixedSizeArray ()
 Default constructor.
 FixedSizeArray (const FixedSizeArray< T, C > &src)
 Copy constructor.
 ~FixedSizeArray ()
 destroy remaining items and free the memory block
FORCEINLINE void Clear ()
 Clear (destroy) all items.
FORCEINLINE uint Length () const
 return number of used items
FORCEINLINE bool IsFull () const
 return true if array is full
FORCEINLINE bool IsEmpty () const
 return true if array is empty
FORCEINLINE T * Append ()
 add (allocate), but don't construct item
FORCEINLINE T * AppendC ()
 add and construct item using default constructor
FORCEINLINE T & operator[] (uint index)
 return item by index (non-const version)
FORCEINLINE const T & operator[] (uint index) const
 return item by index (const version)

Protected Member Functions

FORCEINLINE ArrayHeaderHdr ()
 return reference to the array header (non-const)
FORCEINLINE const ArrayHeaderHdr () const
 return reference to the array header (const)
FORCEINLINE uint & RefCnt ()
 return reference to the block reference counter
FORCEINLINE uint & SizeRef ()
 return reference to number of used items

Protected Attributes

T * data
 the only member of fixed size array is pointer to the block of C array of items.

Static Protected Attributes

static const uint Tsize = sizeof(T)
 size of item
static const uint HeaderSize = sizeof(ArrayHeader)
 size of header

Detailed Description

template<class T, uint C>
struct FixedSizeArray< T, C >

fixed size array Upon construction it preallocates fixed size block of memory for all items, but doesn't construct them.

Item's construction is delayed.

Definition at line 24 of file fixedsizearray.hpp.


Constructor & Destructor Documentation

template<class T, uint C>
FixedSizeArray< T, C >::FixedSizeArray (  )  [inline]

Default constructor.

Preallocate space for items and header, then initialize header.

Definition at line 54 of file fixedsizearray.hpp.

template<class T, uint C>
FixedSizeArray< T, C >::FixedSizeArray ( const FixedSizeArray< T, C > &  src  )  [inline]

Copy constructor.

Preallocate space for items and header, then initialize header.

Definition at line 63 of file fixedsizearray.hpp.


Field Documentation

template<class T, uint C>
T* FixedSizeArray< T, C >::data [protected]

The documentation for this struct was generated from the following file:

Generated on Fri Jun 3 05:19:55 2011 for OpenTTD by  doxygen 1.6.1