// License: Modified MIT (NON-AI) // See the LICENSE file in the root directory for license information. // Copyright 2025 Timothy Prepscius #pragma once namespace tjp::core { template class TryLockGuard { public: T &m; bool locked = false; explicit TryLockGuard(T &m_) : m(m_) { locked = m.try_lock(); } ~TryLockGuard() { if (locked) m.unlock(); } operator bool() const { return locked; } }; } // namespace