| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 1 | // -*- C++ -*- | 
 | 2 | //===--------------------------- iosfwd -----------------------------------===// | 
 | 3 | // | 
| Howard Hinnant | f5256e1 | 2010-05-11 21:36:01 +0000 | [diff] [blame] | 4 | //                     The LLVM Compiler Infrastructure | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 5 | // | 
| Howard Hinnant | b64f8b0 | 2010-11-16 22:09:02 +0000 | [diff] [blame] | 6 | // This file is dual licensed under the MIT and the University of Illinois Open | 
 | 7 | // Source Licenses. See LICENSE.TXT for details. | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 8 | // | 
 | 9 | //===----------------------------------------------------------------------===// | 
 | 10 |  | 
 | 11 | #ifndef _LIBCPP_IOSFWD | 
 | 12 | #define _LIBCPP_IOSFWD | 
 | 13 |  | 
 | 14 | /* | 
 | 15 |     iosfwd synopsis | 
 | 16 |  | 
 | 17 | namespace std | 
 | 18 | { | 
 | 19 |  | 
 | 20 | template<class charT> struct char_traits; | 
 | 21 | template<class T>     class allocator; | 
 | 22 |  | 
| Howard Hinnant | 0a11111 | 2011-05-13 21:52:40 +0000 | [diff] [blame] | 23 | class ios_base; | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 24 | template <class charT, class traits = char_traits<charT> > class basic_ios; | 
 | 25 |  | 
 | 26 | template <class charT, class traits = char_traits<charT> > class basic_streambuf; | 
 | 27 | template <class charT, class traits = char_traits<charT> > class basic_istream; | 
 | 28 | template <class charT, class traits = char_traits<charT> > class basic_ostream; | 
 | 29 | template <class charT, class traits = char_traits<charT> > class basic_iostream; | 
 | 30 |  | 
 | 31 | template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > | 
 | 32 |     class basic_stringbuf; | 
 | 33 | template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > | 
 | 34 |     class basic_istringstream; | 
 | 35 | template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > | 
 | 36 |     class basic_ostringstream; | 
 | 37 | template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > | 
 | 38 |     class basic_stringstream; | 
 | 39 |  | 
 | 40 | template <class charT, class traits = char_traits<charT> > class basic_filebuf; | 
 | 41 | template <class charT, class traits = char_traits<charT> > class basic_ifstream; | 
 | 42 | template <class charT, class traits = char_traits<charT> > class basic_ofstream; | 
 | 43 | template <class charT, class traits = char_traits<charT> > class basic_fstream; | 
 | 44 |  | 
 | 45 | template <class charT, class traits = char_traits<charT> > class istreambuf_iterator; | 
 | 46 | template <class charT, class traits = char_traits<charT> > class ostreambuf_iterator; | 
 | 47 |  | 
 | 48 | typedef basic_ios<char>              ios; | 
 | 49 | typedef basic_ios<wchar_t>           wios; | 
 | 50 |  | 
 | 51 | typedef basic_streambuf<char>        streambuf; | 
 | 52 | typedef basic_istream<char>          istream; | 
 | 53 | typedef basic_ostream<char>          ostream; | 
 | 54 | typedef basic_iostream<char>         iostream; | 
 | 55 |  | 
 | 56 | typedef basic_stringbuf<char>        stringbuf; | 
 | 57 | typedef basic_istringstream<char>    istringstream; | 
 | 58 | typedef basic_ostringstream<char>    ostringstream; | 
 | 59 | typedef basic_stringstream<char>     stringstream; | 
 | 60 |  | 
 | 61 | typedef basic_filebuf<char>          filebuf; | 
 | 62 | typedef basic_ifstream<char>         ifstream; | 
 | 63 | typedef basic_ofstream<char>         ofstream; | 
 | 64 | typedef basic_fstream<char>          fstream; | 
 | 65 |  | 
 | 66 | typedef basic_streambuf<wchar_t>     wstreambuf; | 
 | 67 | typedef basic_istream<wchar_t>       wistream; | 
 | 68 | typedef basic_ostream<wchar_t>       wostream; | 
 | 69 | typedef basic_iostream<wchar_t>      wiostream; | 
 | 70 |  | 
 | 71 | typedef basic_stringbuf<wchar_t>     wstringbuf; | 
 | 72 | typedef basic_istringstream<wchar_t> wistringstream; | 
 | 73 | typedef basic_ostringstream<wchar_t> wostringstream; | 
 | 74 | typedef basic_stringstream<wchar_t>  wstringstream; | 
 | 75 |  | 
 | 76 | typedef basic_filebuf<wchar_t>       wfilebuf; | 
 | 77 | typedef basic_ifstream<wchar_t>      wifstream; | 
 | 78 | typedef basic_ofstream<wchar_t>      wofstream; | 
 | 79 | typedef basic_fstream<wchar_t>       wfstream; | 
 | 80 |  | 
 | 81 | template <class state> class fpos; | 
 | 82 | typedef fpos<char_traits<char>::state_type>    streampos; | 
 | 83 | typedef fpos<char_traits<wchar_t>::state_type> wstreampos; | 
 | 84 |  | 
 | 85 | }  // std | 
 | 86 |  | 
 | 87 | */ | 
 | 88 |  | 
 | 89 | #include <__config> | 
