1 #ifndef TTKCONCURRENTQUEUE_H
2 #define TTKCONCURRENTQUEUE_H
23 #include <condition_variable>
46 inline void push(
const T &record)
48 std::lock_guard<std::mutex> lock(
m_mutex);
56 inline bool pop(
T &record,
bool is_blocked =
true)
61 std::unique_lock<std::mutex> lock(
m_mutex);
69 std::lock_guard<std::mutex> lock(
m_mutex);
76 record = std::move(
m_queue.front());
86 std::lock_guard<std::mutex> lock(
m_mutex);
95 std::lock_guard<std::mutex> lock(
m_mutex);
115 #endif // TTKCONCURRENTQUEUE_H
The class of the concurrent queue.
void swap(TTKAny &left, TTKAny &right) noexcept
void push(const T &record)
std::condition_variable m_condition
bool pop(T &record, bool is_blocked=true)