18#ifndef itkAutoPointer_h
19#define itkAutoPointer_h
45template <
typename TObjectType>
208 operator bool()
const {
return (
m_Pointer !=
nullptr); }
242 os <<
"Owner: " << p.
IsOwner() << std::endl;
248template <
typename TAutoPo
interBase,
typename TAutoPo
interDerived>
253 pa.TakeNoOwnership(pb.GetPointer());
257 pb.ReleaseOwnership();
Implements an Automatic Pointer to an object.
ObjectType * operator->() const
void Swap(AutoPointer &r) noexcept
bool operator<(const AutoPointer &r) const
ObjectType * ReleaseOwnership()
bool operator>(const AutoPointer &r) const
AutoPointer(AutoPointer &p)
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(Self)
bool operator>=(const AutoPointer &r) const
bool operator<=(const AutoPointer &r) const
void TakeOwnership(ObjectType *objectptr)
AutoPointer(ObjectType *p, bool takeOwnership)
bool operator==(const AutoPointer &r) const
ObjectType * GetPointer() const
void TakeNoOwnership(ObjectType *objectptr)
AutoPointer & operator=(AutoPointer &r)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)
void TransferAutoPointer(TAutoPointerBase &pa, TAutoPointerDerived &pb)