[iterators.general]
# 24 Iterators library [[iterators]](./#iterators)
## 24.1 General [iterators.general]
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L6)
This Clause describes components that C++ programs may use to perform
iterations over containers ([[containers]](containers "23 Containers library")),
streams ([[iostream.format]](iostream.format "31.7 Formatting and manipulators")),
stream buffers ([[stream.buffers]](stream.buffers "31.6 Stream buffers")),
and other ranges ([[ranges]](ranges "25 Ranges library"))[.](#1.sentence-1)
[2](#2)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L13)
The following subclauses describe
iterator requirements, and
components for
iterator primitives,
predefined iterators,
and stream iterators,
as summarized in Table [76](#tab:iterators.summary "Table 76: Iterators library summary")[.](#2.sentence-1)
Table [76](#tab:iterators.summary) — Iterators library summary [[tab:iterators.summary]](./tab:iterators.summary)
| [ð](#tab:iterators.summary-row-1) | **Subclause** | **Header** |
| --- | --- | --- |
| [ð](#tab:iterators.summary-row-2)
[[iterator.requirements]](iterator.requirements "24.3 Iterator requirements") | Iterator requirements | |
| [ð](#tab:iterators.summary-row-3)
[[iterator.primitives]](iterator.primitives "24.4 Iterator primitives") | Iterator primitives | |
| [ð](#tab:iterators.summary-row-4)
[[predef.iterators]](predef.iterators "24.5 Iterator adaptors") | Iterator adaptors | |
| [ð](#tab:iterators.summary-row-5)
[[stream.iterators]](stream.iterators "24.6 Stream iterators") | Stream iterators | |
| [ð](#tab:iterators.summary-row-6)
[[iterator.range]](iterator.range "24.7 Range access") | Range access | |