kwave
18.07.70
|
#include <FixedPool.h>
Public Member Functions | |
FixedPool () | |
virtual | ~FixedPool () |
T * | allocate () |
void | release (T *element) |
Private Attributes | |
T | m_storage [SIZE] |
QQueue< T * > | m_free_queue |
QSemaphore | m_sem_free |
QMutex | m_lock |
Definition at line 30 of file FixedPool.h.
|
inline |
|
inlinevirtual |
|
inline |
Allocate an element from the pool
Definition at line 48 of file FixedPool.h.
|
inline |
Release an element and put it back into the pool
element | pointer to an element |
Definition at line 60 of file FixedPool.h.
Referenced by Kwave::FixedPool< MAX_FFT_JOBS, Kwave::SonagramPlugin::Slice >::FixedPool().
|
private |
queue with free elements
Definition at line 71 of file FixedPool.h.
Referenced by Kwave::FixedPool< MAX_FFT_JOBS, Kwave::SonagramPlugin::Slice >::allocate(), and Kwave::FixedPool< MAX_FFT_JOBS, Kwave::SonagramPlugin::Slice >::release().
|
private |
lock for protecting the m_free_queue
Definition at line 77 of file FixedPool.h.
Referenced by Kwave::FixedPool< MAX_FFT_JOBS, Kwave::SonagramPlugin::Slice >::allocate(), and Kwave::FixedPool< MAX_FFT_JOBS, Kwave::SonagramPlugin::Slice >::release().
|
private |
semaphore for counting available elements
Definition at line 74 of file FixedPool.h.
Referenced by Kwave::FixedPool< MAX_FFT_JOBS, Kwave::SonagramPlugin::Slice >::allocate(), and Kwave::FixedPool< MAX_FFT_JOBS, Kwave::SonagramPlugin::Slice >::release().
|
private |
array used as storage for the pool elements
Definition at line 68 of file FixedPool.h.
Referenced by Kwave::FixedPool< MAX_FFT_JOBS, Kwave::SonagramPlugin::Slice >::FixedPool().