|
openDAQ
Open data acquisition platform
|
Represents a weak reference to the object. More...
Inheritance diagram for WeakRefPtr< TInterface, TSmartPtr >:
Collaboration diagram for WeakRefPtr< TInterface, TSmartPtr >:Represents a weak reference to the object.
Obtain a weak reference to the object when you want to store it to a local variable and don't want to increment the reference count. Weak reference will not prevent object destruction. Before the object is used, you must obtain a true reference by calling getRef or getRefAs.
Example
Public Member Functions | |
| TSmartPtr | getRef () const |
| Gets a true reference to the object. More... | |
Public Member Functions inherited from ObjectPtr< IWeakRef > | |
| ObjectPtr () | |
| Creates a smart pointer with no wrapped interface. | |
| ObjectPtr (std::nullptr_t) | |
| Creates a smart pointer with no wrapped interface. | |
| ObjectPtr (const ObjectPtr< IWeakRef > &objPtr) | |
| Creates a smart pointer from another smart pointer. More... | |
| ObjectPtr (ObjectPtr< IWeakRef > &&objPtr) noexcept | |
| Creates a smart pointer from another smart pointer with move semantics. More... | |
| ObjectPtr (const ObjectPtr< U > &objPtr) | |
| Creates a smart pointer from another smart pointer of a different interface type. More... | |
| ObjectPtr (ObjectPtr< U > &&objPtr) | |
| Creates a smart pointer from another smart pointer of a different interface type with move semantics. More... | |
| ObjectPtr (IWeakRef *&obj) | |
| Creates a smart pointer from an interface pointer. More... | |
| ObjectPtr (IWeakRef *&&obj) | |
| Creates a smart pointer from an interface pointer with move semantics. More... | |
| ObjectPtr (IWeakRef *obj) | |
| Creates a smart pointer from a weak reference interface pointer. More... | |
| ObjectPtr (const wchar_t *value) | |
| Creates a string object smart pointer from UTF16 null terminated sequence. More... | |
| ObjectPtr (ConstCharPtr value) | |
| Creates a string object smart pointer from UTF8 null terminated sequence. More... | |
| ObjectPtr (const U &value) | |
| Creates a smart pointer wrapper from value type. More... | |
| virtual | ~ObjectPtr () |
| Destructor. More... | |
| bool | equals (ObjectPtr< IBaseObject > other) const |
| Compares object to another object for equality. More... | |
| IWeakRef * | detach () |
| Disassociates this smart pointer object from the interface that it represents. More... | |
| void | dispose () const |
| Disposes all references held by the object. More... | |
| void | release () |
| Resets the wrapped interface to nullptr. More... | |
| IWeakRef * | addRefAndReturn () const |
| Increments the reference count and returns the interface. More... | |
| operator IWeakRef * () const | |
| Casts the pointer to the wrapped interface. More... | |
| bool | assigned () const |
| Checks if the smart pointer is not empty. | |
| IWeakRef * | getObject () const |
| Gets the pointer to the wrapped interface. More... | |
| IWeakRef ** | addressOf () |
| Gets the address of the pointer to the wrapped interface. More... | |
| IWeakRef ** | operator& () |
| Gets the address of the pointer to the wrapped interface. More... | |
| U * | as (bool borrow=false) const |
| Casts the wrapped interface to another interface. More... | |
| U * | asOrNull (bool borrow=false) const |
| Casts the wrapped interface to another interface. More... | |
| Ptr | asPtr (bool borrow=false) const |
| Casts the wrapped interface to another interface and wraps in a smart pointer. More... | |
| Ptr | asPtrOrNull (bool borrow=false) const |
| Casts the wrapped interface to another interface and wraps in a smart pointer. More... | |
| bool | supportsInterface () const |
| Checks if the wrapped interface supports another interface. More... | |
| bool | supportsInterface (const IntfID &id) const |
| Checks if the wrapped interface supports another interface using the interface ID. More... | |
| CoreType | getCoreType () const |
Gets the object's CoreType. More... | |
| ObjectPtr< IBaseObject > | convertTo (CoreType ct) const |
Converts the object to the specified CoreType. More... | |
| SizeT | getHashCode () const |
| Returns hash code of the object. More... | |
| ObjectPtr< IString > | toString () const |
| Converts the object to the string object. More... | |
| void | freeze () const |
| Freezes the object. More... | |
| Bool | isFrozen () const |
| Checks if the object is frozen. More... | |
| void | dispatch (const ObjectPtr< IBaseObject > ¶ms) const |
| Calls the stored callback. More... | |
| void | dispatch () const |
| Calls the stored callback without any parameters. More... | |
| void | execute () const |
| Calls the stored callback without any parameters. More... | |
| void | execute (Params... params) const |
| Calls the stored callback. More... | |
| ObjectPtr< IBaseObject > | call (Params... params) const |
| Calls the stored callback and returns the result. More... | |
| bool | isBorrowed () const |
| Checks if the reference is borrowed. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from ObjectPtr< IWeakRef > | |
| static InterfaceToSmartPtr< U >::SmartPtr | Borrow (IWeakRef *&obj) |
| Borrows an interface. More... | |
| static InterfaceToSmartPtr< V >::SmartPtr | Borrow (U *&obj) |
| Borrows an interface from the interface of another type. More... | |
| static InterfaceToSmartPtr< U >::SmartPtr | Adopt (IWeakRef *obj) |
| Adopts an interface. More... | |
| static Bool | Equals (const ObjectPtr< IBaseObject > &a, const ObjectPtr< IBaseObject > &b) |
| Value based comparison of two objects. If both objects are nullptr, they are considered to be equal. More... | |
| TSmartPtr getRef |
Gets a true reference to the object.
null if the object has already expired