Files
XCEngine/engine/include/XCEngine/Threading/Mutex.h

27 lines
513 B
C
Raw Normal View History

#pragma once
#include <mutex>
namespace XCEngine {
namespace Threading {
class Mutex {
public:
Mutex() = default;
~Mutex() = default;
void Lock() { m_mutex.lock(); }
void Unlock() { m_mutex.unlock(); }
bool TryLock() { return m_mutex.try_lock(); }
void lock() const { m_mutex.lock(); }
void unlock() const { m_mutex.unlock(); }
bool try_lock() const { return m_mutex.try_lock(); }
private:
mutable std::mutex m_mutex;
};
} // namespace Threading
} // namespace XCEngine