## iosfwd

- Summary
- Data Type and Member Function Indexes
- Synopsis
- See Also
- Standards Conformance

### Summary

The header `iosfwd` forward declares the input/output library template classes and specializes them for wide and tiny characters. It also defines the positional types used in class `char_traits` instantiated on tiny and wide characters.

### Data Type and Member Function Indexes
(exclusive of constructors and destructors)

None

### Synopsis

    #include <iosfwd>
    // forward declare the traits class
    template<class charT> struct char_traits;

    // forward declare the positioning class
    template<class stateT> class fpos;

    // forward declare the state class
    class mbstate_t;

    // forward declare the allocator class
    template<class T> class allocator;

    // forward declare the iostreams template classes
    template<class charT,class traits=char_traits<charT>>
        class basic_ios;
    template<class charT,class traits=char_traits<charT>>
        class basic_streambuf;
    template<class charT,class traits=char_traits<charT>>
        class basic_istream;
    template<class charT,class traits=char_traits<charT>>
        class basic_ostream;
    template<class charT,class traits=char_traits<charT>,
             class Allocator = allocator<charT> >
        class basic_stringbuf;
    template<class charT,class traits=char_traits<charT>,
             class Allocator = allocator<charT> >
        class basic_istringstream;
    template<class charT,class traits=char_traits<charT>,
             class Allocator = allocator<charT> >
        class basic_ostringstream;
    template<class charT,class traits=char_traits<charT>>
        class basic_filebuf;
    template<class charT,class traits=char_traits<charT>>
        class basic_ifstream;
    template<class charT,class traits=char_traits<charT>>
        class basic_ofstream;
    template<class charT,class traits=char_traits<charT>>
        class ostreambuf_iterator;
    template<class charT,class traits=char_traits<charT>>
        class istreambuf_iterator;
    template<class charT,class traits=char_traits<charT>>
        class basic_iostream;
    template<class charT,class traits=char_traits<charT>,
             class Allocator = allocator<charT> >
        class basic_stringstream;
    template<class charT,class traits=char_traits<charT>>
        class basic_fstream;

    // specializations on tiny characters
    typedef basic_ios<char>              ios;
    typedef basic_streambuf<char>        streambuf;
    typedef basic_istream<char>          istream;
    typedef basic_ostream<char>          ostream;
    typedef basic_stringbuf<char>        stringbuf;
    typedef basic_istringstream<char>    istringstream;
    typedef basic_ostringstream<char>    ostringstream;
    typedef basic_filebuf<char>          filebuf;
    typedef basic_ifstream<char>         ifstream;
    typedef basic_ofstream<char>         ofstream;
    typedef basic_iostream<char>         iostream;
    typedef basic_stringstream<char>     stringstream;
    typedef basic_fstream<char>          fstream;

    // specializations on wide characters
    typedef basic_ios<wchar_t>           wios;
    typedef basic_streambuf<wchar_t>     wstreambuf;
    typedef basic_istream<wchar_t>       wistream;
    typedef basic_ostream<wchar_t>       wostream;
    typedef basic_stringbuf<wchar_t>     wstringbuf;
    typedef basic_istringstream<wchar_t> wistringstream;
    typedef basic_ostringstream<wchar_t> wostringstream;
    typedef basic_filebuf<wchar_t>       wfilebuf;
    typedef basic_ifstream<wchar_t>      wifstream;
    typedef basic_ofstream<wchar_t>      wofstream;
    typedef basic_iostream<wchar_t>      wiostream;
    typedef basic_stringstream<wchar_t>  wstringstream;
    typedef basic_fstream<wchar_t>       wfstream;

    // positional types used by char_traits
    typedef fpos<mbstate_t> streampos;
    typedef fpos<mbstate_t> wstreampos;

    typedef long            streamoff;
    typedef long            wstreamoff;

### See Also

fpos(3C++), char_traits(3C++), basic_ios(3C++), basic_streambuf(3C++), basic_istream(3C++), basic_ostream(3C++), basic_iostream(3C++), basic_stringbuf(3C++), basic_istringstream(3C++), basic_ostringstream(3C++), basic_stringstream(3C++), basic_filebuf(3C++), basic_ifstream(3C++), basic_ofstream(3C++), basic_fstream(3C++), istreambuf_iterator(3C++), ostreambuf_iterator(3C++)

Working Paper for Draft Proposed International Standard for Information Systems--Programming Language C++, Section 27.2

### Standards Conformance

ANSI X3J16/ISO WG21 Joint C++ Committee

Copyright (c) 1998, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.
OEM Release, June 1998