CrystalSpace

Public API Reference

csFrameDataHolder< T > Class Template Reference

Helper template to retrieve an instance of some type that has not yet been used in a frame. More...

#include <cstool/framedataholder.h>

List of all members.

Public Member Functions

void Clear (bool instaClear=false)
 Remove all allocated instances.
 csFrameDataHolder ()
T & GetUnusedData (bool &created, uint frameNumber)
 Retrieve an instance of the type T whose associated frame number differs from frameNumber.
 ~csFrameDataHolder ()


Detailed Description

template<class T>
class csFrameDataHolder< T >

Helper template to retrieve an instance of some type that has not yet been used in a frame.

Retrieval in subsequent frames will reuse already created instances, if appropriate (that is, the associated frame number differs from the provide current frame number).

Definition at line 37 of file framedataholder.h.


Member Function Documentation

template<class T>
void csFrameDataHolder< T >::Clear ( bool  instaClear = false  )  [inline]

Remove all allocated instances.

Remarks:
Warning! Don't use if pointers etc. to contained data still in use!

By default. does not clear the allocated data instantly but rather upon the next frame (ie when the frameNumber parameter passed to GetUnusedData() differs from the last). To change this behaviour, set instaClear to true.

Definition at line 140 of file framedataholder.h.

template<class T>
T& csFrameDataHolder< T >::GetUnusedData ( bool &  created,
uint  frameNumber 
) [inline]

Retrieve an instance of the type T whose associated frame number differs from frameNumber.

In created, it is returned whether a new instance was created (value is true) or an existing one was reused (value is false). Can be used to e.g. determine whether some initialization work can be saved.

Definition at line 96 of file framedataholder.h.


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