You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

68 lines
1.1 KiB

#pragma once
#include <string>
#include <sstream>
#include <chrono>
#include <iostream>
namespace display
{
inline std::string escape_csv(const std::string& value)
{
std::stringstream ret;
ret<<"\"";
for(auto v : value)
{
switch(v)
{
case '\n':
ret << "\\n";
break;
case '\t':
ret << "\\t";
break;
case '"':
ret << "\\\"";
break;
default:
ret << v;
break;
}
}
ret<<"\"";
return ret.str();
}
inline std::string to_string(std::chrono::seconds v)
{
std::stringstream ret;
ret << v.count() << " second" << (v.count()!=1?"s":"");
return ret.str();
}
inline std::string to_string(std::chrono::minutes v)
{
std::stringstream ret;
ret << v.count() << " minute" << (v.count()!=1?"s":"");
return ret.str();
}
inline void header(std::string app_name)
{
std::cout << "\033[2J" << "\033[1;1H";
std::cout << "Rigid Paradise's "<<app_name<<std::endl;
}
template<typename T>
void pair_set(const T& value)
{
for(auto action : value)
{
std::cout << " [" << action.first << "]: " << action.second<<std::endl;
}
}
}