![]() |
GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
|
![]() |
Template for all queues used to send data from one thread/loop to the next.
Definition at line 28 of file ThreadsafeQueue.h.
Public Member Functions | |
ThreadsafeQueue (const ThreadsafeQueue &)=default | |
ThreadsafeQueue (std::string name="default", size_t maxSize=100000) | |
ThreadsafeQueue (ThreadsafeQueue &&) noexcept=default | |
~ThreadsafeQueue ()=default | |
bool | IsFinished () const |
size_t | ItemsPopped () const |
size_t | ItemsPushed () const |
std::string | Name () |
ThreadsafeQueue & | operator= (const ThreadsafeQueue &)=default |
ThreadsafeQueue & | operator= (ThreadsafeQueue &&) noexcept=default |
size_t | Pop (T &output, int millisecond_wait=1000) |
int | Push (T obj) |
void | SetFinished (bool finished=true) |
size_t | Size () const |
Private Attributes | |
std::condition_variable | can_pop |
std::condition_variable | can_push |
std::string | fName |
std::atomic_bool | is_finished |
size_t | items_in_queue {0} |
size_t | items_popped {0} |
size_t | items_pushed {0} |
size_t | max_queue_size {100000} |
std::mutex | mutex |
std::atomic_int | num_writers {0} |
std::queue< T > | queue |
|
explicit |
Definition at line 72 of file ThreadsafeQueue.h.
|
default |
|
defaultnoexcept |
|
default |
bool ThreadsafeQueue< T >::IsFinished | ( | ) | const |
Definition at line 138 of file ThreadsafeQueue.h.
size_t ThreadsafeQueue< T >::ItemsPopped | ( | ) | const |
Definition at line 131 of file ThreadsafeQueue.h.
size_t ThreadsafeQueue< T >::ItemsPushed | ( | ) | const |
Definition at line 124 of file ThreadsafeQueue.h.
|
inline |
Definition at line 44 of file ThreadsafeQueue.h.
References ThreadsafeQueue< T >::fName.
|
default |
|
defaultnoexcept |
size_t ThreadsafeQueue< T >::Pop | ( | T & | output, |
int | millisecond_wait = 1000 ) |
Definition at line 94 of file ThreadsafeQueue.h.
int ThreadsafeQueue< T >::Push | ( | T | obj | ) |
Definition at line 78 of file ThreadsafeQueue.h.
void ThreadsafeQueue< T >::SetFinished | ( | bool | finished = true | ) |
Definition at line 144 of file ThreadsafeQueue.h.
size_t ThreadsafeQueue< T >::Size | ( | ) | const |
Definition at line 117 of file ThreadsafeQueue.h.
|
private |
Definition at line 56 of file ThreadsafeQueue.h.
|
private |
Definition at line 55 of file ThreadsafeQueue.h.
|
private |
Definition at line 52 of file ThreadsafeQueue.h.
Referenced by ThreadsafeQueue< T >::Name().
|
private |
Definition at line 66 of file ThreadsafeQueue.h.
|
private |
Definition at line 62 of file ThreadsafeQueue.h.
|
private |
Definition at line 64 of file ThreadsafeQueue.h.
Referenced by pygui.status_widget.ThreadVars::Update().
|
private |
Definition at line 63 of file ThreadsafeQueue.h.
Referenced by pygui.status_widget.ThreadVars::Update().
|
private |
Definition at line 60 of file ThreadsafeQueue.h.
|
mutableprivate |
Definition at line 53 of file ThreadsafeQueue.h.
|
private |
Definition at line 58 of file ThreadsafeQueue.h.
|
private |
Definition at line 54 of file ThreadsafeQueue.h.