Go to the documentation of this file.
43 #ifndef vtkWeakPointer_h
44 #define vtkWeakPointer_h
95 return static_cast<T*>(this->
Object);
99 return static_cast<T*>(this->
Object);
108 return static_cast<T*>(this->
Object);
117 return *static_cast<T*>(this->
Object);
125 return static_cast<T*>(this->
Object);
133 #if defined(__HP_aCC) || defined(__IBMCPP__)
134 # define VTK_WEAK_POINTER_DEFINE_OPERATOR_WORKAROUND(op) \
135 bool operator op (NullPointerOnly*) const \
137 return ::operator op (*this, 0); \
140 class NullPointerOnly {};
142 VTK_WEAK_POINTER_DEFINE_OPERATOR_WORKAROUND(==)
143 VTK_WEAK_POINTER_DEFINE_OPERATOR_WORKAROUND(!=)
144 VTK_WEAK_POINTER_DEFINE_OPERATOR_WORKAROUND(<)
145 VTK_WEAK_POINTER_DEFINE_OPERATOR_WORKAROUND(<=)
146 VTK_WEAK_POINTER_DEFINE_OPERATOR_WORKAROUND(>)
147 VTK_WEAK_POINTER_DEFINE_OPERATOR_WORKAROUND(>=)
148 # undef VTK_WEAK_POINTER_DEFINE_OPERATOR_WORKAROUND
159 #define VTK_WEAK_POINTER_DEFINE_OPERATOR(op) \
162 operator op (const vtkWeakPointer<T>& l, const vtkWeakPointer<T>& r) \
164 return (l.GetPointer() op r.GetPointer()); \
167 inline bool operator op (T* l, const vtkWeakPointer<T>& r) \
169 return (l op r.GetPointer()); \
172 inline bool operator op (const vtkWeakPointer<T>& l, T* r) \
174 return (l.GetPointer() op r); \
186 #undef VTK_WEAK_POINTER_DEFINE_OPERATOR
194 return os << static_cast<const vtkWeakPointerBase&>(p);
T * GetPointer() const
Get the contained pointer.
vtkWeakPointer & operator=(T *r)
Assign object to reference.
ostream & operator<<(ostream &os, const vtkWeakPointer< T > &p)
Compare smart pointer values.
vtkWeakPointer(const vtkWeakPointerBase &r)
Initialize smart pointer with the given smart pointer.
vtkWeakPointer & operator=(const vtkWeakPointerBase &r)
Assign object to reference.
#define VTK_WEAK_POINTER_DEFINE_OPERATOR(op)
T * operator->() const
Provides normal pointer target member access using operator ->.
Non-templated superclass for vtkWeakPointer.
vtkWeakPointer(T *r)
Initialize smart pointer to given object.
vtkWeakPointer(T *r, const NoReference &n)
T & operator*() const
Dereference the pointer and return a reference to the contained object.
vtkWeakPointerBase & operator=(vtkObjectBase *r)
Assign object to reference.
a weak reference to a vtkObject.
vtkWeakPointer()
Initialize smart pointer to nullptr.