Qore Programming Language 1.19.5
Loading...
Searching...
No Matches
Counter Class Reference

This is the implementation of the "Counter" Qore class (private data) More...

#include <QoreCounter.h>

Inheritance diagram for Counter:
[legend]
Collaboration diagram for Counter:
[legend]

Additional Inherited Members

- Public Member Methods inherited from AbstractPrivateData
virtual DLLLOCAL void deref ()
 decrements the reference count of the object without the possibility of throwing a Qore-language exception
 
virtual DLLLOCAL void deref (ExceptionSink *xsink)
 decrements the reference count of the object More...
 
DLLLOCAL void ref () const
 increments the reference count of the object
 
- Public Member Methods inherited from QoreReferenceCounter
DLLEXPORT QoreReferenceCounter ()
 creates the reference counter object
 
DLLEXPORT QoreReferenceCounter (const QoreReferenceCounter &old)
 creates a new object with a reference count of 1 More...
 
DLLEXPORT ~QoreReferenceCounter ()
 destroys the reference counter object
 
DLLEXPORT bool is_unique () const
 returns true if the reference count is 1 More...
 
DLLEXPORT int reference_count () const
 gets the reference count More...
 
DLLEXPORT bool ROdereference () const
 atomically decrements the reference count More...
 
DLLEXPORT void ROreference () const
 atomically increments the reference count
 
- Public Member Methods inherited from QoreCounter
DLLEXPORT QoreCounter (int nc=0)
 creates the counter and initializes the count
 
DLLEXPORT ~QoreCounter ()
 destroys the object and frees all memory
 
DLLEXPORT int dec (ExceptionSink *xsink)
 decrements the counter and wakes up any threads if the counter reaches 0 More...
 
DLLEXPORT void destructor (ExceptionSink *xsink)
 throws a Qore-language exception if there are any waiting threads and wakes them all up
 
DLLEXPORT int getCount () const
 returns the current count
 
DLLEXPORT int getWaiting () const
 returns the number of threads blocked on this object
 
DLLEXPORT int inc ()
 increments the counter More...
 
DLLEXPORT int waitForZero (ExceptionSink *xsink, int timeout_ms=0)
 blocks the calling thread until the counter reaches 0 More...
 
- Private Member Methods inherited from AbstractPrivateData
virtual DLLLOCAL ~AbstractPrivateData ()
 as these objects are reference counted, the destructor should be called only when the reference count = 0 and not manually
 

Detailed Description

This is the implementation of the "Counter" Qore class (private data)


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