OmniSciDB  72c90bc290
 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 115 of file LockMgrImpl.h.

Constructor & Destructor Documentation

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

Definition at line 120 of file LockMgrImpl.h.

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

Definition at line 122 of file LockMgrImpl.h.

123  : mutex_(other.mutex_), lock_(std::move(other.lock_)) {
124  other.mutex_ = nullptr;
125  }
MutexTracker * mutex_
Definition: LockMgrImpl.h:131
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 134 of file LockMgrImpl.h.

References CHECK.

134  {
135  CHECK(m);
136  return m;
137  }
#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 132 of file LockMgrImpl.h.

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

Definition at line 131 of file LockMgrImpl.h.


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