close
Пространства имён
Варианты
Действия

Заголовочный файл стандартной библиотеки <iosfwd>

Материал из cppreference.com
 
 
Заголовочные файлы стандартной библиотеки
Языковая поддержка
Концепты
<concepts> (C++20)
Диагностика
<system_error> (C++11)

Управление памятью
<memory_resource> (C++17)  
Метапрограммирование
<type_traits> (C++11)
<ratio> (C++11)
Общие утилиты
<utility>
<tuple> (C++11)
<optional> (C++17)
<variant> (C++17)
<any> (C++17)
<expected> (C++23)
<bitset>

<charconv> (C++17)
<format> (C++20)
<bit> (C++20)

Строки
<cuchar> (C++11)

Контейнеры
<flat_set> (C++23)
<span> (C++20)
<mdspan> (C++23)

Итераторы
<iterator>
Диапазоны
<ranges> (C++20)
<generator> (C++23)
Алгоритмы
Числа
<cfenv> (C++11)
<complex>
<numbers> (C++20)

Время
<chrono> (C++11)
Локализация
<codecvt> (C++11/17*)
Ввод/вывод
<filesystem> (C++17)
<cstdio>
<cinttypes> (C++11)
<strstream> (C++98*)
Регулярные выражения
<regex> (C++11)
Поддержка конкуренции
<stop_token> (C++20)
<thread> (C++11)
<atomic> (C++11)
<stdatomic.h> (C++23)
<mutex> (C++11)
<shared_mutex> (C++14)
<condition_variable> (C++11)  
<semaphore> (C++20)
<latch> (C++20)
<barrier> (C++20)
<future> (C++11)

Совместимость с C
<cstdbool> (C++11/17/20*)  
<ccomplex> (C++11/17/20*)
<ctgmath> (C++11/17/20*)

<cstdalign> (C++11/17/20*)

<ciso646> (до C++20)

 

Этот заголовочный файл хранит предварительные объявления для библиотеки 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>
оболочка синхронизированного устройства вывода
(шаблон класса) [править]
оболочка синхронизированного потока вывода
(шаблон класса) [править]
Определены в заголовочном файле <spanstream>
реализует сырое фиксированное устройство буфера символов
(шаблон класса) [править]
реализует операции ввода фиксированного символьного буфера
(шаблон класса) [править]
реализует операции вывода фиксированного символьного буфера
(шаблон класса) [править]
реализует операции ввода/вывода с фиксированным символьным буфером
(шаблон класса) [править]
Определены в заголовочном файле <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;
}