Introduce an Interface that offers that can be implemented to offer the identification capabilities.
Something like:
class IIdentifiable { public: using UIDType = std::string; UIDType getUID() const = 0; }
Introduce an Interface that offers that can be implemented to offer the identification capabilities.
Something like:
class IIdentifiable { public: using UIDType = std::string; UIDType getUID() const = 0; }
if the ID is unique, this should maybe named getUID . And I wonder if we should make the IDType a proper class, did you discuss this?
Specific class: Nope. Valid point worth a discussion. I would propse if we don't clarify it todo we make a subtask out of it
mitk::IIdentifiable interface was changed to mitk::Identifiable base class. It takes responsibility of encapsulating the UID. It is movable but not copyable. mitk::UIDManipulator can be used by data readers to manipulate the UID after identifiable object creation time.