void print_inheritance_tree_core (std::ostream& os, TypeInfo const& ti, TypeIdSet& set) { bool nl = false; for (TypeInfo::BaseIterator i = ti.begin_base (); i != ti.end_base (); i++) { TypeId tid (i->type_info ().type_id ()); if (set.find (tid) != set.end ()) continue; nl = true; set.insert (tid); print_inheritance_tree_core (os, i->type_info (), set); } if (nl) os << endl; os << ti.type_id () << " "; }
bool operator () (TypeInfo const& x, TypeInfo const& y) const { return x.type_id () < y.type_id (); }