46 _void_ptr = copy._void_ptr;
47 _ptr_was_deleted = copy._ptr_was_deleted;
49 if (is_valid_pointer()) {
50 To *ptr = (To *)_void_ptr;
76 if (ptr != (To *)_void_ptr || _ptr_was_deleted) {
77 To *old_ptr = (To *)_void_ptr;
79 _void_ptr = (
void *)ptr;
80 if (ptr != (To *)NULL) {
82 #ifdef DO_MEMORY_USAGE
83 if (MemoryUsage::get_track_memory_usage()) {
89 type = get_type_handle(To);
92 MemoryUsage::update_type(ptr, type);
99 if (old_ptr != (To *)NULL && !_ptr_was_deleted) {
100 old_ptr->weak_unref(
this);
103 _ptr_was_deleted =
false;
130 reassign((To *)copy._void_ptr);
143 return (To *)_void_ptr == other;
154 return (To *)_void_ptr != other;
165 return (To *)_void_ptr > other;
176 return (To *)_void_ptr <= other;
187 return (To *)_void_ptr >= other;
197 return (To *)_void_ptr == other;
208 return (To *)_void_ptr != other;
219 return (To *)_void_ptr > other;
230 return (To *)_void_ptr <= other;
241 return (To *)_void_ptr >= other;
252 return (To *)_void_ptr == (To *)other._void_ptr;
263 return (To *)_void_ptr != (To *)other._void_ptr;
274 return (To *)_void_ptr > (To *)other._void_ptr;
285 return (To *)_void_ptr <= (To *)other._void_ptr;
296 return (To *)_void_ptr >= (To *)other._void_ptr;
340 return (To *)_void_ptr <= (To *)((WeakPointerToBase<To> *)&other)->_void_ptr;
363 return (To *)_void_ptr < other;
374 return (To *)_void_ptr < (To *)other._void_ptr;
385 return (To *)_void_ptr < (To *)((WeakPointerToBase<To> *)&other)->_void_ptr;
401 reassign((To *)NULL);
434 }
else if (_void_ptr != (
void *)NULL) {
435 out <<
":" << ((To *)_void_ptr)->get_ref_count();
bool was_deleted() const
Returns true if the object we are pointing to has been deleted, false otherwise.
void output(ostream &out) const
A handy function to output PointerTo's as a hex pointer followed by a reference count.
static TypeHandle none()
Returns a special zero-valued TypeHandle that is used to indicate no type.
void clear()
A convenient way to set the PointerTo object to NULL.
This is the base class for PointerTo and ConstPointerTo.
void refresh() const
Informs the WeakPointerTo object that its pointer is no longer deleted.
TypeHandle is the identifier used to differentiate C++ class types.
This is the base class for PointerTo and ConstPointerTo.