VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
makVrv::DtReservedElementsBuffer< T > Class Template Reference

template<typename T>
class makVrv::DtReservedElementsBuffer< T >

Template class which implements a data structure providing management of 'reserved' elements. The data structure is a wrapper around std::vector - adding a reserved flag for elements in the std::vector. The implementation still keeps the values in the buffer contiguous in memory.

Inheritance diagram for makVrv::DtReservedElementsBuffer< T >:
Inheritance graph
[legend]

Public Member Functions

 DtReservedElementsBuffer (size_t initialSize, size_t growIncrement, const T &defaultValue)
 
 ~DtReservedElementsBuffer ()
 
size_t reserveElements (size_t elementsToReserve)
 
void freeElements (size_t startIndex, size_t numberOfElements)
 
T & operator[] (int index)
 
std::vector< T > & buffer ()
 
size_t size () const
 

Protected Attributes

std::vector< boolmyReservedStatusBuffer
 
std::vector< T > myElementsBuffer
 
size_t myElementsBufferSize
 
size_t myElementsBufferGrowIncrement
 
myDefaultElementValue
 

Constructor & Destructor Documentation

template<typename T>
makVrv::DtReservedElementsBuffer< T >::DtReservedElementsBuffer ( size_t  initialSize,
size_t  growIncrement,
const T &  defaultValue 
)

Constructs a reserved elements buffer.

Parameters
initialSizeThe initial number of elements the buffer will have.
growIncrementThe amount of elements to grow the buffer whenever growth is needed.

Destructor.

Member Function Documentation

template<typename T>
size_t makVrv::DtReservedElementsBuffer< T >::reserveElements ( size_t  elementsToReserve)

Reserve some number of contiguous elements in the buffer.

Parameters
elementsToReserveThe number of contiguous elements to reserve.
Returns
The index of the first element that was reserved.
template<typename T>
void makVrv::DtReservedElementsBuffer< T >::freeElements ( size_t  startIndex,
size_t  numberOfElements 
)

Free some number of contiguous elements in the buffer.

Parameters
startIndexThe index of the first element to free up.
numberOfElementsThe number of elements to free starting at the provided start index.
Note
Freed element values are reset to the provided default value for elements.
template<typename T>
T& makVrv::DtReservedElementsBuffer< T >::operator[] ( int  index)
template<typename T>
std::vector<T>& makVrv::DtReservedElementsBuffer< T >::buffer ( )

Get a reference to the underlying buffer.

template<typename T>
size_t makVrv::DtReservedElementsBuffer< T >::size ( ) const

Get the size of the underlying buffer.

Note
This does not consider the reserved status of elements.

Member Data Documentation

template<typename T>
std::vector<bool> makVrv::DtReservedElementsBuffer< T >::myReservedStatusBuffer
protected
template<typename T>
std::vector<T> makVrv::DtReservedElementsBuffer< T >::myElementsBuffer
protected
template<typename T>
size_t makVrv::DtReservedElementsBuffer< T >::myElementsBufferSize
protected
template<typename T>
size_t makVrv::DtReservedElementsBuffer< T >::myElementsBufferGrowIncrement
protected
template<typename T>
T makVrv::DtReservedElementsBuffer< T >::myDefaultElementValue
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)