9 #include <condition_variable>
12 namespace Synchronization {
28 std::condition_variable m_condition;
29 unsigned long m_count = 0;
34 std::unique_lock<decltype(m_mutex)> lock(m_mutex);
36 m_condition.notify_one();
41 std::unique_lock<decltype(m_mutex)> lock(m_mutex);
43 m_condition.wait(lock);
49 std::unique_lock<decltype(m_mutex)> lock(m_mutex);
61 template <
typename LockType>