g13gui/g13d/repr.h
June Tate-Gans 1918d6875c g13d: Reformat all the files to Google style
This is closer to what I'm looking for, and gives us a style guide to boot.
2021-04-25 20:30:56 -05:00

38 lines
611 B
C++

#ifndef REPR_H
#define REPR_H
#include <ostream>
#include <string>
namespace G13 {
struct string_repr_out {
string_repr_out(const std::string &str) : s(str) {
}
void write_on(std::ostream &) const;
std::string s;
};
inline std::ostream &operator<<(std::ostream &o, const string_repr_out &sro) {
sro.write_on(o);
return o;
}
template <class T>
inline const T &repr(const T &v) {
return v;
}
inline string_repr_out repr(const char *s) {
return string_repr_out(s);
}
inline string_repr_out repr(const std::string &s) {
return string_repr_out(s);
}
} // namespace G13
#endif // REPR_H