#ifndef CORE_MUTEX_HPP #define CORE_MUTEX_HPP #include #include "core/utils/Check.hpp" #include "core/utils/Error.hpp" namespace Core { class Mutex final { mtx_t mutex; public: Mutex(); Mutex(const Mutex& other) = delete; Mutex(Mutex&& other) = delete; ~Mutex(); Mutex& operator=(const Mutex& other) = delete; Mutex& operator=(Mutex&& other) = delete; cbool init(); cbool lock(); cbool unlock(); }; } #endif