32 std::lock_guard<std::mutex> lock(m_mutex);
33 return m_queue.size();
37 std::lock_guard<std::mutex> lock(m_mutex);
38 return m_queue.empty();
42 std::lock_guard<std::mutex> lock(m_mutex);
43 return m_queue.front();
46 void push(
const T& value) {
47 std::lock_guard<std::mutex> lock(m_mutex);
52 std::lock_guard<std::mutex> lock(m_mutex);
57 std::queue<T> m_queue;
58 mutable std::mutex m_mutex;