This is a list of pointers returned by a MemoryUsage object in response to some query. More...
Public Member Functions | |
MemoryUsagePointers () | |
clear () | |
Empties the set of pointers. | |
double | getAge (int n) |
Returns the age of the nth pointer: the number of seconds elapsed between the time it was allocated and the time it was added to this set via a call to MemoryUsage::get_pointers(). | |
int | getNumPointers () |
Returns the number of pointers in the set. | |
ReferenceCount | getPointer (int n) |
Returns the nth pointer of the set. | |
list | getPointers () |
PyObject | getPythonPointer (int n) |
Returns the nth object, represented as a Python object of the appropriate type. | |
TypeHandle | getType (int n) |
Returns the actual type of the nth pointer, if it is known. | |
TypedObject | getTypedPointer (int n) |
Returns the nth pointer of the set, typecast to a TypedObject if possible. | |
list | getTypedPointers () |
string | getTypeName (int n) |
Returns the type name of the nth pointer, if it is known. | |
output (ostream out) |
This is a list of pointers returned by a MemoryUsage object in response to some query.
Warning: once pointers are stored in a MemoryUsagePointers object, they are reference-counted, and will not be freed until the MemoryUsagePointers object is freed (or clear() is called on the object). However, they may not even be freed then; pointers may leak once they have been added to this structure. This is because we don't store enough information in this structure to correctly free the pointers that have been added. Since this is intended primarily as a debugging tool, this is not a major issue.
This class is just a user interface to talk about pointers stored in a MemoryUsage object. It doesn't even exist when compiled with NDEBUG.
clear | ( | ) |
Empties the set of pointers.
Returns the age of the nth pointer: the number of seconds elapsed between the time it was allocated and the time it was added to this set via a call to MemoryUsage::get_pointers().
int getNumPointers | ( | ) |
Returns the number of pointers in the set.
ReferenceCount getPointer | ( | int | n | ) |
Returns the nth pointer of the set.
list getPointers | ( | ) |
PyObject getPythonPointer | ( | int | n | ) |
Returns the nth object, represented as a Python object of the appropriate type.
Reference counting will be properly set on the Python object.
get_typed_pointer() is almost as good as this, but (a) it does not set the reference count, and (b) it does not work for objects that do not inherit from TypedObject. This will work for any object whose type is known, which has a Python representation.
TypeHandle getType | ( | int | n | ) |
Returns the actual type of the nth pointer, if it is known.
Returns the nth pointer of the set, typecast to a TypedObject if possible.
If the pointer is not a TypedObject or if the cast cannot be made, returns NULL.
list getTypedPointers | ( | ) |
string getTypeName | ( | int | n | ) |
Returns the type name of the nth pointer, if it is known.