# PReadWaitAndSignal Class Reference

This class starts a read operation for the PReadWriteMutex on construction and automatically ends the read operation on destruction. More...

`#include <syncthrd.h>`

List of all members.

## Public Member Functions

| PReadWaitAndSignal (const PReadWriteMutex &rw, PBoolean start=true)
| Create the PReadWaitAndSignal wait instance.
| ~PReadWaitAndSignal ()
| End read operation on the PReadWriteMutex.

## Protected Attributes

PReadWriteMutex & | mutex

## Detailed Description

This class starts a read operation for the PReadWriteMutex on construction and automatically ends the read operation on destruction.

This is very usefull for constructs such as:

        void func()
        {
          PReadWaitAndSignal mutexWait(myMutex);
          if (condition)
            return;
          do_something();
          if (other_condition)
            return;
          do_something_else();
        }

## Constructor & Destructor Documentation

PReadWaitAndSignal::PReadWaitAndSignal | ( | const PReadWriteMutex & | rw,
|  | PBoolean | start = `true` |
| ) |  |  |

Create the PReadWaitAndSignal wait instance.

This will wait on the specified PReadWriteMutex using the StartRead() function before returning.

Parameters:

  rw | PReadWriteMutex descendent to wait/signal.
  start | Start read operation on PReadWriteMutex before returning.

PReadWaitAndSignal::~PReadWaitAndSignal | ( |  | ) |

End read operation on the PReadWriteMutex.

This will execute the EndRead() function on the PReadWriteMutex that was used in the construction of this instance.

## Member Data Documentation

PReadWriteMutex& PReadWaitAndSignal::mutex `[protected]`

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

- syncthrd.h