|
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 (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_ |
| 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 |