[iosfwd.syn] (original) (raw)

31 Input/output library [input.output]

31.3 Forward declarations [iostream.forward]

31.3.1 Header synopsis [iosfwd.syn]

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_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 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 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 spanbuf = basic_spanbuf<char>;using ispanstream = basic_ispanstream<char>;using ospanstream = basic_ospanstream<char>;using spanstream = basic_spanstream<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 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 wspanbuf = basic_spanbuf<wchar_t>;using wispanstream = basic_ispanstream<wchar_t>;using wospanstream = basic_ospanstream<wchar_t>;using wspanstream = basic_spanstream<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>;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>;}

Default template arguments are described as appearing both inand in the synopsis of other headers but it is well-formed to include bothand one or more of the other headers.258