15 #ifndef PANDAFILESTREAM_H 16 #define PANDAFILESTREAM_H 18 #include "dtoolbase.h" 20 #ifdef USE_PANDAFILESTREAM 22 #include "pandaFileStreamBuf.h" 33 class EXPCL_DTOOL IFileStream :
public istream {
36 INLINE IFileStream(
const char *filename, ios::openmode mode = ios::in);
37 INLINE ~IFileStream();
39 INLINE
void open(
const char *filename, ios::openmode mode = ios::in);
43 INLINE
void attach(
const char *filename, HANDLE handle, ios::openmode mode = ios::in);
45 INLINE
void attach(
const char *filename,
int fd, ios::openmode mode = ios::in);
52 PandaFileStreamBuf _buf;
64 class EXPCL_DTOOL OFileStream :
public ostream {
67 INLINE OFileStream(
const char *filename, ios::openmode mode = ios::out);
68 INLINE ~OFileStream();
70 INLINE
void open(
const char *filename, ios::openmode mode = ios::out);
74 INLINE
void attach(
const char *filename, HANDLE handle, ios::openmode mode = ios::out);
76 INLINE
void attach(
const char *filename,
int fd, ios::openmode mode = ios::out);
83 PandaFileStreamBuf _buf;
95 class EXPCL_DTOOL FileStream :
public iostream {
98 INLINE FileStream(
const char *filename, ios::openmode mode = ios::in);
101 INLINE
void open(
const char *filename, ios::openmode mode = ios::in);
105 INLINE
void attach(
const char *filename, HANDLE handle, ios::openmode mode);
107 INLINE
void attach(
const char *filename,
int fd, ios::openmode mode);
114 PandaFileStreamBuf _buf;
117 #include "pandaFileStream.I" 119 typedef IFileStream pifstream;
120 typedef OFileStream pofstream;
121 typedef FileStream pfstream;
123 #else // USE_PANDAFILESTREAM 125 typedef ifstream pifstream;
126 typedef ofstream pofstream;
127 typedef fstream pfstream;
129 #endif // USE_PANDAFILESTREAM