RAII-style mutex

This commit is contained in:
dario
2024-05-24 16:27:53 +02:00
parent e186eb757c
commit e5c4b9a6cc
2 changed files with 27 additions and 0 deletions

View File

@@ -5,9 +5,16 @@
#ifndef STA_CORE_MUTEX_HPP
#define STA_CORE_MUTEX_HPP
#include <mutex>
namespace sta
{
/**
* @brief Hippity hoppity, this is now namespace sta's property.
*/
using std::lock_guard;
/**
* @brief Interface for mutex objects.
*
@@ -25,6 +32,16 @@ namespace sta
*/
virtual void release() = 0;
/**
* @brief Identical to acquire(). Added for compatibility with std::lock_guard.
*/
void lock();
/**
* @brief Identical to release(). Added for compatibility with std::lock_guard.
*/
void unlock();
static Mutex * ALWAYS_FREE; /**< Fake mutex that can always be acquired */
};
} // namespace sta