88 MC_deleted_chain_active,
89 MC_deleted_chain_inactive,
100 EXTENSION(
static TypeHandle make(PyTypeObject *classobj));
102 INLINE
bool operator == (
const TypeHandle &other)
const;
103 INLINE
bool operator != (
const TypeHandle &other)
const;
104 INLINE
bool operator < (
const TypeHandle &other)
const;
105 INLINE
bool operator <= (
const TypeHandle &other)
const;
106 INLINE
bool operator > (
const TypeHandle &other)
const;
107 INLINE
bool operator >= (
const TypeHandle &other)
const;
109 INLINE
size_t get_hash()
const;
111 INLINE std::string get_name(
TypedObject *
object =
nullptr)
const;
112 INLINE
bool is_derived_from(
TypeHandle parent,
115 INLINE
int get_num_parent_classes(
TypedObject *
object =
nullptr)
const;
116 INLINE
TypeHandle get_parent_class(
int index)
const;
118 INLINE
int get_num_child_classes(
TypedObject *
object =
nullptr)
const;
119 INLINE
TypeHandle get_child_class(
int index)
const;
124 int get_best_parent_from_Set(
const std::set< int > &legal_vals)
const;
126 size_t get_memory_usage(MemoryClass memory_class)
const;
127 void inc_memory_usage(MemoryClass memory_class,
size_t size);
128 void dec_memory_usage(MemoryClass memory_class,
size_t size);
130 INLINE
int get_index()
const;
131 INLINE
void output(std::ostream &out)
const;
133 INLINE
operator bool ()
const;
135 MAKE_PROPERTY(index, get_index);
136 MAKE_PROPERTY(name, get_name);
137 MAKE_SEQ_PROPERTY(parent_classes, get_num_parent_classes, get_parent_class);
138 MAKE_SEQ_PROPERTY(child_classes, get_num_child_classes, get_child_class);
142 PyObject *get_python_type()
const;
145 void *allocate_array(
size_t size) RETURNS_ALIGNED(MEMORY_HOOK_ALIGNMENT);
146 void *reallocate_array(
void *ptr,
size_t size) RETURNS_ALIGNED(MEMORY_HOOK_ALIGNMENT);
147 void deallocate_array(
void *ptr);
161 INLINE std::ostream &operator << (std::ostream &out,
TypeHandle type) {
166 EXPCL_DTOOL_DTOOLBASE std::ostream &operator << (std::ostream &out, TypeHandle::MemoryClass mem_class);
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is an abstract class that all classes which use TypeHandle, and also provide virtual functions t...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
An STL function object class, this is intended to be used on any ordered collection of class objects ...
The TypeRegistry class maintains all the assigned TypeHandles in a given system.
TypeHandle is the identifier used to differentiate C++ class types.