18 #ifndef itkLightObject_h
19 #define itkLightObject_h
33 #elif defined( __APPLE__ )
35 #include <AvailabilityMacros.h>
73 virtual Pointer CreateAnother()
const;
80 virtual void Delete();
85 virtual const char * GetNameOfClass()
const;
89 void *
operator new(size_t);
91 void *
operator new[](size_t);
93 void operator delete(
void *);
95 void operator delete[](
void *, size_t);
100 void Print(std::ostream & os,
Indent indent = 0)
const;
104 static void BreakOnError();
107 virtual void Register()
const;
110 virtual void UnRegister() const noexcept;
113 virtual
int GetReferenceCount()
const
114 {
return m_ReferenceCount; }
118 virtual void SetReferenceCount(
int);
128 virtual void PrintSelf(std::ostream & os,
Indent indent)
const;
130 virtual void PrintHeader(std::ostream & os,
Indent indent)
const;
132 virtual void PrintTrailer(std::ostream & os,
Indent indent)
const;
151 ITKCommon_EXPORT std::ostream &
Light weight base class for most itk classes.
std::atomic< int > m_ReferenceCount
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
Control indentation during Print() invocation.