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