53 lines
1.1 KiB
C++
53 lines
1.1 KiB
C++
/* stdiostream.h -- class stdiobuf and stdiostream declarations
|
|
|
|
Copyright (c) 1990 by Borland International
|
|
All rights reserved
|
|
|
|
NOTE: These are inefficient and obsolete. Use the standard classes and
|
|
functions in <fstream.h> instead.
|
|
*/
|
|
|
|
#ifndef __STDSTREAM_H
|
|
#define __STDSTREAM_H
|
|
|
|
#include <iostream.h>
|
|
#include <stdio.h>
|
|
|
|
#if __STDC__
|
|
#define _Cdecl
|
|
#else
|
|
#define _Cdecl cdecl
|
|
#endif
|
|
|
|
class stdiobuf : public streambuf {
|
|
public:
|
|
_Cdecl stdiobuf(FILE*);
|
|
FILE* _Cdecl stdiofile();
|
|
_Cdecl ~stdiobuf();
|
|
|
|
virtual int _Cdecl overflow(int=EOF);
|
|
virtual int _Cdecl pbackfail(int);
|
|
virtual int _Cdecl sync();
|
|
virtual streampos _Cdecl seekoff(streamoff, seek_dir, int);
|
|
virtual int _Cdecl underflow();
|
|
|
|
private:
|
|
FILE* sio;
|
|
char lahead[2];
|
|
};
|
|
inline FILE* _Cdecl stdiobuf::stdiofile() { return sio; }
|
|
|
|
|
|
class stdiostream : public ios {
|
|
public:
|
|
_Cdecl stdiostream(FILE*);
|
|
_Cdecl ~stdiostream();
|
|
stdiobuf* _Cdecl rdbuf();
|
|
|
|
private:
|
|
stdiobuf buf;
|
|
};
|
|
inline stdiobuf* _Cdecl stdiostream::rdbuf() { return &buf; }
|
|
|
|
#endif
|