19 if (_python_type !=
nullptr || _parent_classes.empty()) {
23 return r_get_python_type();
30 INLINE TypeRegistryNode::Inherit::
40 INLINE TypeRegistryNode::Inherit::
42 TypeRegistryNode::SubtreeMaskType bits) {
43 assert(bit_count < (
int)(
sizeof(SubtreeMaskType) * 8));
47 _mask = ((SubtreeMaskType)1 << bit_count) - 1;
50 assert((bits & ~_mask) == 0);
57 INLINE TypeRegistryNode::Inherit::
58 Inherit(
const TypeRegistryNode::Inherit ©) :
68 INLINE
void TypeRegistryNode::Inherit::
69 operator = (
const TypeRegistryNode::Inherit ©) {
78 INLINE
bool TypeRegistryNode::Inherit::
79 operator < (
const Inherit &other)
const {
80 return _top < other._top;
88 INLINE
bool TypeRegistryNode::Inherit::
89 is_derived_from(
const TypeRegistryNode::Inherit &child,
90 const TypeRegistryNode::Inherit &base) {
91 assert(child._top == base._top);
96 return ((child._mask & base._mask) == base._mask &&
97 (child._bits & base._mask) == base._bits);
PyObject * get_python_type() const
Returns the Python type object associated with this node.
This is a single entry in the TypeRegistry.