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();
84 {
return "LightObject"; }
88 void *
operator new(size_t);
90 void *
operator new[](size_t);
92 void operator delete(
void *);
94 void operator delete[](
void *, size_t);
99 void Print(std::ostream & os,
Indent indent = 0)
const;
103 static void BreakOnError();
106 virtual void Register()
const;
109 virtual void UnRegister()
const;
113 {
return static_cast< int >( m_ReferenceCount ); }
117 virtual void SetReferenceCount(
int);
127 virtual void PrintSelf(std::ostream & os,
Indent indent)
const;
129 virtual void PrintHeader(std::ostream & os,
Indent indent)
const;
131 virtual void PrintTrailer(std::ostream & os,
Indent indent)
const;
141 #if ( defined( WIN32 ) || defined( _WIN32 ) )
142 typedef LONG InternalReferenceCountType;
143 #elif defined( __APPLE__ ) && ( MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 )
144 #if defined ( __LP64__ ) && __LP64__
145 typedef volatile int64_t InternalReferenceCountType;
147 typedef volatile int32_t InternalReferenceCountType;
149 #elif defined( __GLIBCPP__ ) || defined( __GLIBCXX__ )
150 typedef _Atomic_word InternalReferenceCountType;
164 void operator=(
const Self &);
Critical section locking class that can be allocated on the stack.
Light weight base class for most itk classes.
virtual const char * GetNameOfClass() const
SmartPointer< const Self > ConstPointer
typedef::itksysFundamentalType_Int64 int64_t
SmartPointer< Self > Pointer
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
int InternalReferenceCountType
InternalReferenceCountType m_ReferenceCount
SimpleFastMutexLock m_ReferenceCountLock
virtual int GetReferenceCount() const
typedef::itksysFundamentalType_Int32 int32_t
Control indentation during Print() invocation.