AthContainers_detail::upgrading_lock< LOCKABLE > Class Template Reference

Lock object for taking out upgradable locks. More...

#include <threading.h>

List of all members.

Public Types

typedef LOCKABLE lockable_type
 The underlying object type.

Public Member Functions

 upgrading_lock (lockable_type &obj)
 Take out an upgrade lock on obj and remember it.
 ~upgrading_lock ()
 Release the held lock.
void upgrade ()
 Convert the lock from upgrade to exclusive.

Detailed Description

template<class LOCKABLE>
class AthContainers_detail::upgrading_lock< LOCKABLE >

Lock object for taking out upgradable locks.

The will first be taken out in upgrade mode. If upgrade() is called, then the lock will be upgraded to exclusive mode. When this object is destroyed, the object will be unlocked for either upgrade or exclusive mode, as appropriate.


Constructor & Destructor Documentation

template<typename LOCKABLE >
AthContainers_detail::upgrading_lock< LOCKABLE >::upgrading_lock ( lockable_type obj  )  [inline, explicit]

Take out an upgrade lock on obj and remember it.

Parameters:
obj The lockable object.

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 1 Dec 2017 for RootCore Packages by  doxygen 1.6.1