17 #ifndef __itkLightObject_h
18 #define __itkLightObject_h
32 #elif defined(__APPLE__)
34 #include <AvailabilityMacros.h>
70 virtual Pointer CreateAnother()
const;
75 virtual void Delete();
80 virtual const char *GetNameOfClass()
const
81 {
return "LightObject";}
85 void*
operator new(size_t);
86 void*
operator new[](size_t);
87 void operator delete(
void*);
88 void operator delete[](
void*, size_t);
92 void Print(std::ostream& os,
Indent indent=0)
const;
96 static void BreakOnError();
99 virtual void Register()
const;
102 virtual void UnRegister()
const;
105 virtual int GetReferenceCount()
const
106 {
return static_cast<int>(m_ReferenceCount);}
110 virtual void SetReferenceCount(
int);
120 virtual void PrintSelf(std::ostream& os,
Indent indent)
const;
121 virtual void PrintHeader(std::ostream& os,
Indent indent)
const;
122 virtual void PrintTrailer(std::ostream& os,
Indent indent)
const;
126 #if (defined(WIN32) || defined(_WIN32))
127 typedef LONG InternalReferenceCountType;
128 #elif defined(__APPLE__) && (MAC_OS_X_VERSION_MIN_REQUIRED >= 1050)
129 #if defined (__LP64__) && __LP64__
130 typedef volatile int64_t InternalReferenceCountType;
132 typedef volatile int32_t InternalReferenceCountType;
134 #elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
135 typedef _Atomic_word InternalReferenceCountType;
148 void operator=(
const Self&);