epoc32/include/stdapis/stlportv5/stl/_iosfwd.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 #ifndef _STLP_INTERNAL_IOSFWD
     2 #define _STLP_INTERNAL_IOSFWD
     3 
     4 #if defined (__sgi) && !defined (__GNUC__) && !defined (_STANDARD_C_PLUS_PLUS)
     5 #  error This header file requires the -LANG:std option
     6 #endif
     7 
     8 // This file provides forward declarations of the most important I/O
     9 // classes.  Note that almost all of those classes are class templates,
    10 // with default template arguments.  According to the C++ standard,
    11 // if a class template is declared more than once in the same scope
    12 // then only one of those declarations may have default arguments.
    13 
    14 // <iosfwd> contains the same declarations as other headers, and including
    15 // both <iosfwd> and (say) <iostream> is permitted.  This means that only
    16 // one header may contain those default template arguments.
    17 
    18 // In this implementation, the declarations in <iosfwd> contain default
    19 // template arguments.  All of the other I/O headers include <iosfwd>.
    20 
    21 #ifndef _STLP_CHAR_TRAITS_H
    22 #  include <stl/char_traits.h>
    23 #endif
    24 
    25 _STLP_BEGIN_NAMESPACE
    26 
    27 class ios_base;
    28 
    29 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
    30 class basic_ios;
    31 
    32 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
    33 class basic_streambuf;
    34 
    35 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
    36 class basic_istream;
    37 
    38 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
    39 class basic_ostream;
    40 
    41 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
    42 class basic_iostream;
    43 
    44 template <class _CharT, _STLP_DFL_TMPL_PARAM( _Traits , char_traits<_CharT>),
    45           _STLP_DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) >
    46 class basic_stringbuf;
    47 
    48 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>),
    49           _STLP_DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) >
    50 class basic_istringstream;
    51 
    52 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>),
    53           _STLP_DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) >
    54 class basic_ostringstream;
    55 
    56 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>),
    57           _STLP_DFL_TMPL_PARAM(_Allocator , allocator<_CharT>) >
    58 class basic_stringstream;
    59 
    60 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
    61 class basic_filebuf;
    62 
    63 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
    64 class basic_ifstream;
    65 
    66 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
    67 class basic_ofstream;
    68 
    69 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
    70 class basic_fstream;
    71 
    72 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
    73 class istreambuf_iterator;
    74 
    75 template <class _CharT, _STLP_DFL_TMPL_PARAM(_Traits , char_traits<_CharT>) >
    76 class ostreambuf_iterator;
    77 
    78 typedef basic_ios<char, char_traits<char> >    ios;
    79 
    80 #if !defined (_STLP_NO_WCHAR_T)
    81 typedef basic_ios<wchar_t, char_traits<wchar_t> > wios;
    82 #endif
    83 
    84 // Forward declaration of class locale, and of the most important facets.
    85 class locale;
    86 #if defined (_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS)
    87 template <class _Facet>
    88 struct _Use_facet {
    89   const locale& __loc;
    90   _Use_facet(const locale& __p_loc) : __loc(__p_loc) {}
    91   inline const _Facet& operator *() const;
    92 };
    93 #  define use_facet *_Use_facet
    94 #else
    95 template <class _Facet> inline const _Facet& use_facet(const locale&);
    96 #endif
    97 
    98 template <class _CharT> class ctype;
    99 template <class _CharT> class ctype_byname;
   100 template <class _CharT> class collate;
   101 template <class _CharT> class collate_byname;
   102 
   103 _STLP_TEMPLATE_NULL class ctype<char>;
   104 _STLP_TEMPLATE_NULL class ctype_byname<char>;
   105 _STLP_TEMPLATE_NULL class collate<char>;
   106 _STLP_TEMPLATE_NULL class collate_byname<char>;
   107 
   108 #if !defined (_STLP_NO_WCHAR_T)
   109 _STLP_TEMPLATE_NULL class ctype<wchar_t>;
   110 _STLP_TEMPLATE_NULL class ctype_byname<wchar_t>;
   111 _STLP_TEMPLATE_NULL class collate<wchar_t>;
   112 _STLP_TEMPLATE_NULL class collate_byname<wchar_t>;
   113 #endif
   114 
   115 #if !(defined (__SUNPRO_CC) && __SUNPRO_CC < 0x500 )
   116 // Typedefs for ordinary (narrow-character) streams.
   117 //_STLP_TEMPLATE_NULL class basic_streambuf<char, char_traits<char> >;
   118 #endif
   119 
   120 typedef basic_istream<char, char_traits<char> >  istream;
   121 typedef basic_ostream<char, char_traits<char> >  ostream;
   122 typedef basic_iostream<char, char_traits<char> > iostream;
   123 typedef basic_streambuf<char,char_traits<char> > streambuf;
   124 
   125 typedef basic_stringbuf<char, char_traits<char>, allocator<char> >     stringbuf;
   126 typedef basic_istringstream<char, char_traits<char>, allocator<char> > istringstream;
   127 typedef basic_ostringstream<char, char_traits<char>, allocator<char> > ostringstream;
   128 typedef basic_stringstream<char, char_traits<char>, allocator<char> >  stringstream;
   129 
   130 typedef basic_filebuf<char, char_traits<char> >  filebuf;
   131 typedef basic_ifstream<char, char_traits<char> > ifstream;
   132 typedef basic_ofstream<char, char_traits<char> > ofstream;
   133 typedef basic_fstream<char, char_traits<char> >  fstream;
   134 
   135 #if !defined (_STLP_NO_WCHAR_T)
   136 // Typedefs for wide-character streams.
   137 typedef basic_streambuf<wchar_t, char_traits<wchar_t> > wstreambuf;
   138 typedef basic_istream<wchar_t, char_traits<wchar_t> >   wistream;
   139 typedef basic_ostream<wchar_t, char_traits<wchar_t> >   wostream;
   140 typedef basic_iostream<wchar_t, char_traits<wchar_t> >  wiostream;
   141 
   142 typedef basic_stringbuf<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >     wstringbuf;
   143 typedef basic_istringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wistringstream;
   144 typedef basic_ostringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wostringstream;
   145 typedef basic_stringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >  wstringstream;
   146 
   147 typedef basic_filebuf<wchar_t, char_traits<wchar_t> >  wfilebuf;
   148 typedef basic_ifstream<wchar_t, char_traits<wchar_t> > wifstream;
   149 typedef basic_ofstream<wchar_t, char_traits<wchar_t> > wofstream;
   150 typedef basic_fstream<wchar_t, char_traits<wchar_t> >  wfstream;
   151 #endif
   152 
   153 _STLP_END_NAMESPACE
   154 
   155 #endif
   156 
   157 // Local Variables:
   158 // mode:C++
   159 // End: