Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# ACE_RWLock_Invariants Class Reference

RWLock Invariants. More...

`#include <Token_Invariants.h>`

List of all members.

## Public Member Functions
| ACE_RWLock_Invariants (void)
| Default construction.
int | writer_acquired (void)
int | reader_acquired (void)
void | releasing (void)
| Updates internal database.
| ACE_RWLock_Invariants (const ACE_RWLock_Invariants &rhs)
| Copy construction.
void | operator= (const ACE_RWLock_Invariants &rhs)
| Copy.
void | dump (void) const
| Dump the state of the class.
## Private Attributes
int | writers_
| Number of owning writers.
int | readers_
| Number of owning readers.

## Detailed Description

RWLock Invariants.

Preserve the following invariants:

1. Only one writer at a time.
2. If there is an owning writer, there are no owning readers.

## Constructor & Destructor Documentation

ACE_RWLock_Invariants::ACE_RWLock_Invariants | ( | void |  | ) |

| Default construction.

ACE_RWLock_Invariants::ACE_RWLock_Invariants | ( | const ACE_RWLock_Invariants & | rhs | ) |

| Copy construction.

## Member Function Documentation

void ACE_RWLock_Invariants::dump | ( | void |  | ) | const

| Dump the state of the class.

void ACE_RWLock_Invariants::operator= | ( | const ACE_RWLock_Invariants & | rhs | ) |

| Copy.

int ACE_RWLock_Invariants::reader_acquired | ( | void |  | ) |

| Returns 1 on success, 0 when an invariant has been violated and -1 on error.

void ACE_RWLock_Invariants::releasing | ( | void |  | ) |

| Updates internal database.

int ACE_RWLock_Invariants::writer_acquired | ( | void |  | ) |

| Returns 1 on success, 0 when an invariant has been violated and -1 on error.

## Member Data Documentation

int ACE_RWLock_Invariants::readers_`[private]`

| Number of owning readers.

int ACE_RWLock_Invariants::writers_`[private]`

| Number of owning writers.

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

- Token_Invariants.h
- Token_Invariants.cpp