15 #ifndef MEMORYUSAGEPOINTERS_H
16 #define MEMORYUSAGEPOINTERS_H
18 #include "pandabase.h"
20 #ifdef DO_MEMORY_USAGE
22 #include "typedObject.h"
23 #include "pointerTo.h"
24 #include "referenceCount.h"
29 #undef _POSIX_C_SOURCE
55 class EXPCL_PANDAEXPRESS MemoryUsagePointers {
57 MemoryUsagePointers();
58 ~MemoryUsagePointers();
60 int get_num_pointers()
const;
62 MAKE_SEQ(get_pointers, get_num_pointers, get_pointer);
64 MAKE_SEQ(get_typed_pointers, get_num_pointers, get_typed_pointer);
67 string get_type_name(
int n)
const;
68 double get_age(
int n)
const;
70 EXTENSION(PyObject *get_python_pointer(
int n)
const);
74 void output(ostream &out)
const;
84 INLINE Entry(
const Entry ©);
85 INLINE
void operator = (
const Entry ©);
101 friend class MemoryUsage;
104 INLINE ostream &operator << (ostream &out,
const MemoryUsagePointers &mup) {
109 #include "memoryUsagePointers.I"
111 #endif // MEMORY_USAGE_POINTERS
This is an abstract class that all classes which use TypeHandle, and also provide virtual functions t...
A base class for all things that want to be reference-counted.
TypeHandle is the identifier used to differentiate C++ class types.