Base class of identifiable objects.
Offers an interface to query a UID for the instance. Can be inherited by other classes to provide this capability.
What does the UID stand for/what is its scope?
- It is unique in its creation, but it is not a content specific unique ID. Therefore:
- A class instance, associated with a UID, may change its values over its lifetime, but still have the same UID.
- If a class instance gets persisted and loaded multiple times, then their could be several instances with the same UID.
- UIDs are therefore more simelar to git paths than to git hashes. They identify something, but the state of something can change (stream of commits). The difference of the UID compared to using e.g. plain instance pointers to identify an object is that UIDs allow the feature of serialization as they abstract from the memory location of the current runtime environment.
- It is up to the application that builds upon that feature to ensure appropriate usage within the application scope.
Definition at line 45 of file mitkIdentifiable.h.