DCMTK Version 3.7.0 OFFIS DICOM Toolkit

Public Member Functions | Private Member Functions | Private Attributes | List of all members
OFReadWriteLocker Class Reference

This class aims to provide an easy way for making sure OFReadWriteLocks are unlocked in an exception safe way. More...

## Public Member Functions
| OFReadWriteLocker (OFReadWriteLock &lock)
| constructor More...
| ~OFReadWriteLocker ()
| destructor, unlocks the mutex if necessary
int | rdlock ()
| lock the lock for reading More...
int | wrlock ()
| lock the lock for writing More...
int | tryrdlock ()
| try to lock the lock for reading More...
int | trywrlock ()
| try to lock the lock for writing More...
int | unlock ()
| unlock the read/write lock More...

## Private Member Functions
| OFReadWriteLocker (const OFReadWriteLocker &arg)
| unimplemented private copy constructor
OFReadWriteLocker & | operator= (const OFReadWriteLocker &arg)
| unimplemented private assignment operator

## Private Attributes
OFReadWriteLock & | theLock
| the lock on which we are operating
OFBool | locked
| did we successfully lock the lock?
OFBool | isWriteLock
| did we acquire a write lock?

## Detailed Description

This class aims to provide an easy way for making sure OFReadWriteLocks are unlocked in an exception safe way.

You can just create a local instance of this class and lock the OFReadWriteLock through it. When it is destructed it will make sure that the lock is unlocked if necessary.

## Constructor & Destructor Documentation

## ◆ OFReadWriteLocker()

OFReadWriteLocker::OFReadWriteLocker | ( | OFReadWriteLock & | lock | ) |

constructor

Parameters

  lock | the lock to associate this instance with

## Member Function Documentation

## ◆ rdlock()

int OFReadWriteLocker::rdlock | ( |  | ) |

lock the lock for reading

Returns
  0 upon success, an error code otherwise

See also
  OFReadWriteLock::rdlock

## ◆ tryrdlock()

int OFReadWriteLocker::tryrdlock | ( |  | ) |

try to lock the lock for reading

Returns
  0 upon success, OFReadWriteLock::busy if the read/write lock is already locked, an error code otherwise

See also
  OFReadWriteLock::tryrdlock

## ◆ trywrlock()

int OFReadWriteLocker::trywrlock | ( |  | ) |

try to lock the lock for writing

Returns
  0 upon success, OFReadWriteLock::busy if the read/write lock is already locked, an error code otherwise

See also
  OFReadWriteLock::trywrlock

## ◆ unlock()

int OFReadWriteLocker::unlock | ( |  | ) |

unlock the read/write lock

Returns
  0 upon success, an error code otherwise

See also
  OFReadWriteLock::unlock

## ◆ wrlock()

int OFReadWriteLocker::wrlock | ( |  | ) |

lock the lock for writing

Returns
  0 upon success, an error code otherwise

See also
  OFReadWriteLock::wrlock

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

- ofstd/include/dcmtk/ofstd/ofthread.h

Generated on Mon Dec 15 2025 for DCMTK Version 3.7.0 by Doxygen 1.9.1