BRE12
Public Member Functions | List of all members
tbb::queuing_rw_mutex::scoped_lock Class Reference

The scoped locking pattern. More...

#include <queuing_rw_mutex.h>

Inheritance diagram for tbb::queuing_rw_mutex::scoped_lock:

Public Member Functions

 scoped_lock ()
 Construct lock that has not acquired a mutex. More...
 
 scoped_lock (queuing_rw_mutex &m, bool write=true)
 Acquire lock on given mutex.
 
 ~scoped_lock ()
 Release lock (if lock is held).
 
void acquire (queuing_rw_mutex &m, bool write=true)
 Acquire lock on given mutex.
 
bool try_acquire (queuing_rw_mutex &m, bool write=true)
 Acquire lock on given mutex if free (i.e. non-blocking)
 
void release ()
 Release lock.
 
bool upgrade_to_writer ()
 Upgrade reader to become a writer. More...
 
bool downgrade_to_reader ()
 Downgrade writer to become a reader.
 

Detailed Description

The scoped locking pattern.

It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks.

Constructor & Destructor Documentation

§ scoped_lock()

tbb::queuing_rw_mutex::scoped_lock::scoped_lock ( )
inline

Construct lock that has not acquired a mutex.

Equivalent to zero-initialization of *this.

Member Function Documentation

§ upgrade_to_writer()

bool tbb::queuing_rw_mutex::scoped_lock::upgrade_to_writer ( )

Upgrade reader to become a writer.

Returns whether the upgrade happened without releasing and re-acquiring the lock


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