◐ Shell
clean mode source ↗

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

Материал из 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>

оболочка синхронизированного устройства вывода
(шаблон класса) [править]
оболочка синхронизированного потока вывода
(шаблон класса) [править]

Определены в заголовочном файле <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;
}