1
0

utils: Introduce catv()

Este cometimento está contido em:
2025-11-03 19:59:26 +01:00
ascendente a31d88c7b3
cometimento ffa59d4b36
2 ficheiros modificados com 26 adições e 0 eliminações

Ver ficheiro

@@ -214,3 +214,27 @@ std::string utils::trim(std::string_view view)
}
return std::string{view};
}
std::string utils::catv(std::string_view view)
{
std::string result;
result.reserve(view.length());
for(auto c : view)
{
if (!isascii(c))
{
result += "M-";
result += toascii(c);
}
else if(iscntrl(c))
{
result += '^';
result += c == '\177' ? '?': c | 0100;
}
else
{
result += c;
}
}
return result;
}

Ver ficheiro

@@ -91,6 +91,8 @@ template <class T> inline std::string toString(const T &v)
}
std::string trim(std::string_view view);
std::string catv(std::string_view view);
} // namespace utils
#endif