14 #ifndef TYPEREGISTRYNODE_H 15 #define TYPEREGISTRYNODE_H 40 INLINE PyObject *get_python_type()
const;
43 void define_subtree();
48 typedef std::vector<TypeRegistryNode *> Classes;
49 Classes _parent_classes;
50 Classes _child_classes;
51 PyObject *_python_type =
nullptr;
53 AtomicAdjust::Integer _memory_usage[TypeHandle::MC_limit];
55 static bool _paranoid_inheritance;
58 typedef int SubtreeMaskType;
67 SubtreeMaskType bits);
68 INLINE Inherit(
const Inherit ©);
69 INLINE
void operator = (
const Inherit ©);
71 INLINE
bool operator < (
const Inherit &other)
const;
72 INLINE
static bool is_derived_from(
const Inherit &child,
const Inherit &base);
75 SubtreeMaskType _mask;
76 SubtreeMaskType _bits;
78 typedef std::vector<Inherit> TopInheritance;
81 int bit_count, SubtreeMaskType bits);
83 PyObject *r_get_python_type()
const;
93 TopInheritance _top_inheritance;
This is a single entry in the TypeRegistry.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle is the identifier used to differentiate C++ class types.