home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 May / VPR9705A.ISO / VPR_DATA / PROGRAM / CBTRIAL / SETUP / DATA.Z / STDIOSTR.H < prev    next >
C/C++ Source or Header  |  1997-02-14  |  2KB  |  114 lines

  1. /* stdiostream.h -- class stdiobuf and stdiostream declarations
  2.  
  3.     NOTE: These are inefficient and obsolete.  Use the standard classes and
  4.     functions in <fstream.h> instead.
  5. */
  6.  
  7. /*
  8.  *      C/C++ Run Time Library - Version 8.0
  9.  *
  10.  *      Copyright (c) 1990, 1997 by Borland International
  11.  *      All Rights Reserved.
  12.  *
  13.  */
  14. /* $Revision:   8.1  $ */
  15.  
  16. #ifndef __cplusplus
  17. #error Must use C++ for the type stdiostream.
  18. #endif
  19.  
  20. #ifndef __STDSTREAM_H
  21. #define __STDSTREAM_H
  22.  
  23. #if !defined( ___DEFS_H )
  24. #include <_defs.h>
  25. #endif
  26.  
  27. #if !defined( __IOSTREAM_H )
  28. #include <iostream.h>
  29. #endif
  30.  
  31. #if !defined( __STDIO_H )
  32. #include <stdio.h>
  33. #endif
  34.  
  35.  
  36. #if !defined(RC_INVOKED)
  37.  
  38. #if defined(__BCOPT__)
  39. #if !defined(_RTL_ALLOW_po) && !defined(__FLAT__)
  40. #pragma option -po-     // disable Object data calling convention
  41. #endif
  42. #endif
  43.  
  44. #if !defined(__TINY__)
  45. #pragma option -RT
  46. #endif
  47.  
  48. #pragma option -Vo-
  49.  
  50. #if defined(__STDC__)
  51. #pragma warn -nak
  52. #endif
  53.  
  54. #endif  /* !RC_INVOKED */
  55.  
  56.  
  57. _CLASSDEF(stdiobuf)
  58. _CLASSDEF(stdiostream)
  59.  
  60. class _EXPCLASS stdiobuf : public streambuf {
  61. public:
  62.     _RTLENTRY stdiobuf(FILE _FAR *);
  63.     FILE _FAR * _RTLENTRY stdiofile();
  64.     _RTLENTRY ~stdiobuf();
  65.  
  66.     virtual int _RTLENTRY overflow(int=EOF);
  67.     virtual int _RTLENTRY pbackfail(int);
  68.     virtual int _RTLENTRY sync();
  69.     virtual streampos _RTLENTRY seekoff(streamoff, ios::seek_dir, int);
  70.     virtual int _RTLENTRY underflow();
  71.  
  72. private:
  73.     FILE _FAR * sio;
  74.     char    lahead[2];
  75. };
  76. inline  FILE _FAR * _RTLENTRY stdiobuf::stdiofile() { return sio; }
  77.  
  78.  
  79. class _EXPCLASS stdiostream : public ios {
  80. public:
  81.         _RTLENTRY stdiostream(FILE _FAR *);
  82.         _RTLENTRY ~stdiostream();
  83.     stdiobuf _FAR * _RTLENTRY rdbuf();
  84.  
  85. private:
  86.     stdiobuf buf;
  87. };
  88. inline  stdiobuf _FAR * _RTLENTRY stdiostream::rdbuf() { return &buf; }
  89.  
  90.  
  91. #if !defined(RC_INVOKED)
  92.  
  93. #if defined(__STDC__)
  94. #pragma warn .nak
  95. #endif
  96.  
  97. #pragma option -Vo.
  98.  
  99. #if !defined(__TINY__)
  100. #pragma option -RT.
  101. #endif
  102.  
  103. #if defined(__BCOPT__)
  104. #if !defined(_RTL_ALLOW_po) && !defined(__FLAT__)
  105. #pragma option -po.     // restore Object data calling convention
  106. #endif
  107. #endif
  108.  
  109. #endif  /* !RC_INVOKED */
  110.  
  111.  
  112. #endif   /* __STDSTREAM_H */
  113.  
  114.