#pragma once #include "strings.hpp" #include "message_std.hpp" namespace msg { inline string ToString(char const * s) { return s; } /// Override ToString function for your custom class in it's namespace. /// Your function will be called according to the ADL lookup. /// This is the default "last chance" implementation. template inline string ToString(T const & t) { return str::ToString(t); } inline string MessageList() { return string(); } template inline string MessageList(T1 const & t1) { return ToString(t1); } template inline string MessageList(T1 const & t1, T2 const & t2) { return ToString(t1) + " " + ToString(t2); } template inline string MessageList(T1 const & t1, T2 const & t2, T3 const & t3) { return MessageList(t1, t2) + " " + ToString(t3); } }