home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.2 (Developer) / NS_dev_3.2.iso / NextDeveloper / Headers / g++ / stdiostream.h < prev    next >
C/C++ Source or Header  |  1993-06-29  |  1KB  |  44 lines

  1. //    This is part of the iostream library, providing -*- C++ -*- input/output.
  2. //    Copyright (C) 1992 Per Bothner.
  3. //
  4. //    This library is free software; you can redistribute it and/or
  5. //    modify it under the terms of the GNU Library General Public
  6. //    License as published by the Free Software Foundation; either
  7. //    version 2 of the License, or (at your option) any later version.
  8. //
  9. //    This library is distributed in the hope that it will be useful,
  10. //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12. //    Library General Public License for more details.
  13. //
  14. //    You should have received a copy of the GNU Library General Public
  15. //    License along with this library; if not, write to the Free
  16. //    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  
  18. #ifndef _STDIOSTREAM_H
  19. #define _STDIOSTREAM_H
  20.  
  21. #ifdef __GNUG__
  22. #pragma interface
  23. #endif
  24.  
  25. #include <streambuf.h>
  26. #include <stdio.h>
  27.  
  28. class stdiobuf : public filebuf {
  29.   protected:
  30.     FILE *_file;
  31.   public:
  32.     FILE* stdiofile() const { return _file; }
  33.     stdiobuf(FILE *f);
  34.     virtual _G_ssize_t sys_read(char* buf, _G_size_t size);
  35.     virtual fpos_t sys_seek(fpos_t, _seek_dir);
  36.     virtual _G_ssize_t sys_write(const void*, long);
  37.     virtual int sys_close();
  38.     virtual int sync();
  39.     virtual int overflow(int c = EOF);
  40.     virtual int xsputn(const char* s, int n);
  41. };
  42.  
  43. #endif /* !_STDIOSTREAM_H */
  44.