12 #if _MSC_VER < 1400 // MSVC++ 8.0 2005
13 #define LOCKFREEQUEUE_UNSUPPORTED
17 #ifndef LOCKFREEQUEUE_UNSUPPORTED
21 #ifdef DtUSE_UTILITIES_NAMESPACE
22 namespace DtUSE_UTILITIES_NAMESPACE
36 bool _push(
void*
const & t);
38 size_t _pop(
void* & ret);
45 size_t _read_available()
const;
50 size_t _write_available()
const;
77 inline bool push(T
const & t)
79 return _push(reinterpret_cast<void*>(t));
82 inline size_t pop(T & ret)
84 return _pop(reinterpret_cast<void* &>(ret));
97 return _read_available();
105 return _write_available();
113 return size() - writeAvailableForProduction();
118 #ifdef DtUSE_UTILITIES_NAMESPACE
size_t size() const
Definition: vlLockfreeQueue.h:72
bool empty(void)
Definition: vlLockfreeQueue.h:87
Definition: vlLockfreeQueue.h:27
Definition: vlLockfreeQueue.h:58
size_t writtenAvailableForConsumption() const
get number of elements that are not available for writing return potential number of available elemen...
Definition: vlLockfreeQueue.h:111
bool push(T const &t)
Definition: vlLockfreeQueue.h:77
size_t readAvailableForConsumption() const
get number of elements that are available for read return number of available elements that can be po...
Definition: vlLockfreeQueue.h:95
size_t pop(T &ret)
Definition: vlLockfreeQueue.h:82
size_t writeAvailableForProduction() const
get write space to write elements return number of elements that can be pushed to the spsc_queue note...
Definition: vlLockfreeQueue.h:103
size_t mySize
Definition: vlLockfreeQueue.h:54
~DtLockfreeQueue()
Definition: vlLockfreeQueue.h:67
void * myQueue
Definition: vlLockfreeQueue.h:53
DtLockfreeQueue(size_t sizeToUse)
Definition: vlLockfreeQueue.h:63
This file contains typedefs for machine dependant types.
#define DT_DLL_VLUTIL
Definition: vlMachineTypes.h:109