28 lines
350 B
C++
Executable File
28 lines
350 B
C++
Executable File
// 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<typename T>
|
|
class UnlockGuard
|
|
{
|
|
public:
|
|
T &m;
|
|
|
|
explicit UnlockGuard(T &m_) :
|
|
m(m_)
|
|
{
|
|
m.unlock();
|
|
}
|
|
|
|
~UnlockGuard()
|
|
{
|
|
m.lock();
|
|
}
|
|
};
|
|
|
|
} // namespace
|