50 std::string::iterator end_pos = std::remove(identifier.begin(), identifier.end(),
' ');
51 identifier.erase(end_pos, identifier.end());
54 const std::string s_pack =
"pack<void(";
55 std::string::size_type i = identifier.find(s_pack);
56 if (i != identifier.npos)
58 identifier.erase(i, s_pack.length());
62 const std::string s_open =
"<";
63 const std::string s_dash =
"-";
64 i = identifier.find(s_open);
65 if (i != identifier.npos)
67 identifier.replace(i, s_open.length(), s_dash);
71 const std::string s_comma =
",";
72 i = identifier.find(s_comma);
73 while (i != identifier.npos)
75 identifier.replace(i, s_comma.length(), s_dash);
76 i = identifier.find(s_comma, i);
80 const std::string s_end =
">)>::type";
81 i = identifier.find(s_end);
82 if (i != identifier.npos)
84 identifier.erase(i, s_end.length());