1
/*      Copyright (C) 2004 Garrett A. Kajmowicz
 
 
3
        This file is part of the uClibc++ Library.
 
 
5
        This library is free software; you can redistribute it and/or
 
 
6
        modify it under the terms of the GNU Lesser General Public
 
 
7
        License as published by the Free Software Foundation; either
 
 
8
        version 2.1 of the License, or (at your option) any later version.
 
 
10
        This library is distributed in the hope that it will be useful,
 
 
11
        but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 
12
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
 
13
        Lesser General Public License for more details.
 
 
15
        You should have received a copy of the GNU Lesser General Public
 
 
16
        License along with this library; if not, write to the Free Software
 
 
17
        Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 
20
#include <basic_definitions>
 
 
21
#include <char_traits>
 
 
25
#ifndef __HEADER_STD_IOSFWD
 
 
26
#define __HEADER_STD_IOSFWD 1
 
 
28
#pragma GCC visibility push(default)
 
 
36
        template<> class char_traits<char>;
 
 
38
#ifdef __UCLIBCXX_HAS_WCHAR__
 
 
39
        template<> class char_traits<wchar_t>;
 
 
42
        template <class charT, class traits = char_traits<charT> > class basic_ios;
 
 
44
        template <class charT, class traits = char_traits<charT> > class basic_streambuf;
 
 
45
        template <class charT, class traits = char_traits<charT> > class basic_istream;
 
 
46
        template <class charT, class traits = char_traits<charT> > class basic_ostream;
 
 
47
        template <class charT, class traits = char_traits<charT> > class basic_iostream;
 
 
49
        template <class charT, class traits = char_traits<charT>, 
 
 
50
                class Allocator = allocator<charT> > class basic_stringbuf;
 
 
52
        template <class charT, class traits = char_traits<charT>, 
 
 
53
                class Allocator = allocator<charT> > class basic_istringstream;
 
 
55
        template <class charT, class traits = char_traits<charT>,
 
 
56
                class Allocator = allocator<charT> > class basic_ostringstream;
 
 
58
        template <class charT, class traits = char_traits<charT>,
 
 
59
                class Allocator = allocator<charT> > class basic_stringstream;
 
 
61
        template <class charT, class traits = char_traits<charT> > class basic_filebuf;
 
 
63
        template <class charT, class traits = char_traits<charT> > class basic_ifstream;
 
 
65
        template <class charT, class traits = char_traits<charT> > class basic_ofstream;
 
 
67
        template <class charT, class traits = char_traits<charT> > class basic_fstream;
 
 
69
        template <class charT, class traits = char_traits<charT> > class basic_istreambuf_iterator;
 
 
71
        template <class charT, class traits = char_traits<charT> > class basic_ostreambuf_iterator;
 
 
73
        typedef basic_ios<char>       ios;
 
 
74
#ifdef __UCLIBCXX_HAS_WCHAR__
 
 
75
        typedef basic_ios<wchar_t>    wios;
 
 
78
        typedef basic_streambuf<char> streambuf;
 
 
79
        typedef basic_istream<char>   istream;
 
 
80
        typedef basic_ostream<char>   ostream;
 
 
81
        typedef basic_iostream<char>  iostream;
 
 
83
        typedef basic_stringbuf<char>     stringbuf;
 
 
84
        typedef basic_istringstream<char> istringstream;
 
 
85
        typedef basic_ostringstream<char> ostringstream;
 
 
86
        typedef basic_stringstream<char>  stringstream;
 
 
88
        typedef basic_filebuf<char>  filebuf;
 
 
89
        typedef basic_ifstream<char> ifstream;
 
 
90
        typedef basic_ofstream<char> ofstream;
 
 
91
        typedef basic_fstream<char>  fstream;
 
 
92
#ifdef __UCLIBCXX_HAS_WCHAR__
 
 
93
        typedef basic_streambuf<wchar_t> wstreambuf;
 
 
94
        typedef basic_istream<wchar_t>   wistream;
 
 
95
        typedef basic_ostream<wchar_t>   wostream;
 
 
96
        typedef basic_iostream<wchar_t>  wiostream;
 
 
98
        typedef basic_stringbuf<wchar_t>     wstringbuf;
 
 
99
        typedef basic_istringstream<wchar_t> wistringstream;
 
 
100
        typedef basic_ostringstream<wchar_t> wostringstream;
 
 
101
        typedef basic_stringstream<wchar_t>  wstringstream;
 
 
103
        typedef basic_filebuf<wchar_t>  wfilebuf;
 
 
104
        typedef basic_ifstream<wchar_t> wifstream;
 
 
105
        typedef basic_ofstream<wchar_t> wofstream;
 
 
106
        typedef basic_fstream<wchar_t>  wfstream;
 
 
110
        using ::HardwareSerial;
 
 
111
        template <class charT, class traits = char_traits<charT>, class Tserial=HardwareSerial> class basic_serialbuf;
 
 
112
        template <class charT, class traits = char_traits<charT>, class Tserial=HardwareSerial> class basic_iserialstream;
 
 
113
        template <class charT, class traits = char_traits<charT>, class Tserial=HardwareSerial> class basic_oserialstream;
 
 
115
        typedef basic_iserialstream<char> ihserialstream;
 
 
116
        typedef basic_oserialstream<char> ohserialstream;
 
 
119
        template <class state> class fpos;
 
 
120
        typedef fpos<char_traits<char>::state_type> streampos;
 
 
121
#ifdef __UCLIBCXX_HAS_WCHAR__
 
 
122
        typedef fpos<char_traits<wchar_t>::state_type> wstreampos;
 
 
126
#pragma GCC visibility pop