Diligent Engine  v.2.4.g
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
ThreadingTools::LockHelper Class Reference

#include <LockHelper.hpp>

Public Member Functions

 LockHelper () noexcept
 
 LockHelper (LockFlag &LockFlag) noexcept
 
 LockHelper (LockHelper &&LockHelper) noexcept
 
const LockHelperoperator= (LockHelper &&LockHelper) noexcept
 
 ~LockHelper ()
 
bool TryLock (LockFlag &LockFlag) noexcept
 
void Lock (LockFlag &LockFlag, int SpinCountToYield=DefaultSpinCountToYield) noexcept
 
void Unlock () noexcept
 

Static Public Member Functions

static bool UnsafeTryLock (LockFlag &LockFlag) noexcept
 
static void UnsafeLock (LockFlag &LockFlag, int SpinCountToYield=DefaultSpinCountToYield) noexcept
 
static void UnsafeUnlock (LockFlag &LockFlag) noexcept
 

Static Public Attributes

static constexpr const int DefaultSpinCountToYield = 256
 

Constructor & Destructor Documentation

◆ LockHelper() [1/3]

ThreadingTools::LockHelper::LockHelper ( )
inlinenoexcept

◆ LockHelper() [2/3]

ThreadingTools::LockHelper::LockHelper ( LockFlag LockFlag)
inlinenoexcept

◆ LockHelper() [3/3]

ThreadingTools::LockHelper::LockHelper ( LockHelper &&  LockHelper)
inlinenoexcept

◆ ~LockHelper()

ThreadingTools::LockHelper::~LockHelper ( )
inline

Member Function Documentation

◆ Lock()

void ThreadingTools::LockHelper::Lock ( LockFlag LockFlag,
int  SpinCountToYield = DefaultSpinCountToYield 
)
inlinenoexcept

◆ operator=()

const LockHelper& ThreadingTools::LockHelper::operator= ( LockHelper &&  LockHelper)
inlinenoexcept

◆ TryLock()

bool ThreadingTools::LockHelper::TryLock ( LockFlag LockFlag)
inlinenoexcept

◆ Unlock()

void ThreadingTools::LockHelper::Unlock ( )
inlinenoexcept

◆ UnsafeLock()

static void ThreadingTools::LockHelper::UnsafeLock ( LockFlag LockFlag,
int  SpinCountToYield = DefaultSpinCountToYield 
)
inlinestaticnoexcept

◆ UnsafeTryLock()

static bool ThreadingTools::LockHelper::UnsafeTryLock ( LockFlag LockFlag)
inlinestaticnoexcept

◆ UnsafeUnlock()

static void ThreadingTools::LockHelper::UnsafeUnlock ( LockFlag LockFlag)
inlinestaticnoexcept

Member Data Documentation

◆ DefaultSpinCountToYield

constexpr const int ThreadingTools::LockHelper::DefaultSpinCountToYield = 256
staticconstexpr

The documentation for this class was generated from the following files: