Home | History | Annotate | Download | only in stlport
      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:
    107