1227825Stheraven// -*- C++ -*- 2227825Stheraven//===--------------------------- iosfwd -----------------------------------===// 3227825Stheraven// 4227825Stheraven// The LLVM Compiler Infrastructure 5227825Stheraven// 6227825Stheraven// This file is dual licensed under the MIT and the University of Illinois Open 7227825Stheraven// Source Licenses. See LICENSE.TXT for details. 8227825Stheraven// 9227825Stheraven//===----------------------------------------------------------------------===// 10227825Stheraven 11227825Stheraven#ifndef _LIBCPP_IOSFWD 12227825Stheraven#define _LIBCPP_IOSFWD 13227825Stheraven 14227825Stheraven/* 15227825Stheraven iosfwd synopsis 16227825Stheraven 17227825Stheravennamespace std 18227825Stheraven{ 19227825Stheraven 20227825Stheraventemplate<class charT> struct char_traits; 21227825Stheraventemplate<class T> class allocator; 22227825Stheraven 23227825Stheravenclass ios_base; 24227825Stheraventemplate <class charT, class traits = char_traits<charT> > class basic_ios; 25227825Stheraven 26227825Stheraventemplate <class charT, class traits = char_traits<charT> > class basic_streambuf; 27227825Stheraventemplate <class charT, class traits = char_traits<charT> > class basic_istream; 28227825Stheraventemplate <class charT, class traits = char_traits<charT> > class basic_ostream; 29227825Stheraventemplate <class charT, class traits = char_traits<charT> > class basic_iostream; 30227825Stheraven 31227825Stheraventemplate <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > 32227825Stheraven class basic_stringbuf; 33227825Stheraventemplate <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > 34227825Stheraven class basic_istringstream; 35227825Stheraventemplate <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > 36227825Stheraven class basic_ostringstream; 37227825Stheraventemplate <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > 38227825Stheraven class basic_stringstream; 39227825Stheraven 40227825Stheraventemplate <class charT, class traits = char_traits<charT> > class basic_filebuf; 41227825Stheraventemplate <class charT, class traits = char_traits<charT> > class basic_ifstream; 42227825Stheraventemplate <class charT, class traits = char_traits<charT> > class basic_ofstream; 43227825Stheraventemplate <class charT, class traits = char_traits<charT> > class basic_fstream; 44227825Stheraven 45227825Stheraventemplate <class charT, class traits = char_traits<charT> > class istreambuf_iterator; 46227825Stheraventemplate <class charT, class traits = char_traits<charT> > class ostreambuf_iterator; 47227825Stheraven 48227825Stheraventypedef basic_ios<char> ios; 49227825Stheraventypedef basic_ios<wchar_t> wios; 50227825Stheraven 51227825Stheraventypedef basic_streambuf<char> streambuf; 52227825Stheraventypedef basic_istream<char> istream; 53227825Stheraventypedef basic_ostream<char> ostream; 54227825Stheraventypedef basic_iostream<char> iostream; 55227825Stheraven 56227825Stheraventypedef basic_stringbuf<char> stringbuf; 57227825Stheraventypedef basic_istringstream<char> istringstream; 58227825Stheraventypedef basic_ostringstream<char> ostringstream; 59227825Stheraventypedef basic_stringstream<char> stringstream; 60227825Stheraven 61227825Stheraventypedef basic_filebuf<char> filebuf; 62227825Stheraventypedef basic_ifstream<char> ifstream; 63227825Stheraventypedef basic_ofstream<char> ofstream; 64227825Stheraventypedef basic_fstream<char> fstream; 65227825Stheraven 66227825Stheraventypedef basic_streambuf<wchar_t> wstreambuf; 67227825Stheraventypedef basic_istream<wchar_t> wistream; 68227825Stheraventypedef basic_ostream<wchar_t> wostream; 69227825Stheraventypedef basic_iostream<wchar_t> wiostream; 70227825Stheraven 71227825Stheraventypedef basic_stringbuf<wchar_t> wstringbuf; 72227825Stheraventypedef basic_istringstream<wchar_t> wistringstream; 73227825Stheraventypedef basic_ostringstream<wchar_t> wostringstream; 74227825Stheraventypedef basic_stringstream<wchar_t> wstringstream; 75227825Stheraven 76227825Stheraventypedef basic_filebuf<wchar_t> wfilebuf; 77227825Stheraventypedef basic_ifstream<wchar_t> wifstream; 78227825Stheraventypedef basic_ofstream<wchar_t> wofstream; 79227825Stheraventypedef basic_fstream<wchar_t> wfstream; 80227825Stheraven 81227825Stheraventemplate <class state> class fpos; 82227825Stheraventypedef fpos<char_traits<char>::state_type> streampos; 83227825Stheraventypedef fpos<char_traits<wchar_t>::state_type> wstreampos; 84227825Stheraven 85227825Stheraven} // std 86227825Stheraven 87227825Stheraven*/ 88227825Stheraven 89227825Stheraven#include <__config> 90227825Stheraven#include <wchar.h> // for mbstate_t 91227825Stheraven 92227825Stheraven#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 93227825Stheraven#pragma GCC system_header 94227825Stheraven#endif 95227825Stheraven 96227825Stheraven_LIBCPP_BEGIN_NAMESPACE_STD 97227825Stheraven 98249989Sdimclass _LIBCPP_TYPE_VIS ios_base; 99227825Stheraven 100261272Sdimtemplate<class _CharT> struct _LIBCPP_TYPE_VIS_ONLY char_traits; 101261272Sdimtemplate<class _Tp> class _LIBCPP_TYPE_VIS_ONLY allocator; 102227825Stheraven 103227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT> > 104261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_ios; 105227825Stheraven 106227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT> > 107261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_streambuf; 108227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT> > 109261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_istream; 110227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT> > 111261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_ostream; 112227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT> > 113261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_iostream; 114227825Stheraven 115227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT>, 116227825Stheraven class _Allocator = allocator<_CharT> > 117261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_stringbuf; 118227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT>, 119227825Stheraven class _Allocator = allocator<_CharT> > 120261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_istringstream; 121227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT>, 122227825Stheraven class _Allocator = allocator<_CharT> > 123261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_ostringstream; 124227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT>, 125227825Stheraven class _Allocator = allocator<_CharT> > 126261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_stringstream; 127227825Stheraven 128227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT> > 129261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_filebuf; 130227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT> > 131261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_ifstream; 132227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT> > 133261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_ofstream; 134227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT> > 135261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_fstream; 136227825Stheraven 137227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT> > 138261272Sdim class _LIBCPP_TYPE_VIS_ONLY istreambuf_iterator; 139227825Stheraventemplate <class _CharT, class _Traits = char_traits<_CharT> > 140261272Sdim class _LIBCPP_TYPE_VIS_ONLY ostreambuf_iterator; 141227825Stheraven 142227825Stheraventypedef basic_ios<char> ios; 143227825Stheraventypedef basic_ios<wchar_t> wios; 144227825Stheraven 145227825Stheraventypedef basic_streambuf<char> streambuf; 146227825Stheraventypedef basic_istream<char> istream; 147227825Stheraventypedef basic_ostream<char> ostream; 148227825Stheraventypedef basic_iostream<char> iostream; 149227825Stheraven 150227825Stheraventypedef basic_stringbuf<char> stringbuf; 151227825Stheraventypedef basic_istringstream<char> istringstream; 152227825Stheraventypedef basic_ostringstream<char> ostringstream; 153227825Stheraventypedef basic_stringstream<char> stringstream; 154227825Stheraven 155227825Stheraventypedef basic_filebuf<char> filebuf; 156227825Stheraventypedef basic_ifstream<char> ifstream; 157227825Stheraventypedef basic_ofstream<char> ofstream; 158227825Stheraventypedef basic_fstream<char> fstream; 159227825Stheraven 160227825Stheraventypedef basic_streambuf<wchar_t> wstreambuf; 161227825Stheraventypedef basic_istream<wchar_t> wistream; 162227825Stheraventypedef basic_ostream<wchar_t> wostream; 163227825Stheraventypedef basic_iostream<wchar_t> wiostream; 164227825Stheraven 165227825Stheraventypedef basic_stringbuf<wchar_t> wstringbuf; 166227825Stheraventypedef basic_istringstream<wchar_t> wistringstream; 167227825Stheraventypedef basic_ostringstream<wchar_t> wostringstream; 168227825Stheraventypedef basic_stringstream<wchar_t> wstringstream; 169227825Stheraven 170227825Stheraventypedef basic_filebuf<wchar_t> wfilebuf; 171227825Stheraventypedef basic_ifstream<wchar_t> wifstream; 172227825Stheraventypedef basic_ofstream<wchar_t> wofstream; 173227825Stheraventypedef basic_fstream<wchar_t> wfstream; 174227825Stheraven 175261272Sdimtemplate <class _State> class _LIBCPP_TYPE_VIS_ONLY fpos; 176227825Stheraventypedef fpos<mbstate_t> streampos; 177227825Stheraventypedef fpos<mbstate_t> wstreampos; 178227825Stheraven#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS 179227825Stheraventypedef fpos<mbstate_t> u16streampos; 180227825Stheraventypedef fpos<mbstate_t> u32streampos; 181227825Stheraven#endif // _LIBCPP_HAS_NO_UNICODE_CHARS 182227825Stheraven 183288943Sdim#if defined(_NEWLIB_VERSION) 184288943Sdim// On newlib, off_t is 'long int' 185288943Sdimtypedef long int streamoff; // for char_traits in <string> 186288943Sdim#else 187227825Stheraventypedef long long streamoff; // for char_traits in <string> 188288943Sdim#endif 189227825Stheraven 190227825Stheraventemplate <class _CharT, // for <stdexcept> 191227825Stheraven class _Traits = char_traits<_CharT>, 192227825Stheraven class _Allocator = allocator<_CharT> > 193261272Sdim class _LIBCPP_TYPE_VIS_ONLY basic_string; 194227825Stheraventypedef basic_string<char, char_traits<char>, allocator<char> > string; 195227825Stheraventypedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring; 196227825Stheraven 197227825Stheraven_LIBCPP_END_NAMESPACE_STD 198227825Stheraven 199227825Stheraven#endif // _LIBCPP_IOSFWD 200