Cpp Utilities 1.2.3
Public Member Functions | Friends | List of all members
Memory::RWSpinLock::UpgradedHolder Class Reference

RAII guard for upgrade lock with RWSpinLock::lock_upgrade() on construction and RWSpinLock::unlock_upgrade() on destruction. More...

#include <RWSpinLock.hpp>

Public Member Functions

 UpgradedHolder (RWSpinLock *lock)
 
 UpgradedHolder (RWSpinLock &lock)
 
 UpgradedHolder (WriteHolder &&writer)
 
 UpgradedHolder (UpgradedHolder &&other) noexcept
 
UpgradedHolderoperator= (UpgradedHolder &&other)
 
 UpgradedHolder (const UpgradedHolder &other)=delete
 
UpgradedHolderoperator= (const UpgradedHolder &other)=delete
 
 ~UpgradedHolder ()
 
void reset (RWSpinLock *lock=nullptr)
 
void swap (UpgradedHolder &other)
 

Friends

class WriteHolder
 
class ReadHolder
 

Detailed Description

RAII guard for upgrade lock with RWSpinLock::lock_upgrade() on construction and RWSpinLock::unlock_upgrade() on destruction.

Constructor & Destructor Documentation

◆ UpgradedHolder() [1/5]

Memory::RWSpinLock::UpgradedHolder::UpgradedHolder ( RWSpinLock lock)
inlineexplicit

◆ UpgradedHolder() [2/5]

Memory::RWSpinLock::UpgradedHolder::UpgradedHolder ( RWSpinLock lock)
inlineexplicit

◆ UpgradedHolder() [3/5]

Memory::RWSpinLock::UpgradedHolder::UpgradedHolder ( WriteHolder &&  writer)
inlineexplicit

◆ UpgradedHolder() [4/5]

Memory::RWSpinLock::UpgradedHolder::UpgradedHolder ( UpgradedHolder &&  other)
inlinenoexcept

◆ UpgradedHolder() [5/5]

Memory::RWSpinLock::UpgradedHolder::UpgradedHolder ( const UpgradedHolder other)
delete

◆ ~UpgradedHolder()

Memory::RWSpinLock::UpgradedHolder::~UpgradedHolder ( )
inline

Member Function Documentation

◆ operator=() [1/2]

UpgradedHolder & Memory::RWSpinLock::UpgradedHolder::operator= ( UpgradedHolder &&  other)
inline

◆ operator=() [2/2]

UpgradedHolder & Memory::RWSpinLock::UpgradedHolder::operator= ( const UpgradedHolder other)
delete

◆ reset()

void Memory::RWSpinLock::UpgradedHolder::reset ( RWSpinLock lock = nullptr)
inline

◆ swap()

void Memory::RWSpinLock::UpgradedHolder::swap ( UpgradedHolder other)
inline

Friends And Related Function Documentation

◆ WriteHolder

friend class WriteHolder
friend

◆ ReadHolder

friend class ReadHolder
friend

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