home *** CD-ROM | disk | FTP | other *** search
/ ftp.uni-stuttgart.de/pub/systems/acorn/ / Acorn.tar / Acorn / acornet / dev / c / gcc / g++lib.spk / h / stdiostrea < prev    next >
Text File  |  1993-12-07  |  2KB  |  49 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.  
  27. extern "C"
  28.   {
  29.   #include <stdio.h>
  30.   }
  31.  
  32.  
  33. class stdiobuf : public filebuf {
  34.   protected:
  35.     FILE *_file;
  36.   public:
  37.     FILE* stdiofile() const { return _file; }
  38.     stdiobuf(FILE *f);
  39.     virtual _G_ssize_t sys_read(char* buf, _G_size_t size);
  40.     virtual _G_fpos_t sys_seek(_G_fpos_t, _seek_dir);
  41.     virtual _G_ssize_t sys_write(const void*, long);
  42.     virtual int sys_close();
  43.     virtual int sync();
  44.     virtual int overflow(int c = EOF);
  45.     virtual int xsputn(const char* s, int n);
  46. };
  47.  
  48. #endif /* !_STDIOSTREAM_H */
  49.