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