13 #ifndef mitkSmartPointerProperty_h
14 #define mitkSmartPointerProperty_h
28 #pragma warning(disable : 4522)
38 itkFactorylessNewMacro(
Self);
44 itk::Object::Pointer GetSmartPointer()
const;
47 void SetSmartPointer(itk::Object *);
51 std::string GetValueAsString()
const override;
53 static void PostProcessXMLReading();
56 static unsigned int GetReferenceCountFor(itk::Object *);
57 static std::string GetReferenceUIDFor(itk::Object *);
58 static void RegisterPointerTarget(itk::Object *,
const std::string uid);
63 using BaseProperty::operator=;
75 itk::LightObject::Pointer InternalClone()
const override;
80 typedef std::map<itk::Object *, unsigned int> ReferenceCountMapType;
81 typedef std::map<itk::Object *, std::string> ReferencesUIDMapType;
82 typedef std::map<SmartPointerProperty *, std::string> ReadInSmartPointersMapType;
83 typedef std::map<std::string, itk::Object *> ReadInTargetsMapType;
86 static ReferenceCountMapType m_ReferenceCount;
87 static ReferencesUIDMapType m_ReferencesUID;
88 static ReadInSmartPointersMapType m_ReadInInstances;
89 static ReadInTargetsMapType m_ReadInTargets;