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