#ifndef _STLP_INTERNAL_IOSFWD #define _STLP_INTERNAL_IOSFWD #if defined (__sgi) && !defined (__GNUC__) && !defined (_STANDARD_C_PLUS_PLUS) # error This header file requires the -LANG:std option #endif // This file provides forward declarations of the most important I/O // classes. Note that almost all of those classes are class templates, // with default template arguments. According to the C++ standard, // if a class template is declared more than once in the same scope // then only one of those declarations may have default arguments. // contains the same declarations as other headers, and including // both and (say) is permitted. This means that only // one header may contain those default template arguments. // In this implementation, the declarations in contain default // template arguments. All of the other I/O headers include . #ifndef _STLP_CHAR_TRAITS_H # include #endif _STLP_BEGIN_NAMESPACE class ios_base; template ) > class basic_ios; template ) > class basic_streambuf; template ) > class basic_istream; template ) > class basic_ostream; template ) > class basic_iostream; template ), _STLP_DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) > class basic_stringbuf; template ), _STLP_DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) > class basic_istringstream; template ), _STLP_DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) > class basic_ostringstream; template ), _STLP_DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) > class basic_stringstream; template ) > class basic_filebuf; template ) > class basic_ifstream; template ) > class basic_ofstream; template ) > class basic_fstream; template ) > class istreambuf_iterator; template ) > class ostreambuf_iterator; typedef basic_ios > ios; #if !defined (_STLP_NO_WCHAR_T) typedef basic_ios > wios; #endif // Forward declaration of class locale, and of the most important facets. class locale; template #if defined (_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) struct _Use_facet { const locale& __loc; _Use_facet(const locale& __p_loc) : __loc(__p_loc) {} inline const _Facet& operator *() const; }; # define use_facet *_Use_facet #else inline const _Facet& use_facet(const locale&); #endif template class ctype; template class ctype_byname; template class collate; template class collate_byname; _STLP_TEMPLATE_NULL class ctype; _STLP_TEMPLATE_NULL class ctype_byname; _STLP_TEMPLATE_NULL class collate; _STLP_TEMPLATE_NULL class collate_byname; #if !defined (_STLP_NO_WCHAR_T) _STLP_TEMPLATE_NULL class ctype; _STLP_TEMPLATE_NULL class ctype_byname; _STLP_TEMPLATE_NULL class collate; _STLP_TEMPLATE_NULL class collate_byname; #endif #if !(defined (__SUNPRO_CC) && __SUNPRO_CC < 0x500 ) // Typedefs for ordinary (narrow-character) streams. //_STLP_TEMPLATE_NULL class basic_streambuf >; #endif typedef basic_istream > istream; typedef basic_ostream > ostream; typedef basic_iostream > iostream; typedef basic_streambuf > streambuf; typedef basic_stringbuf, allocator > stringbuf; typedef basic_istringstream, allocator > istringstream; typedef basic_ostringstream, allocator > ostringstream; typedef basic_stringstream, allocator > stringstream; typedef basic_filebuf > filebuf; typedef basic_ifstream > ifstream; typedef basic_ofstream > ofstream; typedef basic_fstream > fstream; #if !defined (_STLP_NO_WCHAR_T) // Typedefs for wide-character streams. typedef basic_streambuf > wstreambuf; typedef basic_istream > wistream; typedef basic_ostream > wostream; typedef basic_iostream > wiostream; typedef basic_stringbuf, allocator > wstringbuf; typedef basic_istringstream, allocator > wistringstream; typedef basic_ostringstream, allocator > wostringstream; typedef basic_stringstream, allocator > wstringstream; typedef basic_filebuf > wfilebuf; typedef basic_ifstream > wifstream; typedef basic_ofstream > wofstream; typedef basic_fstream > wfstream; #endif _STLP_END_NAMESPACE #endif // Local Variables: // mode:C++ // End: