mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-08-18 06:55:48 +03:00
Try fix plugin reload while loading.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#ifndef EE_SYSTEM_SCOPEDOP_HPP
|
||||
#define EE_SYSTEM_SCOPEDOP_HPP
|
||||
|
||||
#include <atomic>
|
||||
#include <functional>
|
||||
|
||||
namespace EE { namespace System {
|
||||
@@ -36,6 +37,21 @@ class BoolScopedOp {
|
||||
bool& boolRef;
|
||||
};
|
||||
|
||||
class AtomicBoolScopedOp {
|
||||
public:
|
||||
explicit AtomicBoolScopedOp( std::atomic<bool>& boolRef ) : boolRef( boolRef ) {}
|
||||
|
||||
explicit AtomicBoolScopedOp( std::atomic<bool>& boolRef, bool initialVal ) :
|
||||
boolRef( boolRef ) {
|
||||
boolRef = initialVal;
|
||||
}
|
||||
|
||||
~AtomicBoolScopedOp() { boolRef = !boolRef; }
|
||||
|
||||
private:
|
||||
std::atomic<bool>& boolRef;
|
||||
};
|
||||
|
||||
class BoolScopedOpOptional {
|
||||
public:
|
||||
explicit BoolScopedOpOptional( bool cond, bool& boolRef ) : cond( cond ), boolRef( boolRef ) {}
|
||||
|
||||
Reference in New Issue
Block a user