// -*- C++ -*- /*************************************************************************** * * iosfwd - forward declarations for the iostreams * * $Id: iosfwd 172106 2011-11-02 17:04:12Z statham $ * *************************************************************************** * * Copyright (c) 1994-2001 Rogue Wave Software, Inc. All Rights Reserved. * * This computer software is owned by Rogue Wave Software, Inc. and is * protected by U.S. copyright laws and other laws and by international * treaties. This computer software is furnished by Rogue Wave Software, * Inc. pursuant to a written license agreement and may be used, copied, * transmitted, and stored only in accordance with the terms of such * license and with the inclusion of the above copyright notice. This * computer software or any other copies thereof may not be provided or * otherwise made available to any other person. * * U.S. Government Restricted Rights. This computer software is provided * with Restricted Rights. Use, duplication, or disclosure by the * Government is subject to restrictions as set forth in subparagraph (c) * (1) (ii) of The Rights in Technical Data and Computer Software clause * at DFARS 252.227-7013 or subparagraphs (c) (1) and (2) of the * Commercial Computer Software--Restricted Rights at 48 CFR 52.227-19, * as applicable. Manufacturer is Rogue Wave Software, Inc., 5500 * Flatiron Parkway, Boulder, Colorado 80301 USA. * **************************************************************************/ #ifndef _RWSTD_IOSFWD_INCLUDED #define _RWSTD_IOSFWD_INCLUDED #include #ifndef _RWSTD_NO_MBSTATE_T # if defined (__GNUG__) && __GNUG__ < 3 &&__GNUC_MINOR__ < 96 // included to work around a g++ 2.95.2 bug # include _RWSTD_CSTRING # endif // get mbstate_t (and wchar_t for MSVC 6.0) # include _RWSTD_CWCHAR # if defined (_RWSTD_NO_LIBC_IN_STD) _RWSTD_NAMESPACE_BEGIN (std) // bring global mbstate_t into namespace std if it's not there yet _USING (::mbstate_t); _RWSTD_NAMESPACE_END // std # endif // _RWSTD_NO_LIBC_IN_STD #else // if defined (_RWSTD_NO_MBSTATE_T) _RWSTD_NAMESPACE_BEGIN (std) struct mbstate_t { mbstate_t () : _C_state (0) { } mbstate_t (const mbstate_t & __rhs) : _C_state(__rhs._C_state) { } mbstate_t& operator= (const mbstate_t &__rhs) { if (&__rhs != this) _C_state = __rhs._C_state; return *this; } bool operator== (const mbstate_t &__rhs) const { return _C_state == __rhs._C_state; } bool operator!= (const mbstate_t &__rhs) const { return !(*this == __rhs); } long _C_state; }; _RWSTD_NAMESPACE_END // std #endif // _RWSTD_NO_MBSTATE_T _RWSTD_NAMESPACE_BEGIN (std) template class allocator; template struct char_traits; _RWSTD_SPECIALIZED_CLASS struct char_traits; #ifndef _RWSTD_NO_WCHAR_T _RWSTD_SPECIALIZED_CLASS struct char_traits; #endif // _RWSTD_NO_WCHAR_T template) > class basic_ios; template) > class basic_streambuf; // 27.2, p4 template) > class basic_istream; // 27.2, p5 template) > class basic_ostream; template), class _Allocator _RWSTD_COMPLEX_DEFAULT (allocator<_CharT>) > class basic_stringbuf; template), class _Allocator _RWSTD_COMPLEX_DEFAULT (allocator<_CharT>) > class basic_istringstream; template), class _Allocator _RWSTD_COMPLEX_DEFAULT (allocator<_CharT>) > class basic_ostringstream; template) > class basic_filebuf; template) > class basic_ifstream; template) > class basic_ofstream; template) > class ostreambuf_iterator; template) > class istreambuf_iterator; // 27.2, p6 template) > class basic_iostream; template) > class basic_fstream; template), class _Allocator _RWSTD_COMPLEX_DEFAULT (allocator<_CharT>) > class basic_stringstream; #ifndef _RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES typedef basic_ios ios; typedef basic_streambuf streambuf; typedef basic_istream istream; typedef basic_ostream ostream; typedef basic_stringbuf stringbuf; typedef basic_istringstream istringstream; typedef basic_ostringstream ostringstream; typedef basic_filebuf filebuf; typedef basic_ifstream ifstream; typedef basic_ofstream ofstream; typedef basic_fstream fstream; typedef basic_iostream iostream; typedef basic_stringstream stringstream; #ifndef _RWSTD_NO_WCHAR_T typedef basic_ios wios; typedef basic_streambuf wstreambuf; typedef basic_istream wistream; typedef basic_ostream wostream; typedef basic_stringbuf wstringbuf; typedef basic_istringstream wistringstream; typedef basic_ostringstream wostringstream; typedef basic_filebuf wfilebuf; typedef basic_ifstream wifstream; typedef basic_ofstream wofstream; typedef basic_fstream wfstream; typedef basic_iostream wiostream; typedef basic_stringstream wstringstream; #endif // _RWSTD_NO_WCHAR_T #else typedef basic_ios > ios; typedef basic_streambuf > streambuf; typedef basic_istream > istream; typedef basic_ostream > ostream; typedef basic_stringbuf, allocator > stringbuf; typedef basic_istringstream, allocator > istringstream; typedef basic_ostringstream, allocator > ostringstream; typedef basic_filebuf > filebuf; typedef basic_ifstream > ifstream; typedef basic_ofstream > ofstream; typedef basic_fstream > fstream; typedef basic_iostream > iostream; typedef basic_stringstream, allocator > stringstream; #ifndef _RWSTD_NO_WCHAR_T typedef basic_ios > wios; typedef basic_streambuf > wstreambuf; typedef basic_istream > wistream; typedef basic_ostream > wostream; typedef basic_stringbuf, allocator > wstringbuf; typedef basic_istringstream, allocator > wistringstream; typedef basic_ostringstream, allocator > wostringstream; typedef basic_filebuf > wfilebuf; typedef basic_ifstream > wifstream; typedef basic_ofstream > wofstream; typedef basic_fstream > wfstream; typedef basic_iostream > wiostream; typedef basic_stringstream, allocator > wstringstream; #endif // _RWSTD_NO_WCHAR_T #endif // _RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES // 27.2, p8 template class fpos; // 27.2, p9 - identical to std::fpos::state_type> // and std::fpos::state_type>, respectively typedef fpos streampos; typedef fpos wstreampos; _RWSTD_NAMESPACE_END // std #endif // _RWSTD_IOSFWD_INCLUDED