89 lines
3.3 KiB
Plaintext
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;
|
|
}
|
|
|