#ifndef __LOCK_FREE_QUEUE_IMPL_H__
|
#define __LOCK_FREE_QUEUE_IMPL_H__
|
|
#include <assert.h> // assert()
|
|
template <
|
typename ELEM_T,
|
template <typename T> class Q_TYPE>
|
LockFreeQueue<ELEM_T, Q_TYPE>::LockFreeQueue(size_t qsize):
|
m_qImpl(qsize)
|
{
|
}
|
|
template <
|
typename ELEM_T,
|
template <typename T> class Q_TYPE>
|
LockFreeQueue<ELEM_T, Q_TYPE>::~LockFreeQueue()
|
{
|
}
|
|
template <
|
typename ELEM_T,
|
template <typename T> class Q_TYPE>
|
inline uint32_t LockFreeQueue<ELEM_T, Q_TYPE>::size()
|
{
|
return m_qImpl.size();
|
}
|
|
template <
|
typename ELEM_T,
|
template <typename T> class Q_TYPE>
|
inline bool LockFreeQueue<ELEM_T, Q_TYPE>::full()
|
{
|
return m_qImpl.full();
|
}
|
|
template <
|
typename ELEM_T,
|
template <typename T> class Q_TYPE>
|
inline bool LockFreeQueue<ELEM_T, Q_TYPE>::push(const ELEM_T &a_data)
|
{
|
return m_qImpl.push(a_data);
|
}
|
|
template <
|
typename ELEM_T,
|
template <typename T> class Q_TYPE>
|
inline bool LockFreeQueue<ELEM_T, Q_TYPE>::pop(ELEM_T &a_data)
|
{
|
return m_qImpl.pop(a_data);
|
}
|
|
#endif // __LOCK_FREE_QUEUE_IMPL_H__
|