From e37732698e877c76abc41a0a80d9f4b4390a8ba2 Mon Sep 17 00:00:00 2001 From: martinfantini Date: Mon, 1 Dec 2025 14:47:44 +0100 Subject: [PATCH] Update for the enum case the namespaces for typedef --- src/fast_type_gen/hpp_gen.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/fast_type_gen/hpp_gen.cpp b/src/fast_type_gen/hpp_gen.cpp index 362e795..a5360b8 100644 --- a/src/fast_type_gen/hpp_gen.cpp +++ b/src/fast_type_gen/hpp_gen.cpp @@ -582,9 +582,16 @@ void hpp_gen::visit(const mfast::enum_field_instruction *inst, void *pIndex) { if (inst->ref_instruction()) { std::string actual_type_name = cpp_type_of(inst, &dependency_); - header_cref_ << indent << "typedef " << actual_type_name << "_cref " << name + std::string enum_namespace; + if (actual_type_name.find("mfast") == std::string::npos) + { + for (auto &&ns : outer_ns_) + enum_namespace += ns + "::"; + enum_namespace += filebase_ + "::"; + } + header_cref_ << indent << "typedef " << enum_namespace << actual_type_name << "_cref " << name << "_cref;\n"; - header_mref_ << indent << "typedef " << actual_type_name << "_mref " << name + header_mref_ << indent << "typedef " << enum_namespace << actual_type_name << "_mref " << name << "_mref;\n"; } else { // this is the enum definition