标准库头文件 <iosfwd>
来自 cppreference.com
此头文件包含 输入/输出 库的前向声明。
前向声明 | |
定义在头文件
<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> 中定义 | |
(C++20) |
同步输出设备包装器 (类模板) |
(C++20) |
同步输出流包装器 (类模板) |
在头文件
<spanstream> 中定义 | |
(C++23) |
实现原始固定字符缓冲区设备 (类模板) |
(C++23) |
实现固定字符缓冲区输入操作 (类模板) |
(C++23) |
实现固定字符缓冲区输出操作 (类模板) |
(C++23) |
实现固定字符缓冲区输入/输出操作 (类模板) |
在头文件
<strstream> 中定义 | |
(C++98 中已弃用)(C++26 中已移除) |
实现原始字符数组设备 (类) |
(C++98 中已弃用)(C++26 中已移除) |
实现字符数组输入操作 (类) |
(C++98 中已弃用)(C++26 中已移除) |
实现字符数组输出操作 (类) |
(C++98 中已弃用)(C++26 中已移除) |
实现字符数组输入/输出操作 (类) |
类型定义和特化 | |
std::streampos | std::fpos<std::char_traits<char>::state_type> |
std::wstreampos | std::fpos<std::char_traits<wchar_t>::state_type> |
std::u8streampos | std::fpos<std::char_traits<char8_t>::state_type> |
std::u16streampos | std::fpos<std::char_traits<char16_t>::state_type> |
std::u32streampos | std::fpos<std::char_traits<char32_t>::state_type> |
此外,对于在本头文件中声明的每个类模板 std::basic_T ,std::T 和 std::wT 分别被声明为 std::basic_T<char> 和 std::basic_T<wchar_t> 的同义词。 |
[edit] 概要
namespace std { template<class CharT> struct char_traits; template<> struct char_traits<char>; template<> struct char_traits<char8_t>; template<> struct char_traits<char16_t>; template<> struct char_traits<char32_t>; template<> struct 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 basic_spanbuf; template<class CharT, class Traits = char_traits<CharT>> class basic_ispanstream; template<class CharT, class Traits = char_traits<CharT>> class basic_ospanstream; template<class CharT, class Traits = char_traits<CharT>> class basic_spanstream; template<class CharT, class Traits = char_traits<CharT>> class istreambuf_iterator; template<class CharT, class Traits = char_traits<CharT>> class ostreambuf_iterator; using ios = basic_ios<char>; using wios = basic_ios<wchar_t>; using streambuf = basic_streambuf<char>; using istream = basic_istream<char>; using ostream = basic_ostream<char>; using iostream = basic_iostream<char>; using stringbuf = basic_stringbuf<char>; using istringstream = basic_istringstream<char>; using ostringstream = basic_ostringstream<char>; using stringstream = basic_stringstream<char>; using filebuf = basic_filebuf<char>; using ifstream = basic_ifstream<char>; using ofstream = basic_ofstream<char>; using fstream = basic_fstream<char>; using syncbuf = basic_syncbuf<char>; using osyncstream = basic_osyncstream<char>; using spanbuf = basic_spanbuf<char>; using ispanstream = basic_ispanstream<char>; using ospanstream = basic_ospanstream<char>; using spanstream = basic_spanstream<char>; using wstreambuf = basic_streambuf<wchar_t>; using wistream = basic_istream<wchar_t>; using wostream = basic_ostream<wchar_t>; using wiostream = basic_iostream<wchar_t>; using wstringbuf = basic_stringbuf<wchar_t>; using wistringstream = basic_istringstream<wchar_t>; using wostringstream = basic_ostringstream<wchar_t>; using wstringstream = basic_stringstream<wchar_t>; using wfilebuf = basic_filebuf<wchar_t>; using wifstream = basic_ifstream<wchar_t>; using wofstream = basic_ofstream<wchar_t>; using wfstream = basic_fstream<wchar_t>; using wsyncbuf = basic_syncbuf<wchar_t>; using wosyncstream = basic_osyncstream<wchar_t>; using wspanbuf = basic_spanbuf<wchar_t>; using wispanstream = basic_ispanstream<wchar_t>; using wospanstream = basic_ospanstream<wchar_t>; using wspanstream = basic_spanstream<wchar_t>; template<class State> class fpos; using streampos = fpos<char_traits<char>::state_type>; using wstreampos = fpos<char_traits<wchar_t>::state_type>; using u8streampos = fpos<char_traits<char8_t>::state_type>; using u16streampos = fpos<char_traits<char16_t>::state_type>; using u32streampos = fpos<char_traits<char32_t>::state_type>; } // deprecated namespace std { class strstreambuf; class istrstream; class ostrstream; class strstream; }