diff --git a/src/cx/util.cc b/src/cx/util.cc index 941d4a0f..9dcfa63a 100644 --- a/src/cx/util.cc +++ b/src/cx/util.cc @@ -63,7 +63,7 @@ std::string full_name(const cppast::cpp_type &t, { std::string t_ns; if (!inside_class) - t_ns = ns(t, idx); + t_ns = ns(cppast::remove_cv(unreferenced(t)), idx); auto t_name = cppast::to_string(t); diff --git a/src/uml/class_diagram_visitor.cc b/src/uml/class_diagram_visitor.cc index 0a128d2b..5efdad3b 100644 --- a/src/uml/class_diagram_visitor.cc +++ b/src/uml/class_diagram_visitor.cc @@ -526,6 +526,7 @@ bool tu_visitor::process_field_with_template_instantiation( resolve_alias(template_instantiation_type)); class_ tinst = build_template_instantiation(unaliased); + tinst.usr = tinst.full_name(ctx.config.using_namespace); // Infer the relationship of this field to the template // instantiation