The <iosfwd>
header provides forward declarations of the various I/O-related classes. The forward declarations are incomplete type declarations. By using <iosfwd>
you can sometimes avoid including large parts of the I/O library, which can save some compilation time.
It is always safe to include <iosfwd>
and any of the other I/O headers, even if they both declare the same type.
Because <iosfwd>
does not provide any complete type declarations, this section contains only Table 13-17, which lists the type names with a reference to the header that is required for the complete type.
Type declaration | Header |
---|---|
template<typename T> class
allocator
|
<memory> |
template<typename charT, typename traits=char_traits<charT> > class
basic_filebuf
|
<fstream> |
template<typename charT, typename traits=char_traits<charT> > class
basic_fstream
|
<fstream> |
template<typename charT, typename traits=char_traits<charT> > class
basic_ifstream
|
<fstream> |
template<typename charT, typename traits=char_traits<charT> > class
basic_ios
|
<ios> |
template<typename charT, typename traits=char_traits<charT> > class
basic_iostream
|
<istream> |
template<typename charT, typename traits=char_traits<charT> > class
basic_istream
|
<istream> |
template<typename charT, typename traits=char_traits<charT>, typename Alloc = allocator<charT> > class
basic_istringstream
|
<sstream> |
template<typename charT, typename traits=char_traits<charT> > class
basic_ofstream
|
<fstream> |
template<typename charT, typename traits=char_traits<charT> > class
basic_ostream
|
<ostream> |
template<typename charT, typename traits=char_traits<charT>, typename Alloc = allocator<charT> > class
basic_ostringstream
|
<sstream> |
template<typename charT, typename traits=char_traits<charT> > class
basic_streambuf
|
<streambuf> |
template<typename charT, typename traits=char_traits<charT>, typename Alloc = allocator<charT> > class
basic_stringbuf
|
<sstream> |
template<typename charT, typename traits=char_traits<charT>, typename Alloc = allocator<charT> > class
basic_stringstream
|
<sstream> |
template<typename charT> class
char_traits
|
<string> |
template<> class
char_traits<char>
|
<string> |
template<> class
char_traits<wchar_t>
|
<string> |
typedef basic_filebuf<char>
filebuf
|
<fstream> |
template <typename state> class
fpos
|
<ios> |
typedef basic_fstream<char>
fstream
|
<fstream> |
typedef basic_ifstream<char>
ifstream
|
<fstream> |
typedef basic_ios<char>
ios
|
<ios> |
typedef basic_iostream<char>
iostream
|
<istream> |
typedef basic_istream<char>
istream
|
<istream> |
template<typename charT, typename traits=char_traits<charT> > class
istreambuf_iterator
|
<iterator> |
typedef basic_istringstream<char>
istringstream
|
<sstream> |
typedef basic_ofstream<char>
ofstream
|
<fstream> |
typedef basic_ostream<char>
ostream
|
<ostream> |
template<typename charT, typename traits=char_traits<charT> > class
ostreambuf_iterator
|
<iterator> |
typedef basic_ostringstream<char>
ostringstream
|
<sstream> |
typedef basic_streambuf<char>
streambuf
|
<streambuf> |
typedef fpos<char_traits<char>::state_type>
streampos
|
<ios> |
typedef basic_stringbuf<char>
stringbuf
|
<sstream> |
typedef basic_stringstream<char>
stringstream
|
<sstream> |
typedef basic_filebuf<wchar_t>
wfilebuf
|
<fstream> |
typedef basic_fstream<wchar_t>
wfstream
|
<fstream> |
typedef basic_ifstream<wchar_t>
wifstream
|
<fstream> |
typedef basic_ios<wchar_t>
wios
|
<ios> |
typedef basic_iostream<wchar_t>
wiostream
|
<istream> |
typedef basic_istream<wchar_t>
wistream
|
<istream> |
typedef basic_istringstream<wchar_t>
wistringstream
|
<sstream> |
typedef basic_ofstream<wchar_t>
wofstream
|
<fstream> |
typedef basic_ostream<wchar_t>
wostream
|
<ostream> |
typedef basic_ostringstream<wchar_t>
wostringstream
|
<sstream> |
typedef basic_streambuf<wchar_t>
wstreambuf
|
<streambuf> |
typedef fpos<char_traits<wchar_t>::state_type>
wstreampos
|
<ios> |
typedef basic_stringbuf<wchar_t>
wstringbuf
|
<sstream> |
typedef basic_stringstream<wchar_t>
wstringstream
|
<sstream> |