PTLib  Version 2.14.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PIntCondMutex Class Reference

This is a PCondMutex for which the conditional is the value of an integer. More...

#include <syncthrd.h>

Inheritance diagram for PIntCondMutex:
Collaboration diagram for PIntCondMutex:

Public Member Functions

Overrides from class PObject
void PrintOn (ostream &strm) const
 Print the object on the stream. More...
 
Condition access functions
virtual PBoolean Condition ()
 This is the condition that must be met for the WaitCondition() function to acquire the mutex. More...
 
 operator int () const
 Get the current value of the condition variable. More...
 
PIntCondMutexoperator= (int newval)
 Assign new condition value. More...
 
PIntCondMutexoperator++ ()
 Increment condition value. More...
 
PIntCondMutexoperator+= (int inc)
 Add to condition value. More...
 
PIntCondMutexoperator-- ()
 Decrement condition value. More...
 
PIntCondMutexoperator-= (int dec)
 Subtract from condition value. More...
 
- Public Member Functions inherited from PCondMutex
virtual void WaitCondition ()
 This function attempts to acquire the mutex, but will block not only until the mutex is free, but also that the condition returned by the Condition() function is also met. More...
 
virtual void Signal ()
 If there are waiting (blocked) threads then unblock the first one that was blocked. More...
 
virtual void OnWait ()
 This function is called immediately before blocking on the condition in the WaitCondition() function. More...
 

Protected Attributes

int value
 
int target
 
Operation operation
 
- Protected Attributes inherited from PCondMutex
PSyncPoint syncPoint
 

Construction

enum  Operation {
  LT, LE, EQ, GE,
  GT
}
 defines possible operators on current value and target value More...
 
 PIntCondMutex (int value=0, int target=0, Operation operation=LE)
 Create a cond mutex using an integer. More...
 

Detailed Description

This is a PCondMutex for which the conditional is the value of an integer.

Member Enumeration Documentation

defines possible operators on current value and target value

Enumerator
LT 

Less than.

LE 

Less than or equal to.

EQ 

Equal to.

GE 

Greater than or equal to.

GT 

Greater than.

Constructor & Destructor Documentation

PIntCondMutex::PIntCondMutex ( int  value = 0,
int  target = 0,
Operation  operation = LE 
)

Create a cond mutex using an integer.

Parameters
valueinitial value if the integer
targettarget vaue which causes the mutex to unlock
operationcomparison operator

Member Function Documentation

virtual PBoolean PIntCondMutex::Condition ( )
virtual

This is the condition that must be met for the WaitCondition() function to acquire the mutex.

Returns
true if condition is met.

Implements PCondMutex.

PIntCondMutex::operator int ( ) const
inline

Get the current value of the condition variable.

Returns
Current condition variable value.

References value.

PIntCondMutex& PIntCondMutex::operator++ ( )

Increment condition value.

Use the Wait() function to acquire the mutex, modify the value, then release the mutex, possibly releasing the thread in the WaitCondition() function if the condition was met by the operation.

Returns
The object reference for consecutive operations in the same statement.
PIntCondMutex& PIntCondMutex::operator+= ( int  inc)

Add to condition value.

Use the Wait() function to acquire the mutex, modify the value, then release the mutex, possibly releasing the thread in the WaitCondition() function if the condition was met by the operation.

Returns
The object reference for consecutive operations in the same statement.
PIntCondMutex& PIntCondMutex::operator-- ( )

Decrement condition value.

Use the Wait() function to acquire the mutex, modify the value, then release the mutex, possibly releasing the thread in the WaitCondition() function if the condition was met by the operation.

Returns
The object reference for consecutive operations in the same statement.
PIntCondMutex& PIntCondMutex::operator-= ( int  dec)

Subtract from condition value.

Use the Wait() function to acquire the mutex, modify the value, then release the mutex, possibly releasing the thread in the WaitCondition() function if the condition was met by the operation.

Returns
The object reference for consecutive operations in the same statement.
PIntCondMutex& PIntCondMutex::operator= ( int  newval)

Assign new condition value.

Use the Wait() function to acquire the mutex, modify the value, then release the mutex, possibly releasing the thread in the WaitCondition() function if the condition was met by the operation.

Returns
The object reference for consecutive operations in the same statement.
void PIntCondMutex::PrintOn ( ostream &  strm) const

Print the object on the stream.

This will be of the form #"(value < target)"#.

Member Data Documentation

Operation PIntCondMutex::operation
protected
int PIntCondMutex::target
protected
int PIntCondMutex::value
protected

Referenced by operator int().


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