Заголовочный файл стандартной библиотеки <iosfwd>
Материал из cppreference.com
Этот заголовочный файл хранит предварительные объявления для библиотеки Input/output.
предварительные объявления | |
Определены в заголовочном файле
<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++98) |
реализует операции ввода массива символов (класс) |
(устарело в C++98) |
реализует операции вывода массива символов (класс) |
(устарело в C++98) |
реализует операции ввода/вывода массива символов (класс) |
Определения типов и специализации | |
| 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> соответственно.
| |
Краткий обзор
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>;
}
// устарело
namespace std {
class strstreambuf;
class istrstream;
class ostrstream;
class strstream;
}