// // libscio.hpp // libscio // // Created by Bob Polis at 2020-02-14 // Copyright (c) 2020 SwiftCoder. All rights reserved. // #ifndef _libscio_H_ #define _libscio_H_ #include #include #include namespace sc { namespace io { class fdoutbuf: public std::streambuf { public: fdoutbuf(int fd): _fd(fd) {} private: int _fd; int_type overflow(int_type c) override; std::streamsize xsputn(const char* s, std::streamsize num) override; }; class fdostream : public std::ostream { public: fdostream(int fd) : std::ostream(&_buf), _buf(fd) {} private: fdoutbuf _buf; }; class fdinbuf : public std::streambuf { }; class fdistream : public std::istream { }; } } #endif // _libscio_H_