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

RAII guard for read lock with RWSpinLock::lock_shared() on construction and RWSpinLock::unlock_shared() on destruction. More...

#include <RWSpinLock.hpp>

Public Member Functions

 ReadHolder (RWSpinLock *lock)
 
 ReadHolder (RWSpinLock &lock)
 
 ReadHolder (ReadHolder &&other) noexcept
 
 ReadHolder (UpgradedHolder &&upgraded)
 down-grade More...
 
 ReadHolder (WriteHolder &&writer)
 
ReadHolderoperator= (ReadHolder &&other)
 
 ReadHolder (const ReadHolder &other)=delete
 
ReadHolderoperator= (const ReadHolder &other)=delete
 
 ~ReadHolder ()
 
void reset (RWSpinLock *lock=nullptr)
 
void swap (ReadHolder &other)
 

Friends

class UpgradedHolder
 
class WriteHolder
 

Detailed Description

RAII guard for read lock with RWSpinLock::lock_shared() on construction and RWSpinLock::unlock_shared() on destruction.

Constructor & Destructor Documentation

◆ ReadHolder() [1/6]

Memory::RWSpinLock::ReadHolder::ReadHolder ( RWSpinLock lock)
inlineexplicit

◆ ReadHolder() [2/6]

Memory::RWSpinLock::ReadHolder::ReadHolder ( RWSpinLock lock)
inlineexplicit

◆ ReadHolder() [3/6]

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

◆ ReadHolder() [4/6]

Memory::RWSpinLock::ReadHolder::ReadHolder ( UpgradedHolder &&  upgraded)
inlineexplicit

down-grade

◆ ReadHolder() [5/6]

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

◆ ReadHolder() [6/6]

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

◆ ~ReadHolder()

Memory::RWSpinLock::ReadHolder::~ReadHolder ( )
inline

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ reset()

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

◆ swap()

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

Friends And Related Function Documentation

◆ UpgradedHolder

friend class UpgradedHolder
friend

◆ WriteHolder

friend class WriteHolder
friend

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