18 #ifndef itkSmartPointer_h
19 #define itkSmartPointer_h
22 #include "itkConfigure.h"
43 template<
typename TObjectType >
88 template<
typename TR >
90 {
return (
m_Pointer == static_cast< const ObjectType * >( r ) ); }
92 template<
typename TR >
94 {
return (
m_Pointer != static_cast< const ObjectType * >( r ) ); }
141 ( *m_Pointer ).Print(os);
147 #if ! defined ( ITK_FUTURE_LEGACY_REMOVE )
176 template<
typename T >
177 std::ostream & operator<<(std::ostream & os, SmartPointer< T > p)
void Swap(SmartPointer &other)
SmartPointer & operator=(const SmartPointer &r)
void swap(SmartPointer &other)
void UnRegister() noexcept
bool operator<(const SmartPointer &r) const
SmartPointer(ObjectType *p)
SmartPointer(const SmartPointer< ObjectType > &p)
ObjectType * GetPointer() const
void swap(Array< T > &a, Array< T > &b)
bool operator>=(const SmartPointer &r) const
ObjectType * operator->() const
bool operator<=(const SmartPointer &r) const
bool operator!=(TR r) const
bool operator>(const SmartPointer &r) const
Implements transparent reference counting.
ObjectType * Print(std::ostream &os) const
SmartPointer & operator=(ObjectType *r)
bool operator==(TR r) const