library/utility/concurrent_queue.hh¶
-
namespace
scarab
¶ The standard scarab namespace.
Functions
-
scarab::LOGGER(slog_cq, "concurrent_queue")
- template <class XDataType>
-
class
concurrent_queue
¶ - #include <concurrent_queue.hh>
Public Functions
-
concurrent_queue
()¶
-
virtual
~concurrent_queue
()¶
-
void
push
(XDataType const &a_data)¶
-
bool
empty
() const¶
-
bool
size
() const¶
-
bool
try_pop
(XDataType &a_popped_value)¶
-
bool
wait_and_pop
(XDataType &a_popped_value)¶
-
bool
timed_wait_and_pop
(XDataType &a_popped_value)¶
-
void
interrupt
()¶
-
unsigned
get_timeout
() const¶
-
void
set_timeout
(unsigned a_duration)¶
Private Members
-
bool
f_interrupt
¶
-
std::chrono::milliseconds
f_timeout
¶
-
std::mutex
f_mutex
¶ Timeout duration in milliseconds.
-
std::condition_variable
f_condition_var
¶
-
struct
queue_not_empty
¶ - #include <concurrent_queue.hh>
-
-