1/* 2 * Copyright (c) 1999 3 * Boris Fomitchev 4 * 5 * This material is provided "as is", with absolutely no warranty expressed 6 * or implied. Any use is at your own risk. 7 * 8 * Permission to use or copy this software for any purpose is hereby granted 9 * without fee, provided the above notices are retained on all copies. 10 * Permission to modify the code and to distribute modified code is granted, 11 * provided the above notices are retained, and a notice that the code was 12 * modified is included with the above copyright notice. 13 * 14 */ 15 16#ifndef _STLP_IOSTREAM_H 17#define _STLP_IOSTREAM_H 18 19#ifndef _STLP_OUTERMOST_HEADER_ID 20# define _STLP_OUTERMOST_HEADER_ID 0x2035 21# include <stl/_prolog.h> 22#endif 23 24#include <iostream> 25 26// Those should be included all separately, as they do contain using declarations 27#include <streambuf.h> 28#include <ostream.h> 29#include <istream.h> 30 31#ifndef _STLP_HAS_NO_NAMESPACES 32 33# ifdef _STLP_BROKEN_USING_DIRECTIVE 34_STLP_USING_NAMESPACE(stlport) 35# else 36using _STLP_STD::cin; 37using _STLP_STD::cout; 38using _STLP_STD::clog; 39using _STLP_STD::cerr; 40using _STLP_STD::iostream; 41# ifndef _STLP_NO_WCHAR_T 42using _STLP_STD::wcin; 43using _STLP_STD::wcout; 44using _STLP_STD::wclog; 45using _STLP_STD::wcerr; 46# endif 47# endif 48#endif /* _STLP_HAS_NO_NAMESPACES */ 49 50// Obsolete classes for old-style backwards compatibility 51 52 53class istream_withassign : public istream { 54 public: 55 istream_withassign() : istream((streambuf*)0) {} 56 ~istream_withassign() {} 57 58 istream_withassign& operator=(istream& __s) { 59 ios::init(__s.rdbuf()); 60 return *this; 61 } 62 istream_withassign& operator=(streambuf* __s) { 63 ios::init(__s); 64 return *this; 65 } 66}; 67 68class ostream_withassign : public ostream { 69 public: 70 ostream_withassign() : ostream((streambuf*)0) {} 71 ~ostream_withassign() {} 72 73 ostream_withassign& operator=(ostream& __s) { 74 ios::init(__s.rdbuf()); 75 return *this; 76 } 77 ostream_withassign& operator=(streambuf* __s) { 78 ios::init(__s); 79 return *this; 80 } 81}; 82 83class iostream_withassign : public iostream { 84 public: 85 iostream_withassign() : iostream((streambuf*)0) {} 86 ~iostream_withassign() {} 87 iostream_withassign & operator=(ios& __i) { 88 ios::init(__i.rdbuf()); 89 return *this; 90 } 91 iostream_withassign & operator=(streambuf* __s) { 92 ios::init(__s); 93 return *this; 94 } 95} ; 96 97#if (_STLP_OUTERMOST_HEADER_ID == 0x2035) 98# include <stl/_epilog.h> 99# undef _STLP_OUTERMOST_HEADER_ID 100#endif 101 102#endif /* _STLP_IOSTREAM_H */ 103 104// Local Variables: 105// mode:C++ 106// End: 107