12 #include <mrpt/core/bits_math.h>
13 #include <mrpt/core/format.h>
17 using namespace mvsim;
22 map<string, TXMLData>::const_iterator it = classes_.find(xml_node_class);
23 if (it == classes_.end())
32 std::string* xml_node_class =
new std::string(input_xml_node_class);
34 char* input_str =
const_cast<char*
>(xml_node_class->c_str());
38 xml->
parse<0>(input_str);
45 mrpt::format(
"[XmlClassesRegistry] Missing XML node <%s>", tagname_.c_str()));
48 if (!att_name || !att_name->value())
49 throw runtime_error(mrpt::format(
50 "[XmlClassesRegistry] Missing mandatory attribute "
51 "'name' in node <%s>",
54 const string sClassName = att_name->value();
59 d.xml_data = xml_node_class;
63 unsigned int line =
static_cast<long>(std::count(input_str, e.
where<
char>(),
'\n') + 1);
65 throw std::runtime_error(mrpt::format(
66 "[XmlClassesRegistry] XML parse error (Line %u): %s",
static_cast<unsigned>(line),
69 catch (
const std::exception&)