标准库头文件 <iosfwd>

来自cppreference.com
< cpp‎ | header
 
 
 

此头文件含有输入/输出库的前置声明。

前置声明

定义于头文件 <string>
std::char_traits 描述字符类型的性质的类模板 (类模板)
std::char_traits<char> (类模板特化)
std::char_traits<wchar_t> (类模板特化)
std::char_traits<char8_t> (C++20) (类模板特化)
std::char_traits<char16_t> (C++11) (类模板特化)
std::char_traits<char32_t> (C++11) (类模板特化)
定义于头文件 <memory>
默认的分配器
(类模板)
定义于头文件 <ios>
管理任意流缓冲
(类模板)
表示流或文件中的绝对位置
(类模板)
定义于头文件 <streambuf>
抽象原生设备
(类模板)
定义于头文件 <ostream>
包装给定的抽象设备(std::basic_streambuf
并提供高层输出接口
(类模板)
定义于头文件 <istream>
包装给定的抽象设备(std::basic_streambuf
并提供高层输入接口
(类模板)
包装给定的抽象设备(std::basic_streambuf
并提供高层输入/输出接口
(类模板)
定义于头文件 <fstream>
抽象原生文件设备
(类模板)
实现高层文件流输入操作
(类模板)
实现高层文件流输出操作
(类模板)
实现高层文件流输入/输出操作
(类模板)
定义于头文件 <sstream>
实现原生字符串设备
(类模板)
实现高层字符串流输入操作
(类模板)
实现高层字符串流输出操作
(类模板)
实现高层字符串流输入/输出操作
(类模板)
定义于头文件 <syncstream>
同步输出设备的包装
(类模板)
同步输出流的包装
(类模板)
定义于头文件 <strstream>
(C++98 中弃用)
实现原生字符数组设备
(类)
(C++98 中弃用)
实现字符数组输入操作
(类)
(C++98 中弃用)
实现字符数组输出操作
(类)
(C++98 中弃用)
实现字符数组输入/输出操作
(类)

typedef 与特化

std::streampos fpos<char_traits<char>::state_type>
std::wstreampos fpos<char_traits<wchar_t>::state_type>
另外,对于每个声明于此头文件的类模板 std::basic_T,分别声明了 std::Tstd::wTstd::basic_T<char>std::basic_T<wchar_t> 的同义词。

概要

namespace std {
 
    template<class charT> class char_traits;
    template<> class char_traits<char>;
    template<> class char_traits<char8_t>;
    template<> class char_traits<char16_t>;
    template<> class char_traits<char32_t>;
    template<> class char_traits<wchar_t>;
 
    template<class T> class allocator;
 
    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 basic_iostream;
    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 Allocator = allocator<charT> >
        class basic_stringstream;
 
    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 basic_fstream;
 
    template <class charT, class traits = char_traits<charT>,
            class Allocator = allocator<charT> >
        class basic_syncbuf;
    template <class charT, class traits = char_traits<charT>,
            class Allocator = allocator<charT> >
        class basic_osyncstream;
 
    template <class charT, class traits = char_traits<charT> >
        class istreambuf_iterator;
    template <class charT, class traits = char_traits<charT> >
        class ostreambuf_iterator;
 
 
    typedef basic_ios<char>     ios;    
    typedef basic_ios<wchar_t>  wios;   
 
    typedef basic_streambuf<char>     streambuf;
    typedef basic_istream<char>       istream;
    typedef basic_ostream<char>       ostream;
    typedef basic_iostream<char>      iostream;
 
    typedef basic_stringbuf<char>     stringbuf;
    typedef basic_istringstream<char> istringstream;
    typedef basic_ostringstream<char> ostringstream;
    typedef basic_stringstream<char>  stringstream;
 
    typedef basic_filebuf<char>       filebuf;
    typedef basic_ifstream<char>      ifstream;
    typedef basic_ofstream<char>      ofstream;
    typedef basic_fstream<char>       fstream;
 
    typedef basic_syncbuf<char>       syncbuf;
    typedef basic_osyncstream<char>   osyncstream;
 
    typedef basic_streambuf<wchar_t>     wstreambuf;
    typedef basic_istream<wchar_t>       wistream;
    typedef basic_ostream<wchar_t>       wostream;
    typedef basic_iostream<wchar_t>      wiostream;
 
    typedef basic_stringbuf<wchar_t>     wstringbuf;
    typedef basic_istringstream<wchar_t> wistringstream;
    typedef basic_ostringstream<wchar_t> wostringstream;
    typedef basic_stringstream<wchar_t>  wstringstream;
 
    typedef basic_filebuf<wchar_t>       wfilebuf;        
    typedef basic_ifstream<wchar_t>      wifstream;      
    typedef basic_ofstream<wchar_t>      wofstream;      
    typedef basic_fstream<wchar_t>       wfstream;
 
    typedef basic_syncbuf<wchar_t>       wsyncbuf;
    typedef basic_osyncstream<wchar_t>   wosyncstream;
 
    template <class state> class fpos;      
    typedef fpos<char_traits<char>::state_type> streampos;  
    typedef fpos<char_traits<wchar_t>::state_type> wstreampos;  
 
}