36 #include "Identifiable.hpp"
41 #include <boost/serialization/extended_type_info.hpp>
42 #include <boost/serialization/extended_type_info_typeid.hpp>
43 #include <boost/serialization/extended_type_info_no_rtti.hpp>
44 #include <boost/serialization/type_info_implementation.hpp>
49 std::string::iterator end_pos = std::remove(identifier.begin(), identifier.end(),
' ');
50 identifier.erase(end_pos, identifier.end());
53 const std::string s_pack =
"pack<void(";
54 std::string::size_type i = identifier.find(s_pack);
55 if (i != identifier.npos)
57 identifier.erase(i, s_pack.length());
61 const std::string s_open =
"<";
62 const std::string s_dash =
"-";
63 i = identifier.find(s_open);
64 if (i != identifier.npos)
66 identifier.replace(i, s_open.length(), s_dash);
70 const std::string s_comma =
",";
71 i = identifier.find(s_comma);
72 while (i != identifier.npos)
74 identifier.replace(i, s_comma.length(), s_dash);
75 i = identifier.find(s_comma, i);
79 const std::string s_end =
">)>::type";
80 i = identifier.find(s_end);
81 if (i != identifier.npos)
83 identifier.erase(i, s_end.length());
96 #if BOOST_VERSION >= 103700
97 id = boost::serialization::type_info_implementation<Identifiable>::type::get_const_instance().get_derived_extended_type_info(*this)->get_key();
99 id = boost::serialization::type_info_implementation<Identifiable>::type::get_derived_extended_type_info(*this)->get_key();
std::string TidyTemplatedExportIdentifier(std::string identifier) const
std::string GetIdentifier() const