libscio/libscio.hpp

52 lines
798 B
C++

//
// 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 <iostream>
#include <streambuf>
#include <cstdio>
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_