The Gaudi Framework  v29r0 (ff2e7097)
LockedHandle< T, MutexType >::ConstGuard Class Reference

#include <GaudiKernel/LockedHandle.h>

Public Member Functions

 ConstGuard (ConstGuard &&a)
 
 ConstGuard (const T *ptr, MutexType &mutex)
 
 ~ConstGuard ()
 
const T & operator* () const
 
const T * operator-> () const
 
 operator const T & () const
 

Private Member Functions

 ConstGuard (const ConstGuard &a)=delete
 

Private Attributes

const T * m_ptr
 
MutexType * m_mutex
 

Detailed Description

template<class T, class MutexType = std::mutex>
class LockedHandle< T, MutexType >::ConstGuard

Definition at line 65 of file LockedHandle.h.

Constructor & Destructor Documentation

template<class T, class MutexType = std::mutex>
LockedHandle< T, MutexType >::ConstGuard::ConstGuard ( const ConstGuard a)
privatedelete
template<class T, class MutexType = std::mutex>
LockedHandle< T, MutexType >::ConstGuard::ConstGuard ( ConstGuard &&  a)
inline

Definition at line 70 of file LockedHandle.h.

70 : m_ptr( a.m_ptr ), m_mutex( a.m_mutex ) { a.m_mutex = nullptr; }
template<class T, class MutexType = std::mutex>
LockedHandle< T, MutexType >::ConstGuard::ConstGuard ( const T *  ptr,
MutexType &  mutex 
)
inline

Definition at line 72 of file LockedHandle.h.

72 : m_ptr( ptr ), m_mutex( &mutex ) { m_mutex->lock(); }
template<class T, class MutexType = std::mutex>
LockedHandle< T, MutexType >::ConstGuard::~ConstGuard ( )
inline

Definition at line 73 of file LockedHandle.h.

73 { m_mutex->unlock(); }

Member Function Documentation

template<class T, class MutexType = std::mutex>
LockedHandle< T, MutexType >::ConstGuard::operator const T & ( ) const
inline

Definition at line 77 of file LockedHandle.h.

77 { return *m_ptr; }
template<class T, class MutexType = std::mutex>
const T& LockedHandle< T, MutexType >::ConstGuard::operator* ( ) const
inline

Definition at line 74 of file LockedHandle.h.

74 { return *m_ptr; }
template<class T, class MutexType = std::mutex>
const T* LockedHandle< T, MutexType >::ConstGuard::operator-> ( ) const
inline

Definition at line 75 of file LockedHandle.h.

75 { return m_ptr; }

Member Data Documentation

template<class T, class MutexType = std::mutex>
MutexType* LockedHandle< T, MutexType >::ConstGuard::m_mutex
private

Definition at line 81 of file LockedHandle.h.

template<class T, class MutexType = std::mutex>
const T* LockedHandle< T, MutexType >::ConstGuard::m_ptr
private

Definition at line 80 of file LockedHandle.h.


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