14#ifndef PANDAFILESTREAM_H
15#define PANDAFILESTREAM_H
19#ifdef USE_PANDAFILESTREAM
29class EXPCL_DTOOL_DTOOLUTIL IFileStream :
public std::istream {
32 INLINE
explicit IFileStream(
const char *filename, std::ios::openmode mode = std::ios::in);
33 INLINE ~IFileStream();
35 INLINE
void open(
const char *filename, std::ios::openmode mode = std::ios::in);
39 INLINE
void attach(
const char *filename, HANDLE handle, std::ios::openmode mode = std::ios::in);
41 INLINE
void attach(
const char *filename,
int fd, std::ios::openmode mode = std::ios::in);
48 PandaFileStreamBuf _buf;
57class EXPCL_DTOOL_DTOOLUTIL OFileStream :
public std::ostream {
60 INLINE
explicit OFileStream(
const char *filename, std::ios::openmode mode = std::ios::out);
61 INLINE ~OFileStream();
63 INLINE
void open(
const char *filename, std::ios::openmode mode = std::ios::out);
67 INLINE
void attach(
const char *filename, HANDLE handle, std::ios::openmode mode = std::ios::out);
69 INLINE
void attach(
const char *filename,
int fd, std::ios::openmode mode = std::ios::out);
76 PandaFileStreamBuf _buf;
86class EXPCL_DTOOL_DTOOLUTIL FileStream :
public std::iostream {
89 INLINE
explicit FileStream(
const char *filename, std::ios::openmode mode = std::ios::in);
92 INLINE
void open(
const char *filename, std::ios::openmode mode = std::ios::in);
96 INLINE
void attach(
const char *filename, HANDLE handle, std::ios::openmode mode);
98 INLINE
void attach(
const char *filename,
int fd, std::ios::openmode mode);
105 PandaFileStreamBuf _buf;
110typedef IFileStream pifstream;
111typedef OFileStream pofstream;
112typedef FileStream pfstream;
116typedef ifstream pifstream;
117typedef ofstream pofstream;
118typedef fstream pfstream;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.