SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
MutexAtomic.h File Reference
#include "swcdb/core/Compat.h"
#include <atomic>
+ Include dependency graph for MutexAtomic.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  SWC::Core::MutexAtomic
 
class  SWC::Core::MutexAtomic::scope
 

Namespaces

 SWC
 The SWC-DB C++ namespace 'SWC'.
 
 SWC::Core
 The SWC-DB Core Components C++ namespace 'SWC::Core'.
 

Macros

#define SWC_LOCK_WITH_SUPPORT(_mutex_, _state_, _code_, _return_)
 

Macro Definition Documentation

◆ SWC_LOCK_WITH_SUPPORT

#define SWC_LOCK_WITH_SUPPORT (   _mutex_,
  _state_,
  _code_,
  _return_ 
)
Value:
if(_state_.try_lock()) { \
_code_; \
_state_.unlock(); \
} else { \
_mutex_.lock(); _state_.lock(); \
_code_; \
_state_.unlock(); _mutex_.unlock(); \
} \
_return_;

Definition at line 107 of file MutexAtomic.h.