|
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 |
|
36 using _STLP_STD::cin; |
|
37 using _STLP_STD::cout; |
|
38 using _STLP_STD::clog; |
|
39 using _STLP_STD::cerr; |
|
40 using _STLP_STD::iostream; |
|
41 # ifndef _STLP_NO_WCHAR_T |
|
42 using _STLP_STD::wcin; |
|
43 using _STLP_STD::wcout; |
|
44 using _STLP_STD::wclog; |
|
45 using _STLP_STD::wcerr; |
|
46 # endif |
|
47 # endif |
|
48 #endif /* _STLP_HAS_NO_NAMESPACES */ |
|
49 |
|
50 // Obsolete classes for old-style backwards compatibility |
|
51 |
|
52 |
|
53 class 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 |
|
68 class 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 |
|
83 class 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: |