949 lines
37 KiB
Text
949 lines
37 KiB
Text
|
1565844116
|
||
|
3 3
|
||
|
14 libp3dtoolbase 4 NSJh 12 panda3d.core
|
||
|
64
|
||
|
56 15 get_total_alloc 0 4 120 32 NeverFreeMemory::get_total_alloc 0 1 1 110
|
||
|
/**
|
||
|
* Returns the total number of bytes consumed by all the pages allocated
|
||
|
* internally by this object.
|
||
|
*/
|
||
|
65
|
||
|
static inline std::size_t NeverFreeMemory::get_total_alloc(void);
|
||
|
|
||
|
57 14 get_total_used 0 4 120 31 NeverFreeMemory::get_total_used 0 1 2 114
|
||
|
/**
|
||
|
* Returns the total number of bytes requested by the application in calls to
|
||
|
* NeverFreeMemory::alloc().
|
||
|
*/
|
||
|
64
|
||
|
static inline std::size_t NeverFreeMemory::get_total_used(void);
|
||
|
|
||
|
58 16 get_total_unused 0 4 120 33 NeverFreeMemory::get_total_unused 0 1 3 178
|
||
|
/**
|
||
|
* Returns the difference between get_total_alloc() and get_total_used().
|
||
|
* This represents bytes in allocated pages that have not (yet) been used by
|
||
|
* the application.
|
||
|
*/
|
||
|
66
|
||
|
static inline std::size_t NeverFreeMemory::get_total_unused(void);
|
||
|
|
||
|
59 16 ~NeverFreeMemory 0 4 120 33 NeverFreeMemory::~NeverFreeMemory 0 0 0
|
||
|
40
|
||
|
NeverFreeMemory::~NeverFreeMemory(void);
|
||
|
|
||
|
60 10 TypeHandle 0 4 121 22 TypeHandle::TypeHandle 0 2 4 5 114
|
||
|
/**
|
||
|
* Private constructor for initializing a TypeHandle from an index, used by
|
||
|
* none() and by from_index().
|
||
|
*/
|
||
|
109
|
||
|
TypeHandle::TypeHandle(void) noexcept = default;
|
||
|
inline TypeHandle::TypeHandle(TypeHandle const &) = default;
|
||
|
|
||
|
61 4 make 0 4 121 16 TypeHandle::make 0 1 6 0
|
||
|
59
|
||
|
static TypeHandle TypeHandle::make(PyTypeObject *classobj);
|
||
|
|
||
|
62 11 operator == 0 4 121 23 TypeHandle::operator == 0 1 7 0
|
||
|
67
|
||
|
inline bool TypeHandle::operator ==(TypeHandle const &other) const;
|
||
|
|
||
|
63 11 operator != 0 4 121 23 TypeHandle::operator != 0 1 8 0
|
||
|
67
|
||
|
inline bool TypeHandle::operator !=(TypeHandle const &other) const;
|
||
|
|
||
|
64 10 operator < 0 4 121 22 TypeHandle::operator < 0 1 9 0
|
||
|
66
|
||
|
inline bool TypeHandle::operator <(TypeHandle const &other) const;
|
||
|
|
||
|
65 11 operator <= 0 4 121 23 TypeHandle::operator <= 0 1 10 0
|
||
|
67
|
||
|
inline bool TypeHandle::operator <=(TypeHandle const &other) const;
|
||
|
|
||
|
66 10 operator > 0 4 121 22 TypeHandle::operator > 0 1 11 0
|
||
|
66
|
||
|
inline bool TypeHandle::operator >(TypeHandle const &other) const;
|
||
|
|
||
|
67 11 operator >= 0 4 121 23 TypeHandle::operator >= 0 1 12 0
|
||
|
67
|
||
|
inline bool TypeHandle::operator >=(TypeHandle const &other) const;
|
||
|
|
||
|
68 10 compare_to 0 4 121 22 TypeHandle::compare_to 0 1 13 207
|
||
|
/**
|
||
|
* Sorts TypeHandles arbitrarily (according to <, >, etc.). Returns a number
|
||
|
* less than 0 if this type sorts before the other one, greater than zero if
|
||
|
* it sorts after, 0 if they are equivalent.
|
||
|
*/
|
||
|
65
|
||
|
inline int TypeHandle::compare_to(TypeHandle const &other) const;
|
||
|
|
||
|
69 8 get_hash 0 4 121 20 TypeHandle::get_hash 0 1 14 54
|
||
|
/**
|
||
|
* Returns a hash code suitable for phash_map.
|
||
|
*/
|
||
|
52
|
||
|
inline std::size_t TypeHandle::get_hash(void) const;
|
||
|
|
||
|
70 8 get_name 0 4 121 20 TypeHandle::get_name 0 1 15 216
|
||
|
/**
|
||
|
* Returns the name of the type.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/
|
||
|
77
|
||
|
inline std::string TypeHandle::get_name(TypedObject *object = nullptr) const;
|
||
|
|
||
|
71 15 is_derived_from 0 4 121 27 TypeHandle::is_derived_from 0 1 16 268
|
||
|
/**
|
||
|
* Returns true if this type is derived from the indicated type, false
|
||
|
* otherwise.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/
|
||
|
96
|
||
|
inline bool TypeHandle::is_derived_from(TypeHandle parent, TypedObject *object = nullptr) const;
|
||
|
|
||
|
72 22 get_num_parent_classes 0 4 121 34 TypeHandle::get_num_parent_classes 0 1 17 506
|
||
|
/**
|
||
|
* Returns the number of parent classes that this type is known to have. This
|
||
|
* may then be used to index into get_parent_class(). The result will be 0 if
|
||
|
* this class does not inherit from any other classes, 1 if normal, single
|
||
|
* inheritance is in effect, or greater than one if multiple inheritance is in
|
||
|
* effect.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/
|
||
|
83
|
||
|
inline int TypeHandle::get_num_parent_classes(TypedObject *object = nullptr) const;
|
||
|
|
||
|
73 16 get_parent_class 0 4 121 28 TypeHandle::get_parent_class 0 1 18 129
|
||
|
/**
|
||
|
* Returns the nth parent class of this type. The index should be in the
|
||
|
* range 0 <= index < get_num_parent_classes().
|
||
|
*/
|
||
|
64
|
||
|
inline TypeHandle TypeHandle::get_parent_class(int index) const;
|
||
|
|
||
|
74 21 get_num_child_classes 0 4 121 33 TypeHandle::get_num_child_classes 0 1 19 314
|
||
|
/**
|
||
|
* Returns the number of child classes that this type is known to have. This
|
||
|
* may then be used to index into get_child_class().
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/
|
||
|
82
|
||
|
inline int TypeHandle::get_num_child_classes(TypedObject *object = nullptr) const;
|
||
|
|
||
|
75 15 get_child_class 0 4 121 27 TypeHandle::get_child_class 0 1 20 127
|
||
|
/**
|
||
|
* Returns the nth child class of this type. The index should be in the range
|
||
|
* 0 <= index < get_num_child_classes().
|
||
|
*/
|
||
|
63
|
||
|
inline TypeHandle TypeHandle::get_child_class(int index) const;
|
||
|
|
||
|
76 18 get_parent_towards 0 4 121 30 TypeHandle::get_parent_towards 0 1 21 577
|
||
|
/**
|
||
|
* Returns the parent class that is in a direct line of inheritance to the
|
||
|
* indicated ancestor class. This is useful in the presence of multiple
|
||
|
* inheritance to try to determine what properties an unknown type may have.
|
||
|
*
|
||
|
* The return value is TypeHandle::none() if the type does not inherit from
|
||
|
* the ancestor. If ancestor is the same as this type, the return value is
|
||
|
* this type.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/
|
||
|
107
|
||
|
inline TypeHandle TypeHandle::get_parent_towards(TypeHandle ancestor, TypedObject *object = nullptr) const;
|
||
|
|
||
|
77 24 get_best_parent_from_Set 0 4 121 36 TypeHandle::get_best_parent_from_Set 0 1 22 61
|
||
|
/**
|
||
|
* Return the Index of the BEst fit Classs from a set
|
||
|
*/
|
||
|
77
|
||
|
int TypeHandle::get_best_parent_from_Set(set< int > const &legal_vals) const;
|
||
|
|
||
|
78 16 get_memory_usage 0 4 121 28 TypeHandle::get_memory_usage 0 1 23 194
|
||
|
/**
|
||
|
* Returns the total allocated memory used by objects of this type, for the
|
||
|
* indicated memory class. This is only updated if track-memory-usage is set
|
||
|
* true in your Config.prc file.
|
||
|
*/
|
||
|
85
|
||
|
std::size_t TypeHandle::get_memory_usage(TypeHandle::MemoryClass memory_class) const;
|
||
|
|
||
|
79 16 inc_memory_usage 0 4 121 28 TypeHandle::inc_memory_usage 0 1 24 110
|
||
|
/**
|
||
|
* Adds the indicated amount to the record for the total allocated memory for
|
||
|
* objects of this type.
|
||
|
*/
|
||
|
90
|
||
|
void TypeHandle::inc_memory_usage(TypeHandle::MemoryClass memory_class, std::size_t size);
|
||
|
|
||
|
80 16 dec_memory_usage 0 4 121 28 TypeHandle::dec_memory_usage 0 1 25 117
|
||
|
/**
|
||
|
* Subtracts the indicated amount from the record for the total allocated
|
||
|
* memory for objects of this type.
|
||
|
*/
|
||
|
90
|
||
|
void TypeHandle::dec_memory_usage(TypeHandle::MemoryClass memory_class, std::size_t size);
|
||
|
|
||
|
81 9 get_index 0 4 121 21 TypeHandle::get_index 0 1 26 354
|
||
|
/**
|
||
|
* Returns the integer index associated with this TypeHandle. Each different
|
||
|
* TypeHandle will have a different index. However, you probably shouldn't be
|
||
|
* using this method; you should just treat the TypeHandles as opaque classes.
|
||
|
* This is provided for the convenience of non-C++ scripting languages to
|
||
|
* build a hashtable of TypeHandles.
|
||
|
*/
|
||
|
45
|
||
|
inline int TypeHandle::get_index(void) const;
|
||
|
|
||
|
82 6 output 0 4 121 18 TypeHandle::output 0 1 27 10
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
56
|
||
|
inline void TypeHandle::output(std::ostream &out) const;
|
||
|
|
||
|
83 4 none 0 4 121 16 TypeHandle::none 0 1 28 0
|
||
|
51
|
||
|
static constexpr TypeHandle TypeHandle::none(void);
|
||
|
|
||
|
84 22 operator typecast bool 0 132 121 34 TypeHandle::operator typecast bool 0 1 29 0
|
||
|
34
|
||
|
inline operator bool (void) const;
|
||
|
|
||
|
85 0 0 0 0 0 0 0 0
|
||
|
0
|
||
|
|
||
|
86 0 0 0 0 0 0 0 0
|
||
|
0
|
||
|
|
||
|
87 11 ~TypeHandle 0 4 121 23 TypeHandle::~TypeHandle 0 0 0
|
||
|
30
|
||
|
TypeHandle::~TypeHandle(void);
|
||
|
|
||
|
88 21 register_dynamic_type 0 4 126 35 TypeRegistry::register_dynamic_type 0 1 31 219
|
||
|
/**
|
||
|
* Registers a new type on-the-fly, presumably at runtime. A new TypeHandle
|
||
|
* is returned if the typename was not seen before; otherwise the same
|
||
|
* TypeHandle that was last used for this typename is returned.
|
||
|
*/
|
||
|
72
|
||
|
TypeHandle TypeRegistry::register_dynamic_type(std::string const &name);
|
||
|
|
||
|
89 17 record_derivation 0 4 126 31 TypeRegistry::record_derivation 0 1 32 201
|
||
|
/**
|
||
|
* Records that the type referenced by child inherits directly from the type
|
||
|
* referenced by parent. In the event of multiple inheritance, this should be
|
||
|
* called once for each parent class.
|
||
|
*/
|
||
|
74
|
||
|
void TypeRegistry::record_derivation(TypeHandle child, TypeHandle parent);
|
||
|
|
||
|
90 21 record_alternate_name 0 4 126 35 TypeRegistry::record_alternate_name 0 1 33 278
|
||
|
/**
|
||
|
* Indicates an alternate name for the same type. This is particularly useful
|
||
|
* when a type has changed names, since the type is stored in a Bam file by
|
||
|
* name; setting the original name as the alternate will allow the type to be
|
||
|
* correctly read from old Bam files.
|
||
|
*/
|
||
|
83
|
||
|
void TypeRegistry::record_alternate_name(TypeHandle type, std::string const &name);
|
||
|
|
||
|
91 18 record_python_type 0 4 126 32 TypeRegistry::record_python_type 0 1 34 157
|
||
|
/**
|
||
|
* Records the given Python type pointer in the type registry for the benefit
|
||
|
* of interrogate, which expects this to contain a Dtool_PyTypedObject.
|
||
|
*/
|
||
|
78
|
||
|
void TypeRegistry::record_python_type(TypeHandle type, PyObject *python_type);
|
||
|
|
||
|
92 9 find_type 0 4 126 23 TypeRegistry::find_type 0 1 35 157
|
||
|
/**
|
||
|
* Looks for a previously-registered type of the given name. Returns its
|
||
|
* TypeHandle if it exists, or TypeHandle::none() if there is no such type.
|
||
|
*/
|
||
|
66
|
||
|
TypeHandle TypeRegistry::find_type(std::string const &name) const;
|
||
|
|
||
|
93 15 find_type_by_id 0 4 126 29 TypeRegistry::find_type_by_id 0 1 36 207
|
||
|
/**
|
||
|
* Looks for a previously-registered type with the given id number (as
|
||
|
* returned by TypeHandle::get_index()). Returns its TypeHandle if it exists,
|
||
|
* or TypeHandle::none() if there is no such type.
|
||
|
*/
|
||
|
55
|
||
|
TypeHandle TypeRegistry::find_type_by_id(int id) const;
|
||
|
|
||
|
94 8 get_name 0 4 126 22 TypeRegistry::get_name 0 1 37 226
|
||
|
/**
|
||
|
* Returns the name of the indicated type.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/
|
||
|
79
|
||
|
std::string TypeRegistry::get_name(TypeHandle type, TypedObject *object) const;
|
||
|
|
||
|
95 15 is_derived_from 0 4 126 29 TypeRegistry::is_derived_from 0 1 38 571
|
||
|
/**
|
||
|
* Returns true if the first type is derived from the second type, false
|
||
|
* otherwise.
|
||
|
*
|
||
|
* The "child_object" pointer is an optional pointer to the TypedObject class
|
||
|
* that owns the child TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertently undefined.
|
||
|
*
|
||
|
* This function definition follows the definitions for look_up() and
|
||
|
* freshen_derivations() just to maximize the chance the the compiler will be
|
||
|
* able to inline the above functions. Yeah, a compiler shouldn't care, but
|
||
|
* there's a big different between "shouldn't" and "doesn't".
|
||
|
*/
|
||
|
97
|
||
|
bool TypeRegistry::is_derived_from(TypeHandle child, TypeHandle base, TypedObject *child_object);
|
||
|
|
||
|
96 19 get_num_typehandles 0 4 126 33 TypeRegistry::get_num_typehandles 0 1 39 72
|
||
|
/**
|
||
|
* Returns the total number of unique TypeHandles in the system.
|
||
|
*/
|
||
|
44
|
||
|
int TypeRegistry::get_num_typehandles(void);
|
||
|
|
||
|
97 14 get_typehandle 0 4 126 28 TypeRegistry::get_typehandle 0 1 40 80
|
||
|
/**
|
||
|
* Returns the nth TypeHandle in the system. See get_num_typehandles().
|
||
|
*/
|
||
|
47
|
||
|
TypeHandle TypeRegistry::get_typehandle(int n);
|
||
|
|
||
|
98 20 get_num_root_classes 0 4 126 34 TypeRegistry::get_num_root_classes 0 1 41 131
|
||
|
/**
|
||
|
* Returns the number of root classes--that is, classes that do not inherit
|
||
|
* from any other classes--known in the system.
|
||
|
*/
|
||
|
45
|
||
|
int TypeRegistry::get_num_root_classes(void);
|
||
|
|
||
|
99 14 get_root_class 0 4 126 28 TypeRegistry::get_root_class 0 1 42 81
|
||
|
/**
|
||
|
* Returns the nth root class in the system. See get_num_root_classes().
|
||
|
*/
|
||
|
47
|
||
|
TypeHandle TypeRegistry::get_root_class(int n);
|
||
|
|
||
|
100 22 get_num_parent_classes 0 4 126 36 TypeRegistry::get_num_parent_classes 0 1 43 515
|
||
|
/**
|
||
|
* Returns the number of parent classes that the indicated type is known to
|
||
|
* have. This may then be used to index into get_parent_class(). The result
|
||
|
* will be 0 if this class does not inherit from any other classes, 1 if
|
||
|
* normal, single inheritance is in effect, or greater than one if multiple
|
||
|
* inheritance is in effect.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/
|
||
|
92
|
||
|
int TypeRegistry::get_num_parent_classes(TypeHandle child, TypedObject *child_object) const;
|
||
|
|
||
|
101 16 get_parent_class 0 4 126 30 TypeRegistry::get_parent_class 0 1 44 129
|
||
|
/**
|
||
|
* Returns the nth parent class of this type. The index should be in the
|
||
|
* range 0 <= index < get_num_parent_classes().
|
||
|
*/
|
||
|
77
|
||
|
TypeHandle TypeRegistry::get_parent_class(TypeHandle child, int index) const;
|
||
|
|
||
|
102 21 get_num_child_classes 0 4 126 35 TypeRegistry::get_num_child_classes 0 1 45 323
|
||
|
/**
|
||
|
* Returns the number of child classes that the indicated type is known to
|
||
|
* have. This may then be used to index into get_child_class().
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/
|
||
|
91
|
||
|
int TypeRegistry::get_num_child_classes(TypeHandle child, TypedObject *child_object) const;
|
||
|
|
||
|
103 15 get_child_class 0 4 126 29 TypeRegistry::get_child_class 0 1 46 127
|
||
|
/**
|
||
|
* Returns the nth child class of this type. The index should be in the range
|
||
|
* 0 <= index < get_num_child_classes().
|
||
|
*/
|
||
|
76
|
||
|
TypeHandle TypeRegistry::get_child_class(TypeHandle child, int index) const;
|
||
|
|
||
|
104 18 get_parent_towards 0 4 126 32 TypeRegistry::get_parent_towards 0 1 47 434
|
||
|
/**
|
||
|
* Returns the parent of the indicated child class that is in a direct line of
|
||
|
* inheritance to the indicated ancestor class. This is useful in the
|
||
|
* presence of multiple inheritance to try to determine what properties an
|
||
|
* unknown type may have.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/
|
||
|
106
|
||
|
TypeHandle TypeRegistry::get_parent_towards(TypeHandle child, TypeHandle base, TypedObject *child_object);
|
||
|
|
||
|
105 16 reregister_types 0 4 126 30 TypeRegistry::reregister_types 0 1 48 336
|
||
|
/**
|
||
|
* Walks through the TypeRegistry tree and makes sure that each type that was
|
||
|
* previously registered is *still* registered. This seems to get broken in
|
||
|
* certain circumstances when compiled against libc5--it is as if the static
|
||
|
* initializer stomps on the _type_handle values of each class after they've
|
||
|
* been registered.
|
||
|
*/
|
||
|
49
|
||
|
static void TypeRegistry::reregister_types(void);
|
||
|
|
||
|
106 5 write 0 4 126 19 TypeRegistry::write 0 1 49 139
|
||
|
/**
|
||
|
* Makes an attempt to format the entire TypeRegistry in a nice way that shows
|
||
|
* the derivation tree as intelligently as possible.
|
||
|
*/
|
||
|
50
|
||
|
void TypeRegistry::write(std::ostream &out) const;
|
||
|
|
||
|
107 3 ptr 0 4 126 17 TypeRegistry::ptr 0 1 50 130
|
||
|
// ptr() returns the pointer to the global TypeRegistry object.
|
||
|
|
||
|
/**
|
||
|
* Returns the pointer to the global TypeRegistry object.
|
||
|
*/
|
||
|
52
|
||
|
static inline TypeRegistry *TypeRegistry::ptr(void);
|
||
|
|
||
|
108 0 0 0 0 0 0 0 0
|
||
|
0
|
||
|
|
||
|
109 0 0 0 0 0 0 0 0
|
||
|
0
|
||
|
|
||
|
110 12 TypeRegistry 0 4 126 26 TypeRegistry::TypeRegistry 0 1 30 10
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
66
|
||
|
inline TypeRegistry::TypeRegistry(TypeRegistry const &) = default;
|
||
|
|
||
|
111 13 ~TypeRegistry 0 4 126 27 TypeRegistry::~TypeRegistry 0 0 0
|
||
|
34
|
||
|
TypeRegistry::~TypeRegistry(void);
|
||
|
|
||
|
112 20 upcast_to_MemoryBase 0 12 128 33 TypedObject::upcast_to_MemoryBase 0 0 37
|
||
|
upcast from TypedObject to MemoryBase
|
||
|
52
|
||
|
MemoryBase *TypedObject::upcast_to_MemoryBase(void);
|
||
|
|
||
|
113 23 downcast_to_TypedObject 0 12 127 35 MemoryBase::downcast_to_TypedObject 0 0 39
|
||
|
downcast from MemoryBase to TypedObject
|
||
|
55
|
||
|
TypedObject *MemoryBase::downcast_to_TypedObject(void);
|
||
|
|
||
|
114 12 ~TypedObject 0 6 128 25 TypedObject::~TypedObject 0 0 56
|
||
|
// A virtual destructor is just a good idea.
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
40
|
||
|
virtual TypedObject::~TypedObject(void);
|
||
|
|
||
|
115 8 get_type 0 6 128 21 TypedObject::get_type 0 1 51 166
|
||
|
// Derived classes should override this function to return get_class_type().
|
||
|
|
||
|
// Derived classes should override this function to return get_class_type().
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
*/
|
||
|
57
|
||
|
virtual TypeHandle TypedObject::get_type(void) const = 0;
|
||
|
|
||
|
116 14 get_type_index 0 4 128 27 TypedObject::get_type_index 0 1 52 180
|
||
|
/**
|
||
|
* Returns the internal index number associated with this object's TypeHandle,
|
||
|
* a unique number for each different type. This is equivalent to
|
||
|
* get_type().get_index().
|
||
|
*/
|
||
|
51
|
||
|
inline int TypedObject::get_type_index(void) const;
|
||
|
|
||
|
117 10 is_of_type 0 4 128 23 TypedObject::is_of_type 0 1 53 84
|
||
|
/**
|
||
|
* Returns true if the current object is or derives from the indicated type.
|
||
|
*/
|
||
|
61
|
||
|
inline bool TypedObject::is_of_type(TypeHandle handle) const;
|
||
|
|
||
|
118 13 is_exact_type 0 4 128 26 TypedObject::is_exact_type 0 1 54 76
|
||
|
/**
|
||
|
* Returns true if the current object is the indicated type exactly.
|
||
|
*/
|
||
|
64
|
||
|
inline bool TypedObject::is_exact_type(TypeHandle handle) const;
|
||
|
|
||
|
119 14 get_class_type 0 4 128 27 TypedObject::get_class_type 0 1 55 0
|
||
|
52
|
||
|
static TypeHandle TypedObject::get_class_type(void);
|
||
|
|
||
|
55
|
||
|
1 0 0 6 2 129 0 0 110 /**
|
||
|
* Returns the total number of bytes consumed by all the pages allocated
|
||
|
* internally by this object.
|
||
|
*/ 0
|
||
|
2 0 0 6 3 129 0 0 114 /**
|
||
|
* Returns the total number of bytes requested by the application in calls to
|
||
|
* NeverFreeMemory::alloc().
|
||
|
*/ 0
|
||
|
3 0 0 6 4 129 0 0 178 /**
|
||
|
* Returns the difference between get_total_alloc() and get_total_used().
|
||
|
* This represents bytes in allocated pages that have not (yet) been used by
|
||
|
* the application.
|
||
|
*/ 0
|
||
|
4 0 0 7 7 131 87 0 0 0
|
||
|
5 0 0 7 7 131 87 0 0 1 6 param0 0 132
|
||
|
6 0 0 7 9 131 87 0 0 1 8 classobj 1 134
|
||
|
7 0 0 6 10 137 0 0 0 2 4 this 3 132 5 other 1 132
|
||
|
8 0 0 6 11 137 0 0 0 2 4 this 3 132 5 other 1 132
|
||
|
9 0 0 6 12 137 0 0 0 2 4 this 3 132 5 other 1 132
|
||
|
10 0 0 6 13 137 0 0 0 2 4 this 3 132 5 other 1 132
|
||
|
11 0 0 6 14 137 0 0 0 2 4 this 3 132 5 other 1 132
|
||
|
12 0 0 6 15 137 0 0 0 2 4 this 3 132 5 other 1 132
|
||
|
13 0 0 6 16 123 0 0 207 /**
|
||
|
* Sorts TypeHandles arbitrarily (according to <, >, etc.). Returns a number
|
||
|
* less than 0 if this type sorts before the other one, greater than zero if
|
||
|
* it sorts after, 0 if they are equivalent.
|
||
|
*/ 2 4 this 3 132 5 other 1 132
|
||
|
14 0 0 6 17 129 0 0 54 /**
|
||
|
* Returns a hash code suitable for phash_map.
|
||
|
*/ 1 4 this 3 132
|
||
|
15 0 0 6 18 139 0 0 216 /**
|
||
|
* Returns the name of the type.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/ 2 4 this 3 132 6 object 1 138
|
||
|
16 0 0 6 19 137 0 0 268 /**
|
||
|
* Returns true if this type is derived from the indicated type, false
|
||
|
* otherwise.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/ 3 4 this 3 132 6 parent 1 131 6 object 1 138
|
||
|
17 0 0 6 20 123 0 0 506 /**
|
||
|
* Returns the number of parent classes that this type is known to have. This
|
||
|
* may then be used to index into get_parent_class(). The result will be 0 if
|
||
|
* this class does not inherit from any other classes, 1 if normal, single
|
||
|
* inheritance is in effect, or greater than one if multiple inheritance is in
|
||
|
* effect.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/ 2 4 this 3 132 6 object 1 138
|
||
|
18 0 0 7 21 131 87 0 129 /**
|
||
|
* Returns the nth parent class of this type. The index should be in the
|
||
|
* range 0 <= index < get_num_parent_classes().
|
||
|
*/ 2 4 this 3 132 5 index 1 123
|
||
|
19 0 0 6 22 123 0 0 314 /**
|
||
|
* Returns the number of child classes that this type is known to have. This
|
||
|
* may then be used to index into get_child_class().
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/ 2 4 this 3 132 6 object 1 138
|
||
|
20 0 0 7 23 131 87 0 127 /**
|
||
|
* Returns the nth child class of this type. The index should be in the range
|
||
|
* 0 <= index < get_num_child_classes().
|
||
|
*/ 2 4 this 3 132 5 index 1 123
|
||
|
21 0 0 7 24 131 87 0 577 /**
|
||
|
* Returns the parent class that is in a direct line of inheritance to the
|
||
|
* indicated ancestor class. This is useful in the presence of multiple
|
||
|
* inheritance to try to determine what properties an unknown type may have.
|
||
|
*
|
||
|
* The return value is TypeHandle::none() if the type does not inherit from
|
||
|
* the ancestor. If ancestor is the same as this type, the return value is
|
||
|
* this type.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/ 3 4 this 3 132 8 ancestor 1 131 6 object 1 138
|
||
|
22 0 0 6 25 123 0 0 61 /**
|
||
|
* Return the Index of the BEst fit Classs from a set
|
||
|
*/ 2 4 this 3 132 10 legal_vals 1 140
|
||
|
23 0 0 6 26 129 0 0 194 /**
|
||
|
* Returns the total allocated memory used by objects of this type, for the
|
||
|
* indicated memory class. This is only updated if track-memory-usage is set
|
||
|
* true in your Config.prc file.
|
||
|
*/ 2 4 this 3 132 12 memory_class 1 122
|
||
|
24 0 0 4 27 143 0 0 110 /**
|
||
|
* Adds the indicated amount to the record for the total allocated memory for
|
||
|
* objects of this type.
|
||
|
*/ 3 4 this 3 131 12 memory_class 1 122 4 size 1 129
|
||
|
25 0 0 4 28 143 0 0 117 /**
|
||
|
* Subtracts the indicated amount from the record for the total allocated
|
||
|
* memory for objects of this type.
|
||
|
*/ 3 4 this 3 131 12 memory_class 1 122 4 size 1 129
|
||
|
26 0 0 6 29 123 0 0 354 /**
|
||
|
* Returns the integer index associated with this TypeHandle. Each different
|
||
|
* TypeHandle will have a different index. However, you probably shouldn't be
|
||
|
* using this method; you should just treat the TypeHandles as opaque classes.
|
||
|
* This is provided for the convenience of non-C++ scripting languages to
|
||
|
* build a hashtable of TypeHandles.
|
||
|
*/ 1 4 this 3 132
|
||
|
27 0 0 4 30 143 0 0 10 /**
|
||
|
*
|
||
|
*/ 2 4 this 3 132 3 out 1 144
|
||
|
28 0 0 7 31 131 87 0 0 0
|
||
|
29 0 0 6 32 137 0 0 0 1 4 this 3 132
|
||
|
30 0 0 7 71 148 111 0 0 1 6 param0 0 146
|
||
|
31 0 0 7 45 131 87 0 219 /**
|
||
|
* Registers a new type on-the-fly, presumably at runtime. A new TypeHandle
|
||
|
* is returned if the typename was not seen before; otherwise the same
|
||
|
* TypeHandle that was last used for this typename is returned.
|
||
|
*/ 2 4 this 3 148 4 name 1 139
|
||
|
32 0 0 4 46 143 0 0 201 /**
|
||
|
* Records that the type referenced by child inherits directly from the type
|
||
|
* referenced by parent. In the event of multiple inheritance, this should be
|
||
|
* called once for each parent class.
|
||
|
*/ 3 4 this 3 148 5 child 1 131 6 parent 1 131
|
||
|
33 0 0 4 47 143 0 0 278 /**
|
||
|
* Indicates an alternate name for the same type. This is particularly useful
|
||
|
* when a type has changed names, since the type is stored in a Bam file by
|
||
|
* name; setting the original name as the alternate will allow the type to be
|
||
|
* correctly read from old Bam files.
|
||
|
*/ 3 4 this 3 148 4 type 1 131 4 name 1 139
|
||
|
34 0 0 4 48 143 0 0 157 /**
|
||
|
* Records the given Python type pointer in the type registry for the benefit
|
||
|
* of interrogate, which expects this to contain a Dtool_PyTypedObject.
|
||
|
*/ 3 4 this 3 148 4 type 1 131 11 python_type 1 149
|
||
|
35 0 0 7 49 131 87 0 157 /**
|
||
|
* Looks for a previously-registered type of the given name. Returns its
|
||
|
* TypeHandle if it exists, or TypeHandle::none() if there is no such type.
|
||
|
*/ 2 4 this 3 146 4 name 1 139
|
||
|
36 0 0 7 50 131 87 0 207 /**
|
||
|
* Looks for a previously-registered type with the given id number (as
|
||
|
* returned by TypeHandle::get_index()). Returns its TypeHandle if it exists,
|
||
|
* or TypeHandle::none() if there is no such type.
|
||
|
*/ 2 4 this 3 146 2 id 1 123
|
||
|
37 0 0 6 51 139 0 0 226 /**
|
||
|
* Returns the name of the indicated type.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/ 3 4 this 3 146 4 type 1 131 6 object 1 138
|
||
|
38 0 0 6 52 137 0 0 571 /**
|
||
|
* Returns true if the first type is derived from the second type, false
|
||
|
* otherwise.
|
||
|
*
|
||
|
* The "child_object" pointer is an optional pointer to the TypedObject class
|
||
|
* that owns the child TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertently undefined.
|
||
|
*
|
||
|
* This function definition follows the definitions for look_up() and
|
||
|
* freshen_derivations() just to maximize the chance the the compiler will be
|
||
|
* able to inline the above functions. Yeah, a compiler shouldn't care, but
|
||
|
* there's a big different between "shouldn't" and "doesn't".
|
||
|
*/ 4 4 this 3 148 5 child 1 131 4 base 1 131 12 child_object 1 138
|
||
|
39 0 0 6 53 123 0 0 72 /**
|
||
|
* Returns the total number of unique TypeHandles in the system.
|
||
|
*/ 1 4 this 3 148
|
||
|
40 0 0 7 54 131 87 0 80 /**
|
||
|
* Returns the nth TypeHandle in the system. See get_num_typehandles().
|
||
|
*/ 2 4 this 3 148 1 n 1 123
|
||
|
41 0 0 6 56 123 0 0 131 /**
|
||
|
* Returns the number of root classes--that is, classes that do not inherit
|
||
|
* from any other classes--known in the system.
|
||
|
*/ 1 4 this 3 148
|
||
|
42 0 0 7 57 131 87 0 81 /**
|
||
|
* Returns the nth root class in the system. See get_num_root_classes().
|
||
|
*/ 2 4 this 3 148 1 n 1 123
|
||
|
43 0 0 6 59 123 0 0 515 /**
|
||
|
* Returns the number of parent classes that the indicated type is known to
|
||
|
* have. This may then be used to index into get_parent_class(). The result
|
||
|
* will be 0 if this class does not inherit from any other classes, 1 if
|
||
|
* normal, single inheritance is in effect, or greater than one if multiple
|
||
|
* inheritance is in effect.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/ 3 4 this 3 146 5 child 1 131 12 child_object 1 138
|
||
|
44 0 0 7 60 131 87 0 129 /**
|
||
|
* Returns the nth parent class of this type. The index should be in the
|
||
|
* range 0 <= index < get_num_parent_classes().
|
||
|
*/ 3 4 this 3 146 5 child 1 131 5 index 1 123
|
||
|
45 0 0 6 61 123 0 0 323 /**
|
||
|
* Returns the number of child classes that the indicated type is known to
|
||
|
* have. This may then be used to index into get_child_class().
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/ 3 4 this 3 146 5 child 1 131 12 child_object 1 138
|
||
|
46 0 0 7 62 131 87 0 127 /**
|
||
|
* Returns the nth child class of this type. The index should be in the range
|
||
|
* 0 <= index < get_num_child_classes().
|
||
|
*/ 3 4 this 3 146 5 child 1 131 5 index 1 123
|
||
|
47 0 0 7 63 131 87 0 434 /**
|
||
|
* Returns the parent of the indicated child class that is in a direct line of
|
||
|
* inheritance to the indicated ancestor class. This is useful in the
|
||
|
* presence of multiple inheritance to try to determine what properties an
|
||
|
* unknown type may have.
|
||
|
*
|
||
|
* The "object" pointer is an optional pointer to the TypedObject class that
|
||
|
* owns this TypeHandle. It is only used in case the TypeHandle is
|
||
|
* inadvertantly undefined.
|
||
|
*/ 4 4 this 3 148 5 child 1 131 4 base 1 131 12 child_object 1 138
|
||
|
48 0 0 4 64 143 0 0 336 /**
|
||
|
* Walks through the TypeRegistry tree and makes sure that each type that was
|
||
|
* previously registered is *still* registered. This seems to get broken in
|
||
|
* certain circumstances when compiled against libc5--it is as if the static
|
||
|
* initializer stomps on the _type_handle values of each class after they've
|
||
|
* been registered.
|
||
|
*/ 0
|
||
|
49 0 0 4 65 143 0 0 139 /**
|
||
|
* Makes an attempt to format the entire TypeRegistry in a nice way that shows
|
||
|
* the derivation tree as intelligently as possible.
|
||
|
*/ 2 4 this 3 146 3 out 1 144
|
||
|
50 0 0 6 66 148 0 0 65 /**
|
||
|
* Returns the pointer to the global TypeRegistry object.
|
||
|
*/ 0
|
||
|
51 0 0 7 77 131 87 0 76 // Derived classes should override this function to return get_class_type(). 1 4 this 3 152
|
||
|
52 0 0 6 79 123 0 0 180 /**
|
||
|
* Returns the internal index number associated with this object's TypeHandle,
|
||
|
* a unique number for each different type. This is equivalent to
|
||
|
* get_type().get_index().
|
||
|
*/ 1 4 this 3 152
|
||
|
53 0 0 6 80 137 0 0 84 /**
|
||
|
* Returns true if the current object is or derives from the indicated type.
|
||
|
*/ 2 4 this 3 152 6 handle 1 131
|
||
|
54 0 0 6 81 137 0 0 76 /**
|
||
|
* Returns true if the current object is the indicated type exactly.
|
||
|
*/ 2 4 this 3 152 6 handle 1 131
|
||
|
55 0 0 7 82 131 87 0 0 0
|
||
|
34
|
||
|
120 15 NeverFreeMemory 0 141313 15 NeverFreeMemory 15 NeverFreeMemory 0 0 0 0 59 0 3 56 57 58 0 0 0 0 0 505
|
||
|
/**
|
||
|
* This class is used to allocate bytes of memory from a pool that is never
|
||
|
* intended to be freed. It is particularly useful to support DeletedChain,
|
||
|
* which allocates memory in just such a fashion.
|
||
|
*
|
||
|
* When it is known that memory will not be freed, it is preferable to use
|
||
|
* this instead of the standard malloc() (or global_operator_new()) call,
|
||
|
* since this will help reduce fragmentation problems in the dynamic heap.
|
||
|
* Also, memory allocated from here will exhibit less wasted space.
|
||
|
*/
|
||
|
|
||
|
121 10 TypeHandle 0 16918529 10 TypeHandle 10 TypeHandle 0 0 0 1 60 87 4 155 156 157 158 23 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 0 1 84 0 0 1 122 732
|
||
|
/**
|
||
|
* TypeHandle is the identifier used to differentiate C++ class types. Any
|
||
|
* C++ classes that inherit from some base class, and must be differentiated
|
||
|
* at run time, should store a static TypeHandle object that can be queried
|
||
|
* through a static member function named get_class_type(). Most of the time,
|
||
|
* it is also desirable to inherit from TypedObject, which provides some
|
||
|
* virtual functions to return the TypeHandle for a particular instance.
|
||
|
*
|
||
|
* At its essence, a TypeHandle is simply a unique identifier that is assigned
|
||
|
* by the TypeRegistry. The TypeRegistry stores a tree of TypeHandles, so
|
||
|
* that ancestry of a particular type may be queried, and the type name may be
|
||
|
* retrieved for run-time display.
|
||
|
*/
|
||
|
|
||
|
122 11 MemoryClass 0 794624 23 TypeHandle::MemoryClass 23 TypeHandle::MemoryClass 121 0 0 0 0 0 0 0 0 0 5 12 MC_singleton 24 TypeHandle::MC_singleton 0
|
||
|
0 8 MC_array 20 TypeHandle::MC_array 0
|
||
|
1 23 MC_deleted_chain_active 35 TypeHandle::MC_deleted_chain_active 0
|
||
|
2 25 MC_deleted_chain_inactive 37 TypeHandle::MC_deleted_chain_inactive 0
|
||
|
3 8 MC_limit 20 TypeHandle::MC_limit 70
|
||
|
// Not a real value, just a placeholder for the maximum
|
||
|
// enum value.
|
||
|
4 0 0
|
||
|
|
||
|
123 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
124 6 string 0 2105344 11 std::string 11 std::string 0 0 125 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
125 20 basic_string< char > 0 2048 25 std::basic_string< char > 25 std::basic_string< char > 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
126 12 TypeRegistry 0 141313 12 TypeRegistry 12 TypeRegistry 0 0 0 1 110 111 2 159 160 20 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 2 162 163 0 1 0 127 0 0 0 0 324
|
||
|
/**
|
||
|
* The TypeRegistry class maintains all the assigned TypeHandles in a given
|
||
|
* system. There should be only one TypeRegistry class during the lifetime of
|
||
|
* the application. It will be created on the local heap initially, and it
|
||
|
* should be migrated to shared memory as soon as shared memory becomes
|
||
|
* available.
|
||
|
*/
|
||
|
|
||
|
127 10 MemoryBase 0 1050624 10 MemoryBase 10 MemoryBase 0 0 0 0 0 0 0 0 0 0 0 0 428
|
||
|
/**
|
||
|
* This class is intended to be the base class of all objects in Panda that
|
||
|
* might be allocated and deleted via the new and delete operators. It
|
||
|
* redefines these operators to provide some memory tracking support.
|
||
|
*
|
||
|
* We used to try to override the global operator new and delete methods, but
|
||
|
* that seems to cause problems when including header files for C++-based
|
||
|
* system libraries (such as are found on OSX).
|
||
|
*/
|
||
|
|
||
|
128 11 TypedObject 0 26625 11 TypedObject 11 TypedObject 0 0 0 0 114 1 161 5 115 116 117 118 119 0 0 1 3 127 112 113 0 0 2508
|
||
|
/**
|
||
|
* This is an abstract class that all classes which use TypeHandle, and also
|
||
|
* provide virtual functions to support polymorphism, should inherit from.
|
||
|
* Each derived class should define get_type(), which should return the
|
||
|
* specific type of the derived class. Inheriting from this automatically
|
||
|
* provides support for is_of_type() and is_exact_type().
|
||
|
*
|
||
|
* All classes that inherit directly or indirectly from TypedObject should
|
||
|
* redefine get_type() and force_init_type(), as shown below. Some classes
|
||
|
* that do not inherit from TypedObject may still declare TypeHandles for
|
||
|
* themselves by defining methods called get_class_type() and init_type().
|
||
|
* Classes such as these may serve as base classes, but the dynamic type
|
||
|
* identification system will be limited. Classes that do not inherit from
|
||
|
* TypedObject need not define the virtual functions get_type() and
|
||
|
* force_init_type() (or any other virtual functions).
|
||
|
*
|
||
|
* There is a specific layout for defining the overrides from this class.
|
||
|
* Keeping the definitions formatted just like these examples will allow
|
||
|
* someone in the future to use a sed (or similar) script to make global
|
||
|
* changes, if necessary. Avoid rearranging the braces or the order of the
|
||
|
* functions unless you're ready to change them in every file all at once.
|
||
|
*
|
||
|
* What follows are some examples that can be used in new classes that you
|
||
|
* create.
|
||
|
*
|
||
|
* @par In the class definition (.h file):
|
||
|
* @code
|
||
|
* public:
|
||
|
* static TypeHandle get_class_type() {
|
||
|
* return _type_handle;
|
||
|
* }
|
||
|
* static void init_type() {
|
||
|
* <<<BaseClassOne>>>::init_type();
|
||
|
* <<<BaseClassTwo>>>::init_type();
|
||
|
* <<<BaseClassN>>>::init_type();
|
||
|
* register_type(_type_handle, "<<<ThisClassStringName>>>",
|
||
|
* <<<BaseClassOne>>>::get_class_type(),
|
||
|
* <<<BaseClassTwo>>>::get_class_type(),
|
||
|
* <<<BaseClassN>>>::get_class_type());
|
||
|
* }
|
||
|
* virtual TypeHandle get_type() const {
|
||
|
* return get_class_type();
|
||
|
* }
|
||
|
* virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
|
||
|
*
|
||
|
* private:
|
||
|
* static TypeHandle _type_handle;
|
||
|
* @endcode
|
||
|
*
|
||
|
* @par In the class .cxx file:
|
||
|
* @code
|
||
|
* TypeHandle <<<ThisClassStringName>>>::_type_handle;
|
||
|
* @endcode
|
||
|
*
|
||
|
* @par In the class config_<<<PackageName>>>.cxx file:
|
||
|
* @code
|
||
|
* ConfigureFn(config_<<<PackageName>>>) {
|
||
|
* <<<ClassOne>>>::init_type();
|
||
|
* <<<ClassTwo>>>::init_type();
|
||
|
* <<<ClassN>>>::init_type();
|
||
|
* }
|
||
|
* @endcode
|
||
|
*/
|
||
|
|
||
|
129 6 size_t 0 2105344 11 std::size_t 11 std::size_t 0 0 130 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
130 22 unsigned long long int 0 8230 22 unsigned long long int 22 unsigned long long int 0 8 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
131 12 TypeHandle * 0 8576 12 TypeHandle * 12 TypeHandle * 0 0 121 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
132 18 TypeHandle const * 0 8576 18 TypeHandle const * 18 TypeHandle const * 0 0 133 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
133 16 TypeHandle const 0 8832 16 TypeHandle const 16 TypeHandle const 0 0 121 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
134 14 PyTypeObject * 0 8576 14 PyTypeObject * 14 PyTypeObject * 0 0 135 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
135 12 PyTypeObject 0 2105344 12 PyTypeObject 12 PyTypeObject 0 0 136 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
136 11 _typeobject 0 1024 11 _typeobject 11 _typeobject 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
137 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
138 13 TypedObject * 0 8576 13 TypedObject * 13 TypedObject * 0 0 128 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
139 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
140 18 set< int > const * 0 8576 18 set< int > const * 18 set< int > const * 0 0 141 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
141 16 set< int > const 0 8832 16 set< int > const 16 set< int > const 0 0 142 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
142 10 set< int > 0 2048 10 set< int > 10 set< int > 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
143 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
144 9 ostream * 0 8576 14 std::ostream * 14 std::ostream * 0 0 145 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
145 7 ostream 0 2048 12 std::ostream 12 std::ostream 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
146 20 TypeRegistry const * 0 8576 20 TypeRegistry const * 20 TypeRegistry const * 0 0 147 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
147 18 TypeRegistry const 0 8832 18 TypeRegistry const 18 TypeRegistry const 0 0 126 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
148 14 TypeRegistry * 0 8576 14 TypeRegistry * 14 TypeRegistry * 0 0 126 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
149 10 PyObject * 0 8576 10 PyObject * 10 PyObject * 0 0 150 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
150 8 PyObject 0 2105344 8 PyObject 8 PyObject 0 0 151 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
151 7 _object 0 1024 7 _object 7 _object 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
152 19 TypedObject const * 0 8576 19 TypedObject const * 19 TypedObject const * 0 0 153 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
153 17 TypedObject const 0 8832 17 TypedObject const 17 TypedObject const 0 0 128 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
1
|
||
|
154 11 END_PUBLISH 0 0 0 0 0 13 __end_publish
|
||
|
7
|
||
|
155 5 index 0 2 123 81 0 0 0 0 0 0 0 17 TypeHandle::index 0
|
||
|
|
||
|
156 4 name 0 2 124 70 0 0 0 0 0 0 0 16 TypeHandle::name 0
|
||
|
|
||
|
157 14 parent_classes 0 66 121 85 0 0 0 0 72 0 0 26 TypeHandle::parent_classes 0
|
||
|
|
||
|
158 13 child_classes 0 66 121 86 0 0 0 0 74 0 0 25 TypeHandle::child_classes 0
|
||
|
|
||
|
159 11 typehandles 0 66 121 108 0 0 0 0 96 0 0 25 TypeRegistry::typehandles 0
|
||
|
|
||
|
160 12 root_classes 0 66 121 109 0 0 0 0 98 0 0 26 TypeRegistry::root_classes 0
|
||
|
|
||
|
161 4 type 0 2 121 115 0 0 0 0 0 0 0 17 TypedObject::type 58
|
||
|
// Returns the TypeHandle representing this object's type.
|
||
|
|
||
|
2
|
||
|
162 15 get_typehandles 0 96 97 29 TypeRegistry::get_typehandles 0
|
||
|
|
||
|
163 16 get_root_classes 0 98 99 30 TypeRegistry::get_root_classes 0
|
||
|
|