13 #ifndef DtLockedBufferedQueue_H_
14 #define DtLockedBufferedQueue_H_
17 #include <vlutil/vlMutex.h>
41 unsigned int push(T value);
47 unsigned int push( std::vector<T>& valueVector );
103 #define DtLockedBufferedQueue_INL_
104 #include <vrvUtil/DtLockedBufferedQueue.inl>
105 #undef DtLockedBufferedQueue_INL_
void nullAllPointers()
Helper function for setting all member pointers to null in both buffers (for reference pointers...
void getForReading(std::vector< T > *&output)
Get a vector for reading.
~DtLockedBufferedQueue()
DTOR If the type T is a pointer memory must be explicitly deleting by iterating throug both vectors c...
void swapBuffers()
Internal function for swapping buffers and clearing the write buffer.
Contains DLL export macros.
unsigned int push(T value)
Add a value to to the buffer.
std::vector< T > myFirstBuffer
Definition: DtLockedBufferedQueue.h:94
A locked buffered queue which allows multiple writers and a single reader.
Definition: DtLockedBufferedQueue.h:27
void deleteAllPointers()
Helper function for deleting all member pointers in both buffers.
DtMutex myBufferMutex
Definition: DtLockedBufferedQueue.h:98
std::vector< T > mySecondBuffer
Definition: DtLockedBufferedQueue.h:95
void clearBuffers()
Helper function to clear all the buffers, if the buffers contain pointers call deleteAllPointers() fi...
std::vector< T > * myCurrentBuffer
Definition: DtLockedBufferedQueue.h:96