#pragma once #include #include "object.hpp" void print(std::ostream& out, const printable& x) { x.print(out); } template void print(std::ostream& out, const printable& x, const Args&... rest) { x.print(out); print(out, rest...); }