18 #ifndef itkLightObject_h
19 #define itkLightObject_h
33 #elif defined( __APPLE__ )
35 #include <AvailabilityMacros.h>
71 virtual Pointer CreateAnother()
const;
78 virtual void Delete();
83 virtual const char * GetNameOfClass()
const;
87 void *
operator new(size_t);
89 void *
operator new[](size_t);
91 void operator delete(
void *);
93 void operator delete[](
void *, size_t);
98 void Print(std::ostream & os,
Indent indent = 0)
const;
102 static void BreakOnError();
105 virtual void Register()
const;
108 virtual void UnRegister() const ITK_NOEXCEPT;
111 virtual
int GetReferenceCount()
const
112 {
return m_ReferenceCount; }
116 virtual void SetReferenceCount(
int);
126 virtual void PrintSelf(std::ostream & os,
Indent indent)
const;
128 virtual void PrintHeader(std::ostream & os,
Indent indent)
const;
130 virtual void PrintTrailer(std::ostream & os,
Indent indent)
const;
144 void operator=(const
Self &) ITK_DELETE_FUNCTION;
154 operator<<(std::ostream & os, const
LightObject & o);
Light weight base class for most itk classes.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
AtomicInt< int > m_ReferenceCount
Control indentation during Print() invocation.