#include <iostream>
#include<map>
#include<string>
template <typename T>
bool is_escape(const T& str)
{
if constexpr(std::is_convertible_v<T, std::string>)
{
return ! std::string(str).rfind( "\033", 0 );
}
else
{
return false;
}
}
int main()
{
std::cout<< is_escape( "\033[31m" )<<std::endl; // true
std::cout<<is_escape( "hello" )<<std::endl; //false
std::cout<<is_escape(1)<<std::endl; //false
return 0;
}