#if 0
#pragma once

#include <iostream>
#include <streambuf>
#include <cstdio>
#include <unistd.h>

namespace streams
{
  class fdoutbuf : public std::streambuf
  {
    protected:
      int fd;

      virtual int_type overflow(int_type c)
      {
        if (c != EOF) {
          char z = c;
          if (write (fd, &z, 1) != 1)
            return EOF;
        }

        return c;
      }

      virtual std::streamsize xsputn(const char* s, std::streamsize num) {
        return write(fd,s,num);
      }

    public:
      fdoutbuf(int _fd) : fd(_fd) {}
  };

  class fdout : public std::ostream
  {
    protected:
      fdoutbuf buf;

    public:
      fdout(int fd) : std::ostream(0), buf(fd) {
        rdbuf(&buf);
      }
  };
}
#endif