#include using namespace Upp; #define LDUMP(x) x template String AsHash(const T& x) { Sha1Stream s; const_cast(x).Serialize(s); return s.FinishString(); } CONSOLE_APP_MAIN { Pointf x(1, 2); DDUMP(AsHash(x)); DDUMP(AsHash(Pointf(1, 2))); DDUMP(AsHash(Pointf(2, 2))); }