ARC SDK
|
Wrapper for pointer with automatic destruction and multiple references. More...
#include <arc/Thread.h>
Public Member Functions | |
ThreadedPointer (T *p) | |
ThreadedPointer (const ThreadedPointer< T > &p) | |
ThreadedPointer< T > & | operator= (T *p) |
Assign a new ThreadedPointer from a pointer to an object. More... | |
ThreadedPointer< T > & | operator= (const ThreadedPointer< T > &p) |
Assign a new ThreadedPointer from another ThreadedPointer. More... | |
T & | operator* (void) const |
For referring to wrapped object. More... | |
T * | operator-> (void) const |
For referring to wrapped object. More... | |
operator bool (void) const | |
Returns false if pointer is NULL and true otherwise. More... | |
bool | operator! (void) const |
Returns true if pointer is NULL and false otherwise. More... | |
bool | operator== (const ThreadedPointer &p) const |
Returns true if pointers are equal. More... | |
bool | operator!= (const ThreadedPointer &p) const |
Returns true if pointers are not equal. More... | |
bool | operator< (const ThreadedPointer &p) const |
Comparison operator. More... | |
T * | Ptr (void) const |
Cast to original pointer. More... | |
T * | Release (void) |
Release referred object so that it can be passed to other container. More... | |
unsigned int | Holders (void) |
Returns number of ThreadedPointer instances referring to underlying object. More... | |
unsigned int | WaitOutRange (unsigned int minThr, unsigned int maxThr) |
Waits till number of ThreadedPointer instances <= minThr or >= maxThr. More... | |
unsigned int | WaitOutRange (unsigned int minThr, unsigned int maxThr, int timeout) |
Waits till number of ThreadedPointer instances <= minThr or >= maxThr. More... | |
unsigned int | WaitInRange (unsigned int minThr, unsigned int maxThr) |
Waits till number of ThreadedPointer instances >= minThr and <= maxThr. More... | |
unsigned int | WaitInRange (unsigned int minThr, unsigned int maxThr, int timeout) |
Waits till number of ThreadedPointer instances >= minThr and <= maxThr. More... | |
Wrapper for pointer with automatic destruction and multiple references.
See for CountedPointer for description. Differently from CountedPointer this class provides thread safe destruction of referred object. But the instance of ThreadedPointer itself is not thread safe. Hence it is advisable to use different instances in different threads.
|
inline |
Returns number of ThreadedPointer instances referring to underlying object.
|
inline |
Returns false if pointer is NULL and true otherwise.
|
inline |
Returns true if pointer is NULL and false otherwise.
|
inline |
Returns true if pointers are not equal.
|
inline |
For referring to wrapped object.
|
inline |
For referring to wrapped object.
|
inline |
Comparison operator.
|
inline |
Assign a new ThreadedPointer from a pointer to an object.
|
inline |
Assign a new ThreadedPointer from another ThreadedPointer.
|
inline |
Returns true if pointers are equal.
|
inline |
Cast to original pointer.
|
inline |
Release referred object so that it can be passed to other container.
After Release() is called referred object is will not be destroyed automatically anymore.
|
inline |
Waits till number of ThreadedPointer instances >= minThr and <= maxThr.
|
inline |
Waits till number of ThreadedPointer instances >= minThr and <= maxThr.
Waits no longer than timeout milliseconds. If timeout is negative - wait forever. Returns current number of instances.
|
inline |
Waits till number of ThreadedPointer instances <= minThr or >= maxThr.
|
inline |
Waits till number of ThreadedPointer instances <= minThr or >= maxThr.
Waits no longer than timeout milliseconds. If timeout is negative - wait forever. Returns current number of instances.