class output_interface { public: virtual ~output_interface() = default; virtual output_interface& operator<<(const string&) = 0; };