Standard library header <iosfwd>
From cppreference.com
 
 
 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Standard library headers 
 
 
 
 
 
 
 
 
 
 <compare> (C++20)
 <contracts> (C++26)
 <coroutine> (C++20)
 <cstdint> (C++11)
 <source_location> (C++20)
 <stdfloat> (C++23)
 <version> (C++20)
 <concepts> (C++20)
 <debugging> (C++26)
 <stacktrace> (C++23)
 <system_error> (C++11)
 <memory_resource> (C++17)
 <scoped_allocator> (C++11)
 <type_traits> (C++11)
 <ratio> (C++11)
 <any> (C++17)
 <bit> (C++20)
 <charconv> (C++17)
 <expected> (C++23)
 <format> (C++20)
 <optional> (C++17)
 <stdbit.h> (C++26)
 <tuple> (C++11)
 <typeindex> (C++11)
 <variant> (C++17)
 <array> (C++11)
 <flat_map> (C++23)
 <flat_set> (C++23)
 <forward_list> (C++11)
 <hive> (C++26)
 <mdspan> (C++23)
 <span> (C++20)
 <unordered_map> (C++11)
 <unordered_set> (C++11)
 <generator> (C++23)
 <ranges> (C++20)
 <cuchar> (C++11)
 <string_view> (C++17)
 <codecvt> (C++11/17/26*)
 <regex> (C++11)
 <cfenv> (C++11)
 <linalg> (C++26)
 <numbers> (C++20)
 <random> (C++11)
 <simd> (C++26)
 <stdckdint.h> (C++26)
 <chrono> (C++11)
 <ccomplex> (C++11/17/20*)
 <ciso646> (until C++20)
 <cstdalign> (C++11/17/20*)
 <cstdbool> (C++11/17/20*)
 <ctgmath> (C++11/17/20*)
 <cinttypes> (C++11)
 <filesystem> (C++17)
 <iosfwd>
 <print> (C++23)
 <spanstream> (C++23)
 <strstream> (C++98/26*)
 <syncstream> (C++20)
 <atomic> (C++11)
 <barrier> (C++20)
 <condition_variable> (C++11)
 <future> (C++11)
 <hazard_pointer> (C++26)
 <latch> (C++20)
 <mutex> (C++11)
 <rcu> (C++26)
 <semaphore> (C++20)
 <shared_mutex> (C++14)
 <stdatomic.h> (C++23)
 <stop_token> (C++20)
 <thread> (C++11)
 <execution> (C++17)
This header contains forward declarations for the Input/output library.
Forward declarations
Defined in header 
<string>   std::char_traits 
 Class Template which describes properties of a character type (class template)
 std::char_traits <char>
 (class template specialization)
 std::char_traits <wchar_t>
 (class template specialization)
Defined in header 
<memory>  Defined in header 
<ios>  Defined in header 
<streambuf>  Defined in header 
<ostream>   
 wraps a given abstract device (std::basic_streambuf )
and provides high-level output interface
(class template) [edit]
and provides high-level output interface
(class template) [edit]
Defined in header 
<istream>   
 wraps a given abstract device (std::basic_streambuf )
and provides high-level input interface
(class template) [edit]
and provides high-level input interface
(class template) [edit]
 
 wraps a given abstract device (std::basic_streambuf )
and provides high-level input/output interface
(class template) [edit]
and provides high-level input/output interface
(class template) [edit]
Defined in header 
<fstream>  Defined in header 
<sstream>  Defined in header 
<syncstream>  Defined in header 
<spanstream>  Defined in header 
<strstream>  (deprecated in C++98)(removed in C++26)
(class) [edit]
Typedefs and specializations
 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>
 In addition, for each class template 
std::basic_T declared in this header, std::T and std::wT are declared as a synonym of std::basic_T<char> and std::basic_T<wchar_t> respectively.
[edit] Synopsis
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; }