OmniSciDB  a5dc49c757
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
lockmgr::TrackedRefLock< LOCK > Class Template Reference

#include <LockMgrImpl.h>

+ Collaboration diagram for lockmgr::TrackedRefLock< LOCK >:

Public Member Functions

 TrackedRefLock (MutexTracker *m)
 
 TrackedRefLock (TrackedRefLock &&other)
 
 TrackedRefLock (const TrackedRefLock &)=delete
 
TrackedRefLockoperator= (const TrackedRefLock &)=delete
 

Static Private Member Functions

static MutexTrackercheckPointer (MutexTracker *m)
 

Private Attributes

MutexTrackermutex_
 
LOCK lock_
 

Detailed Description

template<typename LOCK>
class lockmgr::TrackedRefLock< LOCK >

Definition at line 63 of file LockMgrImpl.h.

Constructor & Destructor Documentation

template<typename LOCK >
lockmgr::TrackedRefLock< LOCK >::TrackedRefLock ( MutexTracker m)
inline

Definition at line 68 of file LockMgrImpl.h.

68 : mutex_(checkPointer(m)), lock_(*mutex_) {}
MutexTracker * mutex_
Definition: LockMgrImpl.h:79
static MutexTracker * checkPointer(MutexTracker *m)
Definition: LockMgrImpl.h:82
template<typename LOCK >
lockmgr::TrackedRefLock< LOCK >::TrackedRefLock ( TrackedRefLock< LOCK > &&  other)
inline

Definition at line 70 of file LockMgrImpl.h.

71  : mutex_(other.mutex_), lock_(std::move(other.lock_)) {
72  other.mutex_ = nullptr;
73  }
MutexTracker * mutex_
Definition: LockMgrImpl.h:79
template<typename LOCK >
lockmgr::TrackedRefLock< LOCK >::TrackedRefLock ( const TrackedRefLock< LOCK > &  )
delete

Member Function Documentation

template<typename LOCK >
static MutexTracker* lockmgr::TrackedRefLock< LOCK >::checkPointer ( MutexTracker m)
inlinestaticprivate

Definition at line 82 of file LockMgrImpl.h.

References CHECK.

82  {
83  CHECK(m);
84  return m;
85  }
#define CHECK(condition)
Definition: Logger.h:291
template<typename LOCK >
TrackedRefLock& lockmgr::TrackedRefLock< LOCK >::operator= ( const TrackedRefLock< LOCK > &  )
delete

Member Data Documentation

template<typename LOCK >
LOCK lockmgr::TrackedRefLock< LOCK >::lock_
private

Definition at line 80 of file LockMgrImpl.h.

template<typename LOCK >
MutexTracker* lockmgr::TrackedRefLock< LOCK >::mutex_
private

Definition at line 79 of file LockMgrImpl.h.


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