|
Medical Imaging Interaction Toolkit
2026.06.00
Medical Imaging Interaction Toolkit
|
A weak pointer that observes an itk::Object without preventing its deletion. More...
#include <mitkWeakPointer.h>

Public Types | |
| using | DeleteEventCallbackType = std::function< void()> |
| Callback type invoked when the observed object is deleted. More... | |
Public Member Functions | |
| WeakPointer () noexcept | |
| Default constructor. Creates an expired weak pointer (null). More... | |
| WeakPointer (T *rawPointer) | |
| Construct a weak pointer observing the given raw pointer. More... | |
| WeakPointer (const WeakPointer &other) | |
Copy constructor. Observes the same object as other. More... | |
| WeakPointer (WeakPointer &&other) | |
Move constructor. Takes over the observed object from other. More... | |
| ~WeakPointer () noexcept | |
| Destructor. Removes the delete-event observer from the observed object. More... | |
| WeakPointer & | operator= (const WeakPointer &other) |
| Copy assignment operator. More... | |
| WeakPointer & | operator= (WeakPointer &&other) |
| Move assignment operator. More... | |
| WeakPointer & | operator= (std::nullptr_t) |
| Assign nullptr to reset this weak pointer to an expired state. More... | |
| WeakPointer & | operator= (T *other) |
| Assign a raw pointer to observe. More... | |
| operator bool () const noexcept | |
| Bool conversion operator. More... | |
| bool | IsExpired () const noexcept |
| Check whether the observed object has been deleted. More... | |
| itk::SmartPointer< T > | Lock () const |
| Obtain a smart pointer to the observed object. More... | |
| void | SetDeleteEventCallback (const DeleteEventCallbackType &callback) |
| Set a callback to be invoked when the observed object is deleted. More... | |
A weak pointer that observes an itk::Object without preventing its deletion.
WeakPointer holds a non-owning reference to an itk::Object-derived instance. It automatically detects when the observed object is deleted by registering an itk::DeleteEvent observer. After the object is deleted, the weak pointer expires (IsExpired() returns true and Lock() returns nullptr).
An optional delete-event callback can be registered via SetDeleteEventCallback() to receive notification when the observed object is destroyed.
Unlike itk::WeakPointer, this implementation supports const pointers.
All comparison operators (==, !=, <, >, <=, >=) are supported via C++20 operator== and operator<=> generation.
| T | The type of the observed object. Must derive from itk::Object. |
Definition at line 43 of file mitkWeakPointer.h.
| using mitk::WeakPointer< T >::DeleteEventCallbackType = std::function<void ()> |
Callback type invoked when the observed object is deleted.
Definition at line 47 of file mitkWeakPointer.h.
|
inlinenoexcept |
Default constructor. Creates an expired weak pointer (null).
Definition at line 50 of file mitkWeakPointer.h.
|
inline |
Construct a weak pointer observing the given raw pointer.
| [in] | rawPointer | The object to observe. May be nullptr. |
Definition at line 60 of file mitkWeakPointer.h.
|
inline |
Copy constructor. Observes the same object as other.
| [in] | other | The weak pointer to copy from. |
Definition at line 71 of file mitkWeakPointer.h.
|
inline |
Move constructor. Takes over the observed object from other.
After the move, other is in an expired state (null).
| [in] | other | The weak pointer to move from. |
Definition at line 84 of file mitkWeakPointer.h.
|
inlinenoexcept |
Destructor. Removes the delete-event observer from the observed object.
Definition at line 93 of file mitkWeakPointer.h.
|
inlinenoexcept |
Check whether the observed object has been deleted.
Definition at line 194 of file mitkWeakPointer.h.
|
inline |
Obtain a smart pointer to the observed object.
If the observed object is still alive, a valid itk::SmartPointer is returned. If it has been deleted, a null SmartPointer is returned.
Definition at line 207 of file mitkWeakPointer.h.
|
inlineexplicitnoexcept |
Bool conversion operator.
Definition at line 184 of file mitkWeakPointer.h.
|
inline |
Copy assignment operator.
Uses classic implementation rather than copy-and-swap, because swapping is non-trivial when the observed object keeps references to its observers.
| [in] | other | The weak pointer to copy from. |
Definition at line 115 of file mitkWeakPointer.h.
|
inline |
Assign nullptr to reset this weak pointer to an expired state.
Definition at line 153 of file mitkWeakPointer.h.
|
inline |
Assign a raw pointer to observe.
| [in] | other | The raw pointer to observe. May be nullptr. |
Definition at line 167 of file mitkWeakPointer.h.
|
inline |
Move assignment operator.
After the move, other is in an expired state (null).
| [in] | other | The weak pointer to move from. |
Definition at line 135 of file mitkWeakPointer.h.
|
inline |
Set a callback to be invoked when the observed object is deleted.
| [in] | callback | The callback function. May be empty to clear. |
Definition at line 217 of file mitkWeakPointer.h.