24 #ifndef __CORE_UTILS_LOCK_QUEUE_H_ 25 #define __CORE_UTILS_LOCK_QUEUE_H_ 27 #include <core/threading/mutex.h> 28 #include <core/utils/refptr.h> 42 template <
typename Type>
96 template <
typename Type>
98 : __mutex(new
Mutex())
102 template <
typename Type>
104 :
std::queue<Type>::queue(ll), __mutex(new
Mutex())
108 template <
typename Type>
113 template <
typename Type>
121 template <
typename Type>
129 template <
typename Type>
137 template <
typename Type>
142 std::queue<Type>::push(x);
147 template <
typename Type>
152 std::queue<Type>::pop();
156 template <
typename Type>
161 while ( ! std::queue<Type>::empty() ) {
162 std::queue<Type>::pop();
void clear()
Clear the queue.
bool try_lock() const
Try to lock queue.
void unlock() const
Unlock list.
Fawkes library namespace.
RefPtr< Mutex > mutex() const
Get access to the internal mutex.
virtual ~LockQueue()
Destructor.
void pop_locked()
Pop element from queue with lock protection.
RefPtr<> is a reference-counting shared smartpointer.
void push_locked(const Type &x)
Push element to queue with lock protection.
void lock() const
Lock queue.
Mutex mutual exclusion lock.