| Howard Hinnant | adff489 | 2010-05-24 17:49:41 +0000 | [diff] [blame] | 90 | #include <wchar.h>  // for mbstate_t | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 91 |  | 
| Howard Hinnant | 08e1747 | 2011-10-17 20:05:10 +0000 | [diff] [blame] | 92 | #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 93 | #pragma GCC system_header | 
| Howard Hinnant | 08e1747 | 2011-10-17 20:05:10 +0000 | [diff] [blame] | 94 | #endif | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 95 |  | 
 | 96 | _LIBCPP_BEGIN_NAMESPACE_STD | 
 | 97 |  | 
| Howard Hinnant | 83eade6 | 2013-03-06 23:30:19 +0000 | [diff] [blame] | 98 | class _LIBCPP_TYPE_VIS ios_base; | 
| Howard Hinnant | 52c4eb2 | 2011-01-08 20:00:48 +0000 | [diff] [blame] | 99 |  | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 100 | template<class _CharT>  struct _LIBCPP_TYPE_VIS_ONLY char_traits; | 
 | 101 | template<class _Tp>     class _LIBCPP_TYPE_VIS_ONLY allocator; | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 102 |  | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 103 | template <class _CharT, class _Traits = char_traits<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 104 |     class _LIBCPP_TYPE_VIS_ONLY basic_ios; | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 105 |  | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 106 | template <class _CharT, class _Traits = char_traits<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 107 |     class _LIBCPP_TYPE_VIS_ONLY basic_streambuf; | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 108 | template <class _CharT, class _Traits = char_traits<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 109 |     class _LIBCPP_TYPE_VIS_ONLY basic_istream; | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 110 | template <class _CharT, class _Traits = char_traits<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 111 |     class _LIBCPP_TYPE_VIS_ONLY basic_ostream; | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 112 | template <class _CharT, class _Traits = char_traits<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 113 |     class _LIBCPP_TYPE_VIS_ONLY basic_iostream; | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 114 |  | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 115 | template <class _CharT, class _Traits = char_traits<_CharT>, | 
 | 116 |           class _Allocator = allocator<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 117 |     class _LIBCPP_TYPE_VIS_ONLY basic_stringbuf; | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 118 | template <class _CharT, class _Traits = char_traits<_CharT>, | 
 | 119 |           class _Allocator = allocator<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 120 |     class _LIBCPP_TYPE_VIS_ONLY basic_istringstream; | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 121 | template <class _CharT, class _Traits = char_traits<_CharT>, | 
 | 122 |           class _Allocator = allocator<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 123 |     class _LIBCPP_TYPE_VIS_ONLY basic_ostringstream; | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 124 | template <class _CharT, class _Traits = char_traits<_CharT>, | 
 | 125 |           class _Allocator = allocator<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 126 |     class _LIBCPP_TYPE_VIS_ONLY basic_stringstream; | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 127 |  | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 128 | template <class _CharT, class _Traits = char_traits<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 129 |     class _LIBCPP_TYPE_VIS_ONLY basic_filebuf; | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 130 | template <class _CharT, class _Traits = char_traits<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 131 |     class _LIBCPP_TYPE_VIS_ONLY basic_ifstream; | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 132 | template <class _CharT, class _Traits = char_traits<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 133 |     class _LIBCPP_TYPE_VIS_ONLY basic_ofstream; | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 134 | template <class _CharT, class _Traits = char_traits<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 135 |     class _LIBCPP_TYPE_VIS_ONLY basic_fstream; | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 136 |  | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 137 | template <class _CharT, class _Traits = char_traits<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 138 |     class _LIBCPP_TYPE_VIS_ONLY istreambuf_iterator; | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 139 | template <class _CharT, class _Traits = char_traits<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 140 |     class _LIBCPP_TYPE_VIS_ONLY ostreambuf_iterator; | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 141 |  | 
 | 142 | typedef basic_ios<char>              ios; | 
 | 143 | typedef basic_ios<wchar_t>           wios; | 
 | 144 |  | 
 | 145 | typedef basic_streambuf<char>        streambuf; | 
 | 146 | typedef basic_istream<char>          istream; | 
 | 147 | typedef basic_ostream<char>          ostream; | 
 | 148 | typedef basic_iostream<char>         iostream; | 
 | 149 |  | 
 | 150 | typedef basic_stringbuf<char>        stringbuf; | 
 | 151 | typedef basic_istringstream<char>    istringstream; | 
 | 152 | typedef basic_ostringstream<char>    ostringstream; | 
 | 153 | typedef basic_stringstream<char>     stringstream; | 
 | 154 |  | 
 | 155 | typedef basic_filebuf<char>          filebuf; | 
 | 156 | typedef basic_ifstream<char>         ifstream; | 
 | 157 | typedef basic_ofstream<char>         ofstream; | 
 | 158 | typedef basic_fstream<char>          fstream; | 
 | 159 |  | 
 | 160 | typedef basic_streambuf<wchar_t>     wstreambuf; | 
 | 161 | typedef basic_istream<wchar_t>       wistream; | 
 | 162 | typedef basic_ostream<wchar_t>       wostream; | 
 | 163 | typedef basic_iostream<wchar_t>      wiostream; | 
 | 164 |  | 
 | 165 | typedef basic_stringbuf<wchar_t>     wstringbuf; | 
 | 166 | typedef basic_istringstream<wchar_t> wistringstream; | 
 | 167 | typedef basic_ostringstream<wchar_t> wostringstream; | 
 | 168 | typedef basic_stringstream<wchar_t>  wstringstream; | 
 | 169 |  | 
 | 170 | typedef basic_filebuf<wchar_t>       wfilebuf; | 
 | 171 | typedef basic_ifstream<wchar_t>      wifstream; | 
 | 172 | typedef basic_ofstream<wchar_t>      wofstream; | 
 | 173 | typedef basic_fstream<wchar_t>       wfstream; | 
 | 174 |  | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 175 | template <class _State>             class _LIBCPP_TYPE_VIS_ONLY fpos; | 
| Howard Hinnant | adff489 | 2010-05-24 17:49:41 +0000 | [diff] [blame] | 176 | typedef fpos<mbstate_t>    streampos; | 
 | 177 | typedef fpos<mbstate_t>    wstreampos; | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 178 | #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS | 
| Howard Hinnant | adff489 | 2010-05-24 17:49:41 +0000 | [diff] [blame] | 179 | typedef fpos<mbstate_t>    u16streampos; | 
 | 180 | typedef fpos<mbstate_t>    u32streampos; | 
| Howard Hinnant | 324bb03 | 2010-08-22 00:02:43 +0000 | [diff] [blame] | 181 | #endif  // _LIBCPP_HAS_NO_UNICODE_CHARS | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 182 |  | 
 | 183 | typedef long long streamoff;        // for char_traits in <string> | 
 | 184 |  | 
 | 185 | template <class _CharT,             // for <stdexcept> | 
 | 186 |           class _Traits = char_traits<_CharT>, | 
| Howard Hinnant | c0de2e4 | 2010-09-21 16:04:28 +0000 | [diff] [blame] | 187 |           class _Allocator = allocator<_CharT> > | 
| Howard Hinnant | 0f678bd | 2013-08-12 18:38:34 +0000 | [diff] [blame^] | 188 |     class _LIBCPP_TYPE_VIS_ONLY basic_string; | 
| Howard Hinnant | bc8d3f9 | 2010-05-11 19:42:16 +0000 | [diff] [blame] | 189 | typedef basic_string<char, char_traits<char>, allocator<char> > string; | 
 | 190 | typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring; | 
 | 191 |  | 
 | 192 | _LIBCPP_END_NAMESPACE_STD | 
 | 193 |  | 
 | 194 | #endif  // _LIBCPP_IOSFWD |