10 char*
demangled = abi::__cxa_demangle(type.name(),
nullptr,
nullptr, &
status);
12 if ((demangled !=
nullptr) && (status == 0))
15 <<
" No REFLEX data dictionary found for the following class:\n\t" <<
typeName
16 <<
"\n Most likely the dictionary was never generated,\n"
17 <<
" but it may be that it was generated in the wrong package.\n"
18 <<
" Please add (or move) the specification\n"
19 <<
"\t<class name=\"" <<
typeName <<
"\" />\n"
20 <<
" to the appropriate classes_def.xml file.\n"
21 <<
" If the class is a template instance, you may need\n"
22 <<
" to define a dummy variable of this type in classes.h.\n"
23 <<
" Also, if this class has any transient members,\n"
24 <<
" you need to specify them in classes_def.xml.\n";
30 const char*
demangled = abi::__cxa_demangle(iType.name(),
nullptr,
nullptr, &
status);
31 return std::string(status == 0 ? demangled :
"[UNKNOWN]");
static std::string typeNameFor(std::type_info const &iInfo)
virtual const std::string & typeName() const =0
Human readable name of the concrete type of stored data.
bool hasDictionary(std::type_info const &)
static void checkDictionaries(const std::type_info &type)