1
0
forked from Alepha/Alepha

Some thread interruption defensiveness.

This commit is contained in:
2023-12-13 00:10:05 -05:00
parent c04fc7be3c
commit 7225a7759c
2 changed files with 32 additions and 4 deletions

28
Utility/ScopedState.h Normal file
View File

@ -0,0 +1,28 @@
static_assert( __cplusplus > 2020'00 );
#pragma once
#include <Alepha/Alepha.h>
#include <boost/noncopyable.hpp>
namespace Alepha::Hydrogen::Utility ::detail:: ScopedState_m
{
inline namespace exports
{
class ScopedState : boost::noncopyable
{
private:
bool &state;
public:
~ScopedState() { state= false; }
explicit ScopedState( bool &state ) : state( state ) { state= true; }
};
}
}
namespace Alepha::Hydrogen::Utility::inline exports::inline ScopedState_m
{
using namespace detail::ScopedState_m::exports;
}