open_toontown_panda3d/panda/src/express/memoryInfo.I

89 lines
3.3 KiB
Plaintext

// Filename: memoryInfo.I
// Created by: drose (04Jun01)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University. All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license. You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: MemoryInfo::get_void_ptr
// Access: Public
// Description: Returns the data pointer as a void pointer. This
// should always be non-NULL.
////////////////////////////////////////////////////////////////////
void *MemoryInfo::get_void_ptr() const {
if (_void_ptr != (void *)NULL) {
return _void_ptr;
}
if (_ref_ptr == (void *)NULL) {
return _typed_ptr;
}
if (_typed_ptr == (void *)NULL) {
return _ref_ptr;
}
return ((void *)_ref_ptr < (void *)_typed_ptr) ? (void *)_ref_ptr : (void *)_typed_ptr;
}
////////////////////////////////////////////////////////////////////
// Function: MemoryInfo::get_ref_ptr
// Access: Public
// Description: Returns the data pointer as a ReferenceCount pointer.
// This may be NULL if the data pointer does not
// represent a ReferenceCount object.
////////////////////////////////////////////////////////////////////
ReferenceCount *MemoryInfo::get_ref_ptr() const {
return _ref_ptr;
}
////////////////////////////////////////////////////////////////////
// Function: MemoryInfo::get_typed_ptr
// Access: Public
// Description: Returns the data pointer as a TypedObject pointer.
// This may be NULL if the data pointer does not
// represent a pointer to a TypedObject.
////////////////////////////////////////////////////////////////////
TypedObject *MemoryInfo::get_typed_ptr() const {
return _typed_ptr;
}
////////////////////////////////////////////////////////////////////
// Function: MemoryInfo::is_size_known
// Access: Public
// Description: Returns true if the size of the memory block
// referenced by this pointer is known. Most pointers'
// sizes should be known, but some may not be.
////////////////////////////////////////////////////////////////////
bool MemoryInfo::is_size_known() const {
return (_flags & F_size_known) != 0;
}
////////////////////////////////////////////////////////////////////
// Function: MemoryInfo::get_size
// Access: Public
// Description: Returns the size in bytes of the memory block
// referenced by this pointer, if it is known. Returns
// zero if the size is not known.
////////////////////////////////////////////////////////////////////
size_t MemoryInfo::get_size() const {
return _size;
}
////////////////////////////////////////////////////////////////////
// Function: MemoryInfo::get_time
// Access: Public
// Description: Returns the time in seconds (based on the
// GlobalClock) at which the pointer was allocated.
////////////////////////////////////////////////////////////////////
double MemoryInfo::get_time() const {
return _time;
}