19720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/*
29720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Copyright (c) 1999
39720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Boris Fomitchev
49720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block *
59720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * This material is provided "as is", with absolutely no warranty expressed
69720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * or implied. Any use is at your own risk.
79720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block *
89720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Permission to use or copy this software for any purpose is hereby granted
99720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * without fee, provided the above notices are retained on all copies.
109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Permission to modify the code and to distribute modified code is granted,
119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * provided the above notices are retained, and a notice that the code was
129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * modified is included with the above copyright notice.
139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block *
149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */
159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifndef _STLP_IOSTREAM_H
179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_IOSTREAM_H
189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifndef _STLP_OUTERMOST_HEADER_ID
209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  define _STLP_OUTERMOST_HEADER_ID 0x2035
219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  include <stl/_prolog.h>
229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif
239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#include <iostream>
259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Those should be included all separately, as they do contain using declarations
279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#include <streambuf.h>
289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#include <ostream.h>
299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#include <istream.h>
309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifndef _STLP_HAS_NO_NAMESPACES
329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  ifdef _STLP_BROKEN_USING_DIRECTIVE
349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block_STLP_USING_NAMESPACE(stlport)
359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  else
369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockusing _STLP_STD::cin;
379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockusing _STLP_STD::cout;
389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockusing _STLP_STD::clog;
399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockusing _STLP_STD::cerr;
409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockusing _STLP_STD::iostream;
419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#    ifndef _STLP_NO_WCHAR_T
429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockusing _STLP_STD::wcin;
439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockusing _STLP_STD::wcout;
449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockusing _STLP_STD::wclog;
459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockusing _STLP_STD::wcerr;
469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#    endif
479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  endif
489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif /* _STLP_HAS_NO_NAMESPACES */
499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Obsolete classes for old-style backwards compatibility
519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockclass istream_withassign : public istream {
549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block public:
559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  istream_withassign() : istream((streambuf*)0) {}
569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  ~istream_withassign() {}
579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  istream_withassign& operator=(istream& __s) {
599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    ios::init(__s.rdbuf());
609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    return *this;
619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  }
629720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  istream_withassign& operator=(streambuf* __s) {
639720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    ios::init(__s);
649720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    return *this;
659720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  }
669720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block};
679720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
689720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockclass ostream_withassign : public ostream {
699720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block public:
709720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  ostream_withassign() : ostream((streambuf*)0) {}
719720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  ~ostream_withassign() {}
729720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
739720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  ostream_withassign& operator=(ostream& __s) {
749720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    ios::init(__s.rdbuf());
759720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    return *this;
769720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  }
779720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  ostream_withassign& operator=(streambuf* __s) {
789720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    ios::init(__s);
799720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    return *this;
809720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  }
819720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block};
829720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
839720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Blockclass iostream_withassign : public iostream {
849720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block public:
859720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  iostream_withassign() : iostream((streambuf*)0) {}
869720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  ~iostream_withassign() {}
879720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  iostream_withassign & operator=(ios& __i) {
889720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    ios::init(__i.rdbuf());
899720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    return *this;
909720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  }
919720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  iostream_withassign & operator=(streambuf* __s) {
929720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    ios::init(__s);
939720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block    return *this;
949720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block  }
959720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block} ;
969720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
979720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if (_STLP_OUTERMOST_HEADER_ID == 0x2035)
989720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  include <stl/_epilog.h>
999720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#  undef _STLP_OUTERMOST_HEADER_ID
1009720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif
1019720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1029720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif /* _STLP_IOSTREAM_H */
1039720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block
1049720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Local Variables:
1059720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// mode:C++
1069720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// End:
107