|
|
1.1 ! root 1: /* This is part of libio/iostream, providing -*- C++ -*- input/output. ! 2: Copyright (C) 1988, 1992, 1993 Free Software Foundation ! 3: written by Doug Lea ([email protected]) ! 4: ! 5: This file is part of the GNU IO Library. This library is free ! 6: software; you can redistribute it and/or modify it under the ! 7: terms of the GNU General Public License as published by the ! 8: Free Software Foundation; either version 2, or (at your option) ! 9: any later version. ! 10: ! 11: This library is distributed in the hope that it will be useful, ! 12: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 14: GNU General Public License for more details. ! 15: ! 16: You should have received a copy of the GNU General Public License ! 17: along with GNU CC; see the file COPYING. If not, write to ! 18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. ! 19: ! 20: As a special exception, if you link this library with files ! 21: compiled with a GNU compiler to produce an executable, this does not cause ! 22: the resulting executable to be covered by the GNU General Public License. ! 23: This exception does not however invalidate any other reasons why ! 24: the executable file might be covered by the GNU General Public License. */ ! 25: ! 26: #ifndef _SFile_h ! 27: #ifdef __GNUG__ ! 28: #pragma interface ! 29: #pragma cplusplus ! 30: #endif ! 31: #define _SFile_h 1 ! 32: ! 33: #include <fstream.h> ! 34: ! 35: class SFile: public fstream ! 36: { ! 37: protected: ! 38: int sz; // unit size for structured binary IO ! 39: ! 40: public: ! 41: SFile() : fstream() { } ! 42: SFile(int fd, int size); ! 43: SFile(const char *name, int size, int mode, int prot=0664); ! 44: void open(const char *name, int size, int mode, int prot=0664); ! 45: ! 46: int size() { return sz; } ! 47: int setsize(int s) { int old = sz; sz = s; return old; } ! 48: ! 49: SFile& get(void* x); ! 50: SFile& put(void* x); ! 51: SFile& operator[](long i); ! 52: }; ! 53: ! 54: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.