library: libCore #include "TVirtualMutex.h"

# TLockGuard

class description - source file - inheritance tree (.pdf)

## class TLockGuard

| Inheritance Chart:

`TLockGuard`

        public:

                          TLockGuard(TVirtualMutex* mutex)
                          TLockGuard(const TLockGuard&)
                  virtual ~TLockGuard()
           static TClass* Class()
          virtual TClass* IsA() const
              TLockGuard& operator=(const TLockGuard&)
             virtual void ShowMembers(TMemberInspector& insp, char* parent)
             virtual void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)

### Data Members

        private:

          TVirtualMutex* fMutex

## Class Description

     TVirtualMutex

     This class implements a mutex interface. The actual work is done via
     TMutex which is available as soon as the thread library is loaded.

     and

     TLockGuard

     This class provides mutex resource management in a guaranteed and
     exception safe way. Use like this:
     {
        TLockGuard guard(mutex);
        ... // do something
     }
     when guard goes out of scope the mutex is unlocked in the TLockGuard
     destructor. The exception mechanism takes care of calling the dtors
     of local objects so it is exception safe.

### Inline Functions

                   void ~TLockGuard()
             TLockGuard TLockGuard(TVirtualMutex* mutex)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
             TLockGuard TLockGuard(const TLockGuard&)
            TLockGuard& operator=(const TLockGuard&)

Author: Fons Rademakers 14/02/2002
Last update: root/base:$Name: $:$Id: TVirtualMutex.cxx,v 1.7 2005/06/23 20:51:14 rdm Exp $
Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *