[input.output.general]

# 31 Input/output library [[input.output]](./#input.output)

## 31.1 General [input.output.general]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L6)

This Clause describes components that C++ programs may use to perform
input/output operations[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L10)

The following subclauses describe
requirements for stream parameters,
and components for
forward declarations of iostreams,
predefined iostreams objects,
base iostreams classes,
stream buffering,
stream formatting and manipulators,
string streams,
and file streams,
as summarized in Table [135](#tab:iostreams.summary "Table 135: Input/output library summary")[.](#2.sentence-1)

Table [135](#tab:iostreams.summary) — Input/output library summary [[tab:iostreams.summary]](./tab:iostreams.summary)  

| [ð](#tab:iostreams.summary-row-1) | **Subclause** | **Header** |
| --- | --- | --- |
| [ð](#tab:iostreams.summary-row-2)<br>[[iostreams.requirements]](iostreams.requirements "31.2 Iostreams requirements") | Requirements |  |
| [ð](#tab:iostreams.summary-row-3)<br>[[iostream.forward]](iostream.forward "31.3 Forward declarations") | Forward declarations | <iosfwd> |
| [ð](#tab:iostreams.summary-row-4)<br>[[iostream.objects]](iostream.objects "31.4 Standard iostream objects") | Standard iostream objects | <iostream> |
| [ð](#tab:iostreams.summary-row-5)<br>[[iostreams.base]](iostreams.base "31.5 Iostreams base classes") | Iostreams base classes | <ios> |
| [ð](#tab:iostreams.summary-row-6)<br>[[stream.buffers]](stream.buffers "31.6 Stream buffers") | Stream buffers | <streambuf> |
| [ð](#tab:iostreams.summary-row-7)<br>[[iostream.format]](iostream.format "31.7 Formatting and manipulators") | Formatting and manipulators | <istream>, <ostream>, <iomanip>, <print> |
| [ð](#tab:iostreams.summary-row-8)<br>[[string.streams]](string.streams "31.8 String-based streams") | String streams | <sstream> |
| [ð](#tab:iostreams.summary-row-9)<br>[[span.streams]](span.streams "31.9 Span-based streams") | Span-based streams | <spanstream> |
| [ð](#tab:iostreams.summary-row-10)<br>[[file.streams]](file.streams "31.10 File-based streams") | File streams | <fstream> |
| [ð](#tab:iostreams.summary-row-11)<br>[[syncstream]](syncstream "31.11 Synchronized output streams") | Synchronized output streams | <syncstream> |
| [ð](#tab:iostreams.summary-row-12)<br>[[filesystems]](filesystems "31.12 File systems") | File systems | <filesystem> |
| [ð](#tab:iostreams.summary-row-13)<br>[[c.files]](c.files "31.13 C library files") | C library files | <cstdio>, <cinttypes> |
