#ifndef _STREAM_
#define _STREAM_

#ifndef EOF
#define EOF (-1)
#endif

namespace std
{

class streambuf
{
protected:
   setp(char* begin, char* end);
   setg(char* begin, char* next, char* end);
   char* pbase() const;
   char* pptr() const;
   char* gptr() const;
   char* egptr() const;
   char* epptr() const;
   char* eback() const;
   void pbump(int n);
   void gbump(int n);
};

class ios
{
public:
   enum fmtflags { scientific = 1, showpoint = 2, skipws = 4, left = 8, right = 16, fixed = 32 };
   enum openmode { ate = 1, app = 2, in = 4, out = 8 };
   enum iostate  { badbit = 1, eofbit = 2, failbit = 4, goodbit = 8};
   bool good() const;
   bool eof()  const;
   bool fail() const;
   bool bad()  const;
   operator void*() const;
   bool operator!() const;
   fmtflags setf(fmtflags);
   iostate rdstate() const;
   void clear(iostate f = goodbit);
   void setstate(iostate f);
   void init(streambuf* b);   
};

class smanip
{
};

smanip& setprecision(int);
smanip& setw(int);

}

#endif