![]() |
VR-Forces Developer's Guide
|

Classes | |
| struct | Block |
Public Member Functions | |
| DtReusableMemoryVector () | |
| ~DtReusableMemoryVector () | |
| int | findFreeBlock (const size_t sizeRequired) |
| std::pair< int, int > | remove (const R &removalPredicate) |
| void | removeIndices (int startIndex, int endIndex) |
| void | printFreeBlocks (void) |
| size_t | size (void) const |
| const T & | operator[] (int index) const |
| T & | operator[] (int index) |
| void | reserve (size_t reserveSize) |
| const T * | data (void) const |
| void | updateFreeBlocks (int startIndex, int endIndex) |
Protected Types | |
| typedef std::list< Block > | ListFreeBlocks |
| typedef std::vector< T > | VectorOfTs |
Protected Attributes | |
| ListFreeBlocks | myListFreeBlocks |
| I | myInitializerForT |
| VectorOfTs | myVectorOfTs |
|
protected |
|
protected |
| makVrv::DtReusableMemoryVector< T, I, R >::DtReusableMemoryVector | ( | ) |
constructor
| makVrv::DtReusableMemoryVector< T, I, R >::~DtReusableMemoryVector | ( | ) |
destructor
| int makVrv::DtReusableMemoryVector< T, I, R >::findFreeBlock | ( | const size_t | sizeRequired | ) |
get an available free block or add one to the end of the vector if one is not available
References makVrv::DtReusableMemoryVector< T, I, R >::Block::size, and makVrv::DtReusableMemoryVector< T, I, R >::Block::startIndex.
| std::pair<int, int> makVrv::DtReusableMemoryVector< T, I, R >::remove | ( | const R & | removalPredicate | ) |
remove a range of objects and free that range. returns the start and end index that was removed currently only supports removalPredicates which select contiguous entries undefined results if it does not.
| void makVrv::DtReusableMemoryVector< T, I, R >::removeIndices | ( | int | startIndex, |
| int | endIndex | ||
| ) |
remove a range of indices, inclusive
| void makVrv::DtReusableMemoryVector< T, I, R >::printFreeBlocks | ( | void | ) |
debug printout of the free blocks that are available
| size_t makVrv::DtReusableMemoryVector< T, I, R >::size | ( | void | ) | const |
current size of the vector
| const T & makVrv::DtReusableMemoryVector< T, I, R >::operator[] | ( | int | index | ) | const |
access an element in the vector via index
| T & makVrv::DtReusableMemoryVector< T, I, R >::operator[] | ( | int | index | ) |
access an element in the vector via index
| void makVrv::DtReusableMemoryVector< T, I, R >::reserve | ( | size_t | reserveSize | ) |
reserve a block of memory for this vector of a specific size
| const T * makVrv::DtReusableMemoryVector< T, I, R >::data | ( | void | ) | const |
get the pointer to the raw data in the vector
| void makVrv::DtReusableMemoryVector< T, I, R >::updateFreeBlocks | ( | int | startIndex, |
| int | endIndex | ||
| ) |
add a new free block or combine it with free blocks already in the list
References makVrv::DtReusableMemoryVector< T, I, R >::Block::size, and makVrv::DtReusableMemoryVector< T, I, R >::Block::startIndex.
|
protected |
|
protected |
|
protected |