/home/ntakagi/work/STLport-5.1.5/stlport/stl/_iosfwd.h

Go to the documentation of this file.
00001 #ifndef _STLP_INTERNAL_IOSFWD
00002 #define _STLP_INTERNAL_IOSFWD
00003 
00004 #if defined (__sgi) && !defined (__GNUC__) && !defined (_STANDARD_C_PLUS_PLUS)
00005 #  error This header file requires the -LANG:std option
00006 #endif
00007 
00008 // This file provides forward declarations of the most important I/O
00009 // classes.  Note that almost all of those classes are class templates,
00010 // with default template arguments.  According to the C++ standard,
00011 // if a class template is declared more than once in the same scope
00012 // then only one of those declarations may have default arguments.
00013 
00014 // <iosfwd> contains the same declarations as other headers, and including
00015 // both <iosfwd> and (say) <iostream> is permitted.  This means that only
00016 // one header may contain those default template arguments.
00017 
00018 // In this implementation, the declarations in <iosfwd> contain default
00019 // template arguments.  All of the other I/O headers include <iosfwd>.
00020 
00021 #ifndef _STLP_CHAR_TRAITS_H
00022 #  include <stl/char_traits.h>
00023 #endif
00024 
00025 _STLP_BEGIN_NAMESPACE
00026 
00027 class ios_base;
00028 
00029 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
00030 class basic_ios;
00031 
00032 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
00033 class basic_streambuf;
00034 
00035 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
00036 class basic_istream;
00037 
00038 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
00039 class basic_ostream;
00040 
00041 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
00042 class basic_iostream;
00043 
00044 template <class _CharT, _STLP_DFL_TMPL_PARAM( _Traits , char_traits<_CharT>),
00045           _STLP_DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) >
00046 class basic_stringbuf;
00047 
00048 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>),
00049           _STLP_DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) >
00050 class basic_istringstream;
00051 
00052 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>),
00053           _STLP_DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) >
00054 class basic_ostringstream;
00055 
00056 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>),
00057           _STLP_DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) >
00058 class basic_stringstream;
00059 
00060 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
00061 class basic_filebuf;
00062 
00063 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
00064 class basic_ifstream;
00065 
00066 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
00067 class basic_ofstream;
00068 
00069 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
00070 class basic_fstream;
00071 
00072 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
00073 class istreambuf_iterator;
00074 
00075 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
00076 class ostreambuf_iterator;
00077 
00078 typedef basic_ios<char, char_traits<char> >    ios;
00079 
00080 #if !defined (_STLP_NO_WCHAR_T)
00081 typedef basic_ios<wchar_t, char_traits<wchar_t> > wios;
00082 #endif
00083 
00084 // Forward declaration of class locale, and of the most important facets.
00085 class locale;
00086 #if defined (_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS)
00087 template <class _Facet>
00088 struct _Use_facet {
00089   const locale& __loc;
00090   _Use_facet(const locale& __p_loc) : __loc(__p_loc) {}
00091   inline const _Facet& operator *() const;
00092 };
00093 #  define use_facet *_Use_facet
00094 #else
00095 template <class _Facet> inline const _Facet& use_facet(const locale&);
00096 #endif
00097 
00098 template <class _CharT> class ctype;
00099 template <class _CharT> class ctype_byname;
00100 template <class _CharT> class collate;
00101 template <class _CharT> class collate_byname;
00102 
00103 _STLP_TEMPLATE_NULL class ctype<char>;
00104 _STLP_TEMPLATE_NULL class ctype_byname<char>;
00105 _STLP_TEMPLATE_NULL class collate<char>;
00106 _STLP_TEMPLATE_NULL class collate_byname<char>;
00107 
00108 #if !defined (_STLP_NO_WCHAR_T)
00109 _STLP_TEMPLATE_NULL class ctype<wchar_t>;
00110 _STLP_TEMPLATE_NULL class ctype_byname<wchar_t>;
00111 _STLP_TEMPLATE_NULL class collate<wchar_t>;
00112 _STLP_TEMPLATE_NULL class collate_byname<wchar_t>;
00113 #endif
00114 
00115 #if !(defined (__SUNPRO_CC) && __SUNPRO_CC < 0x500 )
00116 // Typedefs for ordinary (narrow-character) streams.
00117 //_STLP_TEMPLATE_NULL class basic_streambuf<char, char_traits<char> >;
00118 #endif
00119 
00120 typedef basic_istream<char, char_traits<char> >  istream;
00121 typedef basic_ostream<char, char_traits<char> >  ostream;
00122 typedef basic_iostream<char, char_traits<char> > iostream;
00123 typedef basic_streambuf<char,char_traits<char> > streambuf;
00124 
00125 typedef basic_stringbuf<char, char_traits<char>, allocator<char> >     stringbuf;
00126 typedef basic_istringstream<char, char_traits<char>, allocator<char> > istringstream;
00127 typedef basic_ostringstream<char, char_traits<char>, allocator<char> > ostringstream;
00128 typedef basic_stringstream<char, char_traits<char>, allocator<char> >  stringstream;
00129 
00130 typedef basic_filebuf<char, char_traits<char> >  filebuf;
00131 typedef basic_ifstream<char, char_traits<char> > ifstream;
00132 typedef basic_ofstream<char, char_traits<char> > ofstream;
00133 typedef basic_fstream<char, char_traits<char> >  fstream;
00134 
00135 #if !defined (_STLP_NO_WCHAR_T)
00136 // Typedefs for wide-character streams.
00137 typedef basic_streambuf<wchar_t, char_traits<wchar_t> > wstreambuf;
00138 typedef basic_istream<wchar_t, char_traits<wchar_t> >   wistream;
00139 typedef basic_ostream<wchar_t, char_traits<wchar_t> >   wostream;
00140 typedef basic_iostream<wchar_t, char_traits<wchar_t> >  wiostream;
00141 
00142 typedef basic_stringbuf<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >     wstringbuf;
00143 typedef basic_istringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wistringstream;
00144 typedef basic_ostringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wostringstream;
00145 typedef basic_stringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >  wstringstream;
00146 
00147 typedef basic_filebuf<wchar_t, char_traits<wchar_t> >  wfilebuf;
00148 typedef basic_ifstream<wchar_t, char_traits<wchar_t> > wifstream;
00149 typedef basic_ofstream<wchar_t, char_traits<wchar_t> > wofstream;
00150 typedef basic_fstream<wchar_t, char_traits<wchar_t> >  wfstream;
00151 #endif
00152 
00153 _STLP_END_NAMESPACE
00154 
00155 #endif
00156 
00157 // Local Variables:
00158 // mode:C++
00159 // End:



Generated on Mon Mar 10 15:32:25 2008 by  doxygen 1.5.1