glibmm: Glib::Threads::Mutex::Lock Class Reference

Utility class for exception-safe mutex locking. More...

#include <glibmm/threads.h>

Public Member Functions

Lock ( Mutex & mutex)
Lock ( Mutex & mutex, NotLock )
Lock ( Mutex & mutex, TryLock )
Lock (const Mutex::Lock &)=delete
Mutex::Lock & operator= (const Mutex::Lock &)=delete
~Lock ()
void acquire ()
bool try_acquire ()
void release ()
bool locked () const

Detailed Description

Utility class for exception-safe mutex locking.

Usage example:
{
Glib::Threads::Mutex::Lock lock (mutex); // calls mutex.lock()
do_something();
} // the destructor calls mutex.unlock()
As you can see, the compiler takes care of the unlocking. This is not only exception-safe but also much less error-prone. You could even return while still holding the lock and it will be released properly.
Deprecated:
Please use std::lock_guard or std::unique_lock instead.

Constructor & Destructor Documentation

Glib::Threads::Mutex::Lock::Lock ( Mutex & mutex )
inline explicit
Glib::Threads::Mutex::Lock::Lock ( Mutex & mutex ,
NotLock
)
inline
Glib::Threads::Mutex::Lock::Lock ( Mutex & mutex ,
TryLock
)
inline
Glib::Threads::Mutex::Lock::Lock ( const Mutex::Lock & )
delete
Glib::Threads::Mutex::Lock::~Lock ( )
inline

Member Function Documentation

void Glib::Threads::Mutex::Lock::acquire ( )
inline
bool Glib::Threads::Mutex::Lock::locked ( ) const
inline
Mutex::Lock & Glib::Threads::Mutex::Lock::operator= ( const Mutex::Lock & )
delete
void Glib::Threads::Mutex::Lock::release ( )
inline
bool Glib::Threads::Mutex::Lock::try_acquire ( )
inline