#pragma once #include #include #include namespace Base { class TextOutputStream { public: explicit TextOutputStream(std::ostream& stream) : output(stream) {} TextOutputStream& operator<<(const char* value) { output << value; return *this; } private: std::ostream& output; }; class TextInputStream { public: explicit TextInputStream(std::istream& stream) : input(stream) {} TextInputStream& operator>>(std::string& value) { input >> value; return *this; } private: std::istream& input; }; } // namespace Base