Files
2025-10-25 03:02:53 +03:00

3.2 KiB
Raw Permalink Blame History

[iostream.forward.overview]

31 Input/output library [input.output]

31.3 Forward declarations [iostream.forward]

31.3.2 Overview [iostream.forward.overview]

1

#

The class template specializationbasic_ios<charT, traits> serves as a virtual base class for the class templatesbasic_istream,basic_ostream, and class templates derived from them.

basic_iostream is a class template derived from bothbasic_istream<charT, traits> andbasic_ostream<charT, traits>.

2

#

The class template specializationbasic_streambuf<charT, traits> serves as a base class for class templatesbasic_stringbuf,basic_filebuf, andbasic_syncbuf.

3

#

The class template specializationbasic_istream<charT, traits> serves as a base class for class templatesbasic_istringstream andbasic_ifstream.

4

#

The class template specializationbasic_ostream<charT, traits> serves as a base class for class templatesbasic_ostringstream,basic_ofstream, andbasic_osyncstream.

5

#

The class template specializationbasic_iostream<charT, traits> serves as a base class for class templatesbasic_stringstream andbasic_fstream.

6

#

[Note 1:

For each of the class templates above, the program is ill-formed iftraits::char_type is not the same type ascharT ([char.traits]).

— end note]

7

#

Other typedef-names define instances of class templates specialized forchar orwchar_t types.

8

#

Specializations of the class templatefpos are used for specifying file position information.

[Example 1:

The typesstreampos andwstreampos are used for positioning streams specialized onchar andwchar_t respectively.

— end example]

9

#

[Note 2:

This synopsis suggests a circularity betweenstreampos andchar_traits.

An implementation can avoid this circularity by substituting equivalent types.

— end note]