CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::Relocker< Lock > Struct Template Reference

An object that temporarily unlocks a lock. More...

#include <CeresEngine/Foundation/Threading/Threading.hpp>

Public Member Functions

 Relocker (Lock &lock)
 Construct a relocker.
 
 Relocker (const Relocker &)=delete
 Copy constructor is deleted.
 
 Relocker (Relocker &&other) noexcept=delete
 
Relockeroperator= (const Relocker &)=delete
 Copy assignment is deleted.
 
Relockeroperator= (Relocker &&other) noexcept=delete
 
 ~Relocker ()
 Destroy the relocker.
 
void lock ()
 Lock the underlying lock.
 

Public Attributes

LockmLock
 The underlying lock.
 

Detailed Description

template<typename Lock>
struct CeresEngine::Relocker< Lock >

An object that temporarily unlocks a lock.

Constructor & Destructor Documentation

◆ Relocker() [1/3]

template<typename Lock >
CeresEngine::Relocker< Lock >::Relocker ( Lock lock)
inlineexplicit

Construct a relocker.

A relocker keeps a temporary reference to the lock and immediately unlocks it

Parameters
lockReference to underlying lock.

◆ Relocker() [2/3]

template<typename Lock >
CeresEngine::Relocker< Lock >::Relocker ( const Relocker< Lock > &  )
delete

Copy constructor is deleted.

◆ Relocker() [3/3]

template<typename Lock >
CeresEngine::Relocker< Lock >::Relocker ( Relocker< Lock > &&  other)
deletenoexcept

◆ ~Relocker()

template<typename Lock >
CeresEngine::Relocker< Lock >::~Relocker ( )
inline

Destroy the relocker.

The relocker locks the underlying lock when it's done

Member Function Documentation

◆ lock()

template<typename Lock >
void CeresEngine::Relocker< Lock >::lock ( )
inline

Lock the underlying lock.

◆ operator=() [1/2]

Copy assignment is deleted.

◆ operator=() [2/2]

template<typename Lock >
Relocker & CeresEngine::Relocker< Lock >::operator= ( Relocker< Lock > &&  other)
deletenoexcept

Member Data Documentation

◆ mLock

template<typename Lock >
Lock& CeresEngine::Relocker< Lock >::mLock

The underlying lock.


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