Include the header "Dinkum/threads/recursive_mutex" to define the
recursive mutex
classes recursive_mutex, recursive_try_mutex,
and recursive_timed_mutex.
namespace Dinkum {
namespace threads {
class recursive_mutex;
class recursive_try_mutex;
class recursive_timed_mutex;
} // namespace threads
} // namespace Dinkum
recursive_mutexclass recursive_mutex
{
public:
recursive_mutex();
~recursive_mutex();
typedef SL0 scoped_lock;
// exposition only
private:
// not implemented
recursive_mutex(const recursive_mutex&);
recursive_mutex& operator= (const recursive_mutex&);
};
The class describes an object that
can be used with a lock object
to provide a recursive mutex
object. Objects of class recursive_mutex cannot be copied.
recursive_mutex::recursive_mutexrecursive_mutex();
The constructor constructs a mutex in the unlocked state.
recursive_mutex::~recursive_mutex~recursive_mutex();
Precondition: the object must not be locked.
The destructor releases any resources used by the object.
recursive_timed_mutexclass recursive_timed_mutex
{
public:
recursive_timed_mutex();
~recursive_timed_mutex();
typedef SL0 scoped_lock;
typedef SL1 scoped_try_lock;
typedef SL2 scoped_timed_lock;
// exposition only
private:
// not implemented
recursive_timed_mutex(const recursive_timed_mutex&);
recursive_timed_mutex& operator= (const recursive_timed_mutex&);
};
The class describes an object that
can be used with a scoped_lock,
a scoped_try_lock,
or a scoped_timed_lock
to provide a recursive mutex
object that supports test and return
and timeout.
Objects of class recursive_timed_mutex cannot be copied.
recursive_timed_mutex::recursive_timed_mutexrecursive_timed_mutex();
The constructor constructs a recursive_timed_mutex in the unlocked state.
recursive_timed_mutex::~recursive_timed_mutex~recursive_timed_mutex();
Precondition: the object must not be locked.
The destructor releases any resources used by the object.
recursive_try_mutexclass recursive_try_mutex
{
public:
recursive_try_mutex();
~recursive_try_mutex();
typedef SL0 scoped_lock;
typedef SL1 scoped_try_lock;
// exposition only
private:
// not implemented
recursive_try_mutex(const recursive_try_mutex&);
recursive_try_mutex& operator= (const recursive_try_mutex&);
};
The class describes an object that
can be used with a scoped_lock
or a scoped_try_lock
to provide a recursive mutex
object that supports test and return.
Objects of class recursive_try_mutex cannot be copied.
recursive_try_mutex::recursive_try_mutexrecursive_try_mutex();
The constructor constructs a recursive_try_mutex in the unlocked state.
recursive_try_mutex::~recursive_try_mutex~recursive_try_mutex();
Precondition: the object must not be locked.
The destructor releases any resources used by the object.
See also the Table of Contents and the Index.
Copyright © 1992-2013 by Dinkumware, Ltd. Portions derived from work copyright © 2001 by William E. Kempf. All rights reserved.