OpenTTD
Data Structures | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
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
void Clear ()
 Clear (destroy) all items.
uint Length () const
 return number of used items
bool IsFull () const
 return true if array is full
bool IsEmpty () const
 return true if array is empty
T * Append ()
 add (allocate), but don't construct item
T * AppendC ()
 add and construct item using default constructor
T & operator[] (uint index)
 return item by index (non-const version)
const T & operator[] (uint index) const
 return item by index (const version)

Protected Member Functions

ArrayHeaderHdr ()
 return reference to the array header (non-const)
const ArrayHeaderHdr () const
 return reference to the array header (const)
uint & RefCnt ()
 return reference to the block reference counter
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 69 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 81 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: