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]");
virtual const std::string & typeName() const =0
Human readable name of the concrete type of stored data.
static std::string typeNameFor(std::type_info const &iInfo)
bool hasDictionary(std::type_info const &)
static void checkDictionaries(const std::type_info &type)