Android-cuttlefish cvd tool
|
#include <thread_safe_queue.h>
Public Types | |
using | QueueImpl = std::deque< T > |
using | QueueFullHandler = std::function< void(QueueImpl *)> |
Public Member Functions | |
ThreadSafeQueue ()=default | |
ThreadSafeQueue (std::size_t max_elements, QueueFullHandler max_elements_handler) | |
T | Pop () |
QueueImpl | PopAll () |
template<typename U > | |
bool | Push (U &&u) |
bool | IsEmpty () |
bool | IsFull () |
Private Member Functions | |
bool | DropItemsIfAtCapacity () |
Private Attributes | |
std::mutex | m_ |
std::size_t | max_elements_ {} |
QueueFullHandler | max_elements_handler_ {} |
std::condition_variable | new_item_ |
QueueImpl | items_ |
using cuttlefish::ThreadSafeQueue< T >::QueueFullHandler = std::function<void(QueueImpl*)> |
using cuttlefish::ThreadSafeQueue< T >::QueueImpl = std::deque<T> |
|
default |
|
inlineexplicit |
|
inlineprivate |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |