21 INLINE TypeRegistryNode::Inherit::
33 INLINE TypeRegistryNode::Inherit::
35 TypeRegistryNode::SubtreeMaskType bits) {
36 assert(bit_count < (
int)(
sizeof(SubtreeMaskType) * 8));
40 _mask = ((SubtreeMaskType)1 << bit_count) - 1;
43 assert((bits & ~_mask) == 0);
52 INLINE TypeRegistryNode::Inherit::
53 Inherit(
const TypeRegistryNode::Inherit ©) :
65 INLINE
void TypeRegistryNode::Inherit::
66 operator = (
const TypeRegistryNode::Inherit ©) {
77 INLINE
bool TypeRegistryNode::Inherit::
78 operator < (
const Inherit &other)
const {
79 return _top < other._top;
90 INLINE
bool TypeRegistryNode::Inherit::
91 is_derived_from(
const TypeRegistryNode::Inherit &child,
92 const TypeRegistryNode::Inherit &base) {
93 assert(child._top == base._top);
98 return ((child._mask & base._mask) == base._mask &&
99 (child._bits & base._mask) == base._bits);
This is a single entry in the TypeRegistry.