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;
TypeHandle is the identifier used to differentiate C++ class types.
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.