49 #ifdef USE_MOVE_SEMANTICS
58 _void_ptr = from._void_ptr;
59 from._void_ptr = (
void *)NULL;
75 if (from._void_ptr != this->_void_ptr) {
76 To *old_ptr = (To *)this->_void_ptr;
78 this->_void_ptr = from._void_ptr;
79 from._void_ptr = NULL;
82 if (old_ptr != (To *)NULL) {
83 unref_delete(old_ptr);
87 #endif // USE_MOVE_SEMANTICS
99 if (ptr != (To *)_void_ptr) {
105 To *old_ptr = (To *)_void_ptr;
107 _void_ptr = (
void *)ptr;
108 if (ptr != (To *)NULL) {
110 #ifdef DO_MEMORY_USAGE
111 if (MemoryUsage::get_track_memory_usage()) {
118 if (old_ptr != (To *)NULL) {
119 unref_delete(old_ptr);
132 reassign((To *)copy._void_ptr);
135 #ifdef DO_MEMORY_USAGE
149 type = get_type_handle(To);
152 MemoryUsage::update_type(ptr, type);
155 #endif // DO_MEMORY_USAGE
167 reassign((To *)NULL);
180 if (_void_ptr != (
void *)NULL) {
181 out <<
":" << ((To *)_void_ptr)->get_ref_count();
void output(ostream &out) const
A handy function to output PointerTo's as a hex pointer followed by a reference count.
void clear()
A convenient way to set the PointerTo object to NULL.
static TypeHandle none()
Returns a special zero-valued TypeHandle that is used to indicate no type.
This is the base class for PointerTo and ConstPointerTo.
TypeHandle is the identifier used to differentiate C++ class types.