123456789101112131415161718192021222324252627 |
- #ifndef CORE_MUTEX_HPP
- #define CORE_MUTEX_HPP
- #include "core/utils/AlignedData.hpp"
- #include "core/utils/Check.hpp"
- #include "core/utils/Error.hpp"
- namespace Core {
- class Mutex final {
- AlignedData<40, 8> mutex;
- public:
- Mutex();
- Mutex(const Mutex& other) = delete;
- Mutex(Mutex&& other) = delete;
- ~Mutex();
- Mutex& operator=(const Mutex& other) = delete;
- Mutex& operator=(Mutex&& other) = delete;
- check_return Error init();
- check_return Error lock();
- check_return Error unlock();
- };
- }
- #endif
|