MeVisLabToolboxReference
|
A DistantObject stores the pointer to an object of type T and forbids direct access to the stored pointer. More...
#include <mlDistantObject.h>
Public Types | |
typedef T | Type |
The type of the stored object. | |
Public Member Functions | |
DistantObject (T *obj) | |
Construct a new distant object (make it explicit to avoid auto-conversion). | |
DistantObject () | |
Creates empty distant object. | |
DistantObject & | operator= (T *obj) |
Assignment from T*. | |
bool | isNull () const |
Returns if the object is NULL. | |
bool | operator== (const DistantObject< T > &other) const |
bool | operator!= (const DistantObject< T > &other) const |
bool | operator! () const |
Friends | |
class | DistantObjectAccessor |
bool | operator== (const DistantObject< T > &lhs, const T *rhs) |
bool | operator== (const T *lhs, const DistantObject< T > &rhs) |
bool | operator!= (const DistantObject< T > &lhs, const T *rhs) |
bool | operator!= (const T *lhs, const DistantObject< T > &rhs) |
A DistantObject stores the pointer to an object of type T and forbids direct access to the stored pointer.
This avoids that someone calls methods on the object from a thread that is not allowed to directly access the object.
A DistantObjectAccessor can be used to get access to the stored pointer, but this should be used in special places only, e.g. when a thread wants to send a message that requieres the pointer of the object that is stored in a DistantObject
Definition at line 30 of file mlDistantObject.h.
typedef T ml::DistantObject< T >::Type |
The type of the stored object.
Definition at line 34 of file mlDistantObject.h.
ml::DistantObject< T >::DistantObject | ( | T * | obj | ) | [inline, explicit] |
Construct a new distant object (make it explicit to avoid auto-conversion).
Definition at line 37 of file mlDistantObject.h.
ml::DistantObject< T >::DistantObject | ( | ) | [inline] |
Creates empty distant object.
Definition at line 40 of file mlDistantObject.h.
bool ml::DistantObject< T >::isNull | ( | ) | const [inline] |
Returns if the object is NULL.
Definition at line 49 of file mlDistantObject.h.
bool ml::DistantObject< T >::operator! | ( | ) | const [inline] |
Definition at line 59 of file mlDistantObject.h.
bool ml::DistantObject< T >::operator!= | ( | const DistantObject< T > & | other | ) | const [inline] |
Definition at line 55 of file mlDistantObject.h.
DistantObject& ml::DistantObject< T >::operator= | ( | T * | obj | ) | [inline] |
Assignment from T*.
Definition at line 43 of file mlDistantObject.h.
bool ml::DistantObject< T >::operator== | ( | const DistantObject< T > & | other | ) | const [inline] |
Definition at line 51 of file mlDistantObject.h.
friend class DistantObjectAccessor [friend] |
Definition at line 87 of file mlDistantObject.h.
bool operator!= | ( | const T * | lhs, |
const DistantObject< T > & | rhs | ||
) | [friend] |
Definition at line 80 of file mlDistantObject.h.
bool operator!= | ( | const DistantObject< T > & | lhs, |
const T * | rhs | ||
) | [friend] |
Definition at line 74 of file mlDistantObject.h.
bool operator== | ( | const T * | lhs, |
const DistantObject< T > & | rhs | ||
) | [friend] |
Definition at line 69 of file mlDistantObject.h.
bool operator== | ( | const DistantObject< T > & | lhs, |
const T * | rhs | ||
) | [friend] |
Definition at line 64 of file mlDistantObject.h.