17 #ifndef MITKSMARTPOINTERPROPERTY_H_HEADER_INCLUDED_C126B791
18 #define MITKSMARTPOINTERPROPERTY_H_HEADER_INCLUDED_C126B791
32 #pragma warning(disable : 4522)
48 ValueType GetValue() const;
50 void SetSmartPointer(
itk::Object *);
51 void SetValue(const ValueType &);
54 virtual
std::
string GetValueAsString() const override;
56 static
void PostProcessXMLReading();
59 static
unsigned int GetReferenceCountFor(
itk::Object *);
60 static
std::
string GetReferenceUIDFor(
itk::Object *);
61 static
void RegisterPointerTarget(
itk::Object *, const
std::
string uid);
66 SmartPointerProperty(
itk::Object * =
nullptr);
67 SmartPointerProperty(const SmartPointerProperty &);
73 SmartPointerProperty &operator=(const SmartPointerProperty &);
75 itk::LightObject::
Pointer InternalClone() const override;
77 virtual
bool IsEqual(const
BaseProperty &) 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;
#define mitkNewMacro1Param(classname, type)
itk::Object::Pointer ValueType
DataCollection - Class to facilitate loading/accessing structured data.
Property containing a smart-pointer.
Abstract base class for properties.
#define mitkClassMacro(className, SuperClassName)