mitk::WeakPointer fills in the blank of a missing implementation of a true weak pointer for itk::Object. While there is an itk::WeakPointer, it is simply a raw pointer wrapper and of questionable use. The current implementation of mitk::WeakPointer still has some flaws, though:
- It has more than a single responsibility by providing mitk::Messages for itk::ModifiedEvent and itk::DeleteEvent of the wrapped itk::Object.
- It is not as efficient as it should be.
- It can't be used in a natural way like a pointer because it lacks many comparison operators.
- It provides direct and dangerous access to its encapsulated resource, the wrapped raw pointer.
I want to replace the current implementation of mitk::WeakPointer with a new, well thought out, high-quality implementation